lavc: add lossy/lossless codec properties.
[ffmpeg.git] / doc / APIchanges
1 Never assume the API of libav* to be stable unless at least 1 month has passed
2 since the last major version increase.
3
4 The last version increases were:
5 libavcodec:    2012-01-27
6 libavdevice:   2011-04-18
7 libavfilter:   2012-06-22
8 libavformat:   2012-01-27
9 libavresample: 2012-04-24
10 libswscale:    2011-06-20
11 libavutil:     2011-04-18
12
13
14 API changes, most recent first:
15
16 2012-xx-xx - xxxxxxx - lavc 54.26.1 - avcodec.h
17   Add codec descriptor properties AV_CODEC_PROP_LOSSY and
18   AV_CODEC_PROP_LOSSLESS.
19
20 2012-08-18 - lavc 54.26 - avcodec.h
21   Add codec descriptors for accessing codec properties without having
22   to refer to a specific decoder or encoder.
23
24   c223d79 - Add an AVCodecDescriptor struct and functions
25             avcodec_descriptor_get() and avcodec_descriptor_next().
26   51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY.
27   91e59fe - Add avcodec_descriptor_get_by_name().
28
29
30 2012-08-08 - 1d9c2dc - lavu 51.39 - avutil.h
31   Don't implicitly include libavutil/common.h in avutil.h
32
33 2012-08-08 - 987170c - lavu 51.38 - dict.h
34   Add av_dict_count().
35
36 2012-08-07 - 104e10f - lavc 54.25 - avcodec.h
37   Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
38   To provide backwards compatibility, CodecID is now #defined as AVCodecID.
39   Note that this can break user code that includes avcodec.h and uses the
40   'CodecID' identifier. Such code should either #undef CodecID or stop using the
41   CodecID name.
42
43 2012-08-03 - 239fdf1 - lavu 51.37.1 - cpu.h
44                        lsws 2.1.1   - swscale.h
45   Rename AV_CPU_FLAG_MMX2  ---> AV_CPU_FLAG_MMXEXT.
46   Rename SWS_CPU_CAPS_MMX2 ---> SWS_CPU_CAPS_MMXEXT.
47
48 2012-07-29 - 681ed00 - lavf 54.13.0 - avformat.h
49   Add AVFMT_FLAG_NOBUFFER for low latency use cases.
50
51 2012-07-20 - b70d89a - lavfi 3.0.0 - avfilter.h
52   Add avfilter_unref_bufferp().
53
54 2012-07-10 - 5fade8a - lavu 51.37.0
55   Add av_malloc_array() and av_mallocz_array()
56
57 2012-06-22 - d3d3a32 - lavu 51.34.0
58   Add av_usleep()
59
60 2012-06-20 - ae0a301 - lavu 51.33.0
61   Move av_gettime() to libavutil, add libavutil/time.h
62
63 2012-06-09 - 3971be0 - lavr 0.0.3
64   Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing.
65
66 2012-06-12 - 9baeff9 - lavfi 2.23.0 - avfilter.h
67   Add AVFilterContext.nb_inputs/outputs. Deprecate
68   AVFilterContext.input/output_count.
69
70 2012-06-12 - 84b9fbe - lavfi 2.22.0 - avfilter.h
71   Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those
72   should now be used instead of accessing AVFilterPad members
73   directly.
74
75 2012-06-12 - b0f0dfc - lavu 51.32.0 - audioconvert.h
76   Add av_get_channel_layout_channel_index(), av_get_channel_name()
77   and av_channel_layout_extract_channel().
78
79 2012-05-25 - 154486f - lavu 51.31.0 - opt.h
80   Add av_opt_set_bin()
81
82 2012-05-26 - e9cef89 - lavf 54.3.0
83   Add AVFMT_TS_NONSTRICT format flag to indicate that a muxer supports
84   non-increasing monotone timestamps.
85
86 2012-05-15 - lavfi 2.17.0
87   Add support for audio filters
88   ac71230/a2cd9be - add video/audio buffer sink in a new installed
89                     header buffersink.h
90   720c6b7 - add av_buffersrc_write_frame(), deprecate
91             av_vsrc_buffer_add_frame()
92   ab16504 - add avfilter_copy_buf_props()
93   9453c9e - add extended_data to AVFilterBuffer
94   1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
95
96 2012-05-09 - lavu 51.30.0 - samplefmt.h
97   142e740 - add av_samples_copy()
98   6d7f617 - add av_samples_set_silence()
99
100 2012-05-09 - a5117a2 - lavc 54.13.1
101   For audio formats with fixed frame size, the last frame
102   no longer needs to be padded with silence, libavcodec
103   will handle this internally (effectively all encoders
104   behave as if they had CODEC_CAP_SMALL_LAST_FRAME set).
105
106 2012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h
107   Add sample_rate and channel_layout fields to AVFrame.
108
109 2012-05-01 - 4010d72 - lavr 0.0.1
110   Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.
111
112 2012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h
113   Add av_parse_cpu_flags()
114
115 2012-04-24 - c8af852 - lavr 0.0.0
116   Add libavresample audio conversion library
117
118 2012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h
119   Add audio FIFO functions:
120     av_audio_fifo_free()
121     av_audio_fifo_alloc()
122     av_audio_fifo_realloc()
123     av_audio_fifo_write()
124     av_audio_fifo_read()
125     av_audio_fifo_drain()
126     av_audio_fifo_reset()
127     av_audio_fifo_size()
128     av_audio_fifo_space()
129
130 2012-04-14 - lavfi 2.16.0 - avfiltergraph.h
131   d7bcc71 Add avfilter_graph_parse2().
132   91d3cbe Add avfilter_inout_alloc() and avfilter_inout_free().
133
134 2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
135   Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
136
137 2012-04-05 - 5cc51a5 - lavu 51.26.0 - audioconvert.h
138   Add av_get_default_channel_layout()
139
140 2012-03-06 - 4d851f8 - lavu 51.25.0 - cpu.h
141   Add av_set_cpu_flags_mask().
142
143 2012-03-05 - lavc 54.8.0
144   6699d07 Add av_get_exact_bits_per_sample()
145   9524cf7 Add av_get_audio_frame_duration()
146
147 2012-03-04 - 44fe77b - lavc 54.7.0 - avcodec.h
148   Add av_codec_is_encoder/decoder().
149
150 2012-03-01 - 442c132 - lavc 54.3.0 - avcodec.h
151   Add av_packet_shrink_side_data.
152
153 2012-02-29 - dd2a4bc - lavf 54.2.0 - avformat.h
154   Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
155   used for dealing with attached pictures/cover art.
156
157 2012-02-25 - c9bca80 - lavu 51.24.0 - error.h
158   Add AVERROR_UNKNOWN
159   NOTE: this was backported to 0.8
160
161 2012-02-20 - e9cda85 - lavc 54.2.0
162   Add duration field to AVCodecParserContext
163
164 2012-02-20 - 0b42a93 - lavu 51.23.1 - mathematics.h
165   Add av_rescale_q_rnd()
166
167 2012-02-08 - 38d5533 - lavu 51.22.1 - pixdesc.h
168   Add PIX_FMT_PSEUDOPAL flag.
169
170 2012-02-08 - 52f82a1 - lavc 54.01.0
171   Add avcodec_encode_video2() and deprecate avcodec_encode_video().
172
173 2012-02-01 - 316fc74 - lavc 54.01.0
174   Add av_fast_padded_malloc() as alternative for av_realloc() when aligned
175   memory is required. The buffer will always have FF_INPUT_BUFFER_PADDING_SIZE
176   zero-padded bytes at the end.
177
178 2012-01-31 - dd6d3b0 - lavf 54.01.0
179   Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
180   NOTE: this was backported to 0.8
181
182 2012-01-31 - af08d9a - lavc 54.01.0
183   Add avcodec_is_open() function.
184   NOTE: this was backported to 0.8
185
186 2012-01-30 - 8b93312 - lavu 51.22.0 - intfloat.h
187   Add a new installed header libavutil/intfloat.h with int/float punning
188   functions.
189   NOTE: this was backported to 0.8
190
191 2012-01-25 - lavf 53.22.0
192   f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
193           buffered data within a muxer. Added AVFMT_ALLOW_FLUSH for
194           muxers supporting it (av_write_frame makes sure it is called
195           only for muxers with this flag).
196
197 ------------------------------8<-------------------------------------
198                    0.8 branch was cut here
199 ----------------------------->8--------------------------------------
200
201 2012-01-15 - lavc 53.34.0
202   New audio encoding API:
203   b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
204           encoders.
205   5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
206   b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
207           Add AVCodec.encode2().
208
209 2012-01-12 - 3167dc9 - lavfi 2.15.0
210   Add a new installed header -- libavfilter/version.h -- with version macros.
211
212 2011-01-03 - b73ec05 - lavu 51.21.0
213   Add av_popcount64
214
215 2011-12-25 - lavfi 2.14.0
216   e1d9dbf Add a new installed header - buffersrc.h
217   It contains a new function av_buffersrc_buffer() that allows passing
218   frames to the 'buffer' filter, but unlike av_vsrc_buffer_add_frame()
219   it allows for direct rendering.
220   1c9e340 Add avfilter_copy_frame_props() for copying properties from
221   AVFrame to AVFilterBufferRef.
222
223 2011-12-25 - lavc 53.31.0
224   Add the following new fields to AVFrame:
225     b58dbb5 sample_aspect_ratio
226     3a2ddf7 width, height
227     8a4a5f6 format
228
229 2011-12-18 - 8400b12 - lavc 53.28.1
230   Deprecate AVFrame.age. The field is unused.
231
232 2011-12-12 - 5266045 - lavf 53.17.0
233   Add avformat_close_input().
234   Deprecate av_close_input_file() and av_close_input_stream().
235
236 2011-12-02 - 0eea212 - lavc 53.25.0
237   Add nb_samples and extended_data fields to AVFrame.
238   Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE.
239   Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4().
240   avcodec_decode_audio4() writes output samples to an AVFrame, which allows
241   audio decoders to use get_buffer().
242
243 2011-12-04 - 560f773 - lavc 53.24.0
244   Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump.
245   Change AVPicture.data[4]/linesize[4] to [8] at next major bump.
246   Change AVCodecContext.error[4] to [8] at next major bump.
247   Add AV_NUM_DATA_POINTERS to simplify the bump transition.
248
249 2011-11-23 - bbb46f3 - lavu 51.18.0
250   Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and
251   av_samples_alloc(), to samplefmt.h.
252
253 2011-11-23 - 8889cc4 - lavu 51.17.0
254   Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.
255
256 2011-11-19 - f3a29b7 - lavc 53.21.0
257   Move some AVCodecContext fields to a new private struct, AVCodecInternal,
258   which is accessed from a new field, AVCodecContext.internal.
259   - fields moved:
260       AVCodecContext.internal_buffer       --> AVCodecInternal.buffer
261       AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
262       AVCodecContext.is_copy               --> AVCodecInternal.is_copy
263
264 2011-11-16 - 6270671 - lavu 51.16.0
265   Add av_timegm()
266
267 2011-11-13 - lavf 53.15.0
268   New interrupt callback API, allowing per-AVFormatContext/AVIOContext
269   interrupt callbacks.
270   6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
271           AVFormatContext.
272   1dee0ac Add avio_open2() with additional parameters. Those are
273           an interrupt callback and an options AVDictionary.
274           This will allow passing AVOptions to protocols after lavf
275           54.0.
276
277 2011-11-06 - ba04ecf - lavu 51.14.0
278   Add av_strcasecmp() and av_strncasecmp() to avstring.h.
279
280 2011-11-06 - 07b172f - lavu 51.13.0
281   Add av_toupper()/av_tolower()
282
283 2011-11-05 - b6d08f4 - lavf 53.13.0
284   Add avformat_network_init()/avformat_network_deinit()
285
286 2011-10-27 - 512557b - lavc 53.15.0
287   Remove avcodec_parse_frame.
288   Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY.
289
290 2011-10-19 - 569129a - lavf 53.10.0
291   Add avformat_new_stream(). Deprecate av_new_stream().
292
293 2011-10-13 - b631fba - lavf 53.9.0
294   Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.
295
296 2011-10-12 - lavu 51.12.0
297   AVOptions API rewrite.
298
299   - 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
300   - new setting/getting functions with slightly different semantics:
301         dac66da av_set_string3 -> av_opt_set
302                 av_set_double  -> av_opt_set_double
303                 av_set_q       -> av_opt_set_q
304                 av_set_int     -> av_opt_set_int
305
306         41d9d51 av_get_string  -> av_opt_get
307                 av_get_double  -> av_opt_get_double
308                 av_get_q       -> av_opt_get_q
309                 av_get_int     -> av_opt_get_int
310
311   - 8c5dcaa trivial rename av_next_option -> av_opt_next
312   - 641c7af new functions - av_opt_child_next, av_opt_child_class_next
313     and av_opt_find2()
314
315 2011-09-03 - fb4ca26 - lavc 53.10.0
316                        lavf 53.6.0
317                        lsws  2.1.0
318   Add {avcodec,avformat,sws}_get_class().
319
320 2011-09-03 - c11fb82 - lavu 51.10.0
321   Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function.
322
323 2011-08-26 - lavu 51.9.0
324   - f2011ed Add av_fifo_peek2(), deprecate av_fifo_peek().
325   - add41de..abc78a5 Do not include intfloat_readwrite.h,
326     mathematics.h, rational.h, pixfmt.h, or log.h from avutil.h.
327
328 2011-08-16 - 48f9e45 - lavf 53.4.0
329   Add avformat_query_codec().
330
331 2011-08-16 - bca06e7 - lavc 53.8.0
332   Add avcodec_get_type().
333
334 2011-08-06 - 2f63440 - lavf 53.4.0
335   Add error_recognition to AVFormatContext.
336
337 2011-08-02 - 9d39cbf - lavc 53.7.1
338   Add AV_PKT_FLAG_CORRUPT AVPacket flag.
339
340 2011-07-10 - a67c061 - lavf 53.3.0
341   Add avformat_find_stream_info(), deprecate av_find_stream_info().
342   NOTE: this was backported to 0.7
343
344 2011-07-10 - 0b950fe - lavc 53.6.0
345   Add avcodec_open2(), deprecate avcodec_open().
346   NOTE: this was backported to 0.7
347
348   Add avcodec_alloc_context3. Deprecate avcodec_alloc_context() and
349   avcodec_alloc_context2().
350
351 2011-06-23 - 67e9ae1 - lavu 51.8.0 - attributes.h
352   Add av_printf_format().
353
354 ------------------------------8<-------------------------------------
355                    0.7 branch was cut here
356 ----------------------------->8--------------------------------------
357
358 2011-06-16 - 05e84c9, 25de595 - lavf 53.2.0 - avformat.h
359   Add avformat_open_input and avformat_write_header().
360   Deprecate av_open_input_stream, av_open_input_file,
361   AVFormatParameters and av_write_header.
362
363 2011-06-16 - 7e83e1c, dc59ec5 - lavu 51.7.0 - opt.h
364   Add av_opt_set_dict() and av_opt_find().
365   Deprecate av_find_opt().
366   Add AV_DICT_APPEND flag.
367
368 2011-06-10 - cb7c11c - lavu 51.6.0 - opt.h
369   Add av_opt_flag_is_set().
370
371 2011-06-08 - d9f80ea - lavu 51.5.0 - AVMetadata
372   Move AVMetadata from lavf to lavu and rename it to
373   AVDictionary -- new installed header dict.h.
374   All av_metadata_* functions renamed to av_dict_*.
375
376 2011-06-07 - a6703fa - lavu 51.4.0 - av_get_bytes_per_sample()
377   Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
378   Deprecate av_get_bits_per_sample_fmt().
379
380 2011-06-05 - b39b062 - lavu 51.3.0 - opt.h
381   Add av_opt_free convenience function.
382
383 2011-05-28 - 0420bd7 - lavu 51.2.0 - pixdesc.h
384   Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
385   avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.
386
387 2011-05-25 - 30315a8 - lavf 53.1.0 - avformat.h
388   Add fps_probe_size to AVFormatContext.
389
390 2011-05-18 - 64150ff - lavc 53.4.0 - AVCodecContext.request_sample_fmt
391   Add request_sample_fmt field to AVCodecContext.
392
393 2011-05-10 - 188dea1 - lavc 53.3.0 - avcodec.h
394   Deprecate AVLPCType and the following fields in
395   AVCodecContext: lpc_coeff_precision, prediction_order_method,
396   min_partition_order, max_partition_order, lpc_type, lpc_passes.
397   Corresponding FLAC encoder options should be used instead.
398
399 2011-04-26 - bebe72f - lavu 51.1.0 - avutil.h
400   Add AVPictureType enum and av_get_picture_type_char(), deprecate
401   FF_*_TYPE defines and av_get_pict_type_char() defined in
402   libavcodec/avcodec.h.
403
404 2011-04-26 - 10d3940 - lavfi 2.3.0 - avfilter.h
405   Add pict_type and key_frame fields to AVFilterBufferRefVideo.
406
407 2011-04-26 - 7a11c82 - lavfi 2.2.0 - vsrc_buffer
408   Add sample_aspect_ratio fields to vsrc_buffer arguments
409
410 2011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h
411   Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.
412
413 2011-04-15 - lavc 52.120.0 - avcodec.h
414   AVPacket structure got additional members for passing side information:
415     4de339e introduce side information for AVPacket
416     2d8591c make containers pass palette change in AVPacket
417
418 2011-04-12 - lavf 52.107.0 - avio.h
419   Avio cleanup, part II - deprecate the entire URLContext API:
420     175389c add avio_check as a replacement for url_exist
421     ff1ec0c add avio_pause and avio_seek_time as replacements
422             for _av_url_read_fseek/fpause
423     cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
424             should be used instead.
425     80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
426     f87b1b3 rename open flags: URL_* -> AVIO_*
427     f8270bb add avio_enum_protocols.
428     5593f03 deprecate URLProtocol.
429     c486dad deprecate URLContext.
430     026e175 deprecate the typedef for URLInterruptCB
431     8e76a19 deprecate av_register_protocol2.
432     b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
433     1305d93 deprecate av_url_read_seek
434     fa104e1 deprecate av_url_read_pause
435     727c7aa deprecate url_get_filename().
436     5958df3 deprecate url_max_packet_size().
437     1869ea0 deprecate url_get_file_handle().
438     32a97d4 deprecate url_filesize().
439     e52a914 deprecate url_close().
440     58a48c6 deprecate url_seek().
441     925e908 deprecate url_write().
442     dce3756 deprecate url_read_complete().
443     bc371ac deprecate url_read().
444     0589da0 deprecate url_open().
445     62eaaea deprecate url_connect.
446     5652bb9 deprecate url_alloc.
447     333e894 deprecate url_open_protocol
448     e230705 deprecate url_poll and URLPollEntry
449
450 2011-04-10 - lavu  50.40.0 - pixfmt.h
451   Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
452
453 2011-04-08 - lavf 52.106.0 - avformat.h
454   Minor avformat.h cleanup:
455     a9bf9d8 deprecate av_guess_image2_codec
456     c3675df rename avf_sdp_create->av_sdp_create
457
458 2011-04-03 - lavf 52.105.0 - avio.h
459   Large-scale renaming/deprecating of AVIOContext-related functions:
460     724f6a0 deprecate url_fdopen
461     403ee83 deprecate url_open_dyn_packet_buf
462     6dc7d80 rename url_close_dyn_buf       -> avio_close_dyn_buf
463     b92c545 rename url_open_dyn_buf        -> avio_open_dyn_buf
464     8978fed introduce an AVIOContext.seekable field as a replacement for
465             AVIOContext.is_streamed and url_is_streamed()
466     b64030f deprecate get_checksum()
467     4c4427a deprecate init_checksum()
468     4ec153b deprecate udp_set_remote_url/get_local_port
469     933e90a deprecate av_url_read_fseek/fpause
470     8d9769a deprecate url_fileno
471     b7f2fdd rename put_flush_packet -> avio_flush
472     35f1023 deprecate url_close_buf
473     83fddae deprecate url_open_buf
474     d9d86e0 rename url_fprintf -> avio_printf
475     59f65d9 deprecate url_setbufsize
476     3e68b3b deprecate url_ferror
477     66e5b1d deprecate url_feof
478     e8bb2e2 deprecate url_fget_max_packet_size
479     76aa876 rename url_fsize -> avio_size
480     e519753 deprecate url_fgetc
481     655e45e deprecate url_fgets
482     a2704c9 rename url_ftell -> avio_tell
483     e16ead0 deprecate get_strz() in favor of avio_get_str
484     0300db8,2af07d3 rename url_fskip -> avio_skip
485     6b4aa5d rename url_fseek -> avio_seek
486     61840b4 deprecate put_tag
487     22a3212 rename url_fopen/fclose -> avio_open/close.
488     0ac8e2b deprecate put_nbyte
489     77eb550 rename put_byte          -> avio_w8
490                    put_[b/l]e<type>  -> avio_w[b/l]<type>
491                    put_buffer        -> avio_write
492     b7effd4 rename get_byte          -> avio_r8,
493                    get_[b/l]e<type>  -> avio_r[b/l]<type>
494                    get_buffer        -> avio_read
495     b3db9ce deprecate get_partial_buffer
496     8d9ac96 rename av_alloc_put_byte -> avio_alloc_context
497
498 2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
499   Add audio_service_type field to AVCodecContext.
500
501 2011-03-02 - 863c471 - lavf  52.103.0 - av_pkt_dump2, av_pkt_dump_log2
502   Add new functions av_pkt_dump2, av_pkt_dump_log2 that uses the
503   source stream timebase for outputting timestamps. Deprecate
504   av_pkt_dump and av_pkt_dump_log.
505
506 2011-02-20 - e731b8d - lavf  52.102.0 - avio.h
507   * e731b8d - rename init_put_byte() to ffio_init_context(), deprecating the
508               original, and move it to a private header so it is no longer
509               part of our public API. Instead, use av_alloc_put_byte().
510   * ae628ec - rename ByteIOContext to AVIOContext.
511
512 2011-02-16 - 09d171b - lavf  52.101.0 - avformat.h
513                        lavu  52.39.0  - parseutils.h
514   * 610219a - Add av_ prefix to dump_format().
515   * f6c7375 - Replace parse_date() in lavf with av_parse_time() in lavu.
516   * ab0287f - Move find_info_tag from lavf to lavu and add av_prefix to it.
517
518 2011-02-15 - lavu 52.38.0 - merge libavcore
519   libavcore is merged back completely into libavutil
520
521 2011-02-10 - 55bad0c - lavc 52.113.0 - vbv_delay
522   Add vbv_delay field to AVCodecContext
523
524 2011-02-14 - 24a83bd - lavf 52.100.0 - AV_DISPOSITION_CLEAN_EFFECTS
525   Add AV_DISPOSITION_CLEAN_EFFECTS disposition flag.
526
527 2011-02-14 - 910b5b8 - lavfi 1.76.0 - AVFilterLink sample_aspect_ratio
528   Add sample_aspect_ratio field to AVFilterLink.
529
530 2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
531   Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.
532
533 2011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init()
534   Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
535   set thread_count before calling avcodec_open.
536
537 2011-02-09 - 778b08a - lavc 52.111.0 - threading API
538   Add CODEC_CAP_FRAME_THREADS with new restrictions on get_buffer()/
539   release_buffer()/draw_horiz_band() callbacks for appropriate codecs.
540   Add thread_type and active_thread_type fields to AVCodecContext.
541
542 2011-02-08 - 3940caa - lavf 52.98.0 - av_probe_input_buffer
543   Add av_probe_input_buffer() to avformat.h for probing format from a
544   ByteIOContext.
545
546 2011-02-06 - fe174fc - lavf 52.97.0 - avio.h
547   Add flag for non-blocking protocols: URL_FLAG_NONBLOCK
548
549 2011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context()
550   Add avformat_free_context() in avformat.h.
551
552 2011-02-03 - f5b82f4 - lavc 52.109.0 - add CODEC_ID_PRORES
553   Add CODEC_ID_PRORES to avcodec.h.
554
555 2011-02-03 - fe9a3fb - lavc 52.109.0 - H.264 profile defines
556   Add defines for H.264 * Constrained Baseline and Intra profiles
557
558 2011-02-02 - lavf 52.95.0
559   * 50196a9 - add a new installed header version.h.
560   * 4efd5cf, dccbd97, 93b78d1 - add several variants of public
561     avio_{put,get}_str* functions.  Deprecate corresponding semi-public
562     {put,get}_str*.
563
564 2011-02-02 - dfd2a00 - lavu 50.37.0 - log.h
565   Make av_dlog public.
566
567 2011-01-15 - a242ac3 - lavfi 1.74.0 - AVFilterBufferRefAudioProps
568   Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.
569
570 2011-01-14 - 7f88a5b - lavf 52.93.0 - av_metadata_copy()
571   Add av_metadata_copy() in avformat.h.
572
573 2011-01-07 - 81c623f - lavc 52.107.0 - deprecate reordered_opaque
574   Deprecate reordered_opaque in favor of pkt_pts/dts.
575
576 2011-01-07 - 1919fea - lavc 52.106.0 - pkt_dts
577   Add pkt_dts to AVFrame, this will in the future allow multithreading decoders
578   to not mess up dts.
579
580 2011-01-07 - 393cbb9 - lavc 52.105.0 - pkt_pts
581   Add pkt_pts to AVFrame.
582
583 2011-01-07 - 060ec0a - lavc 52.104.0 - av_get_profile_name()
584   Add av_get_profile_name to libavcodec/avcodec.h.
585
586 2010-12-27 - 0ccabee - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES
587   Add AV_PERM_NEG_LINESIZES in avfilter.h.
588
589 2010-12-27 - 9128ae0 - lavf 52.91.0 - av_find_best_stream()
590   Add av_find_best_stream to libavformat/avformat.h.
591
592 2010-12-27 - 107a7e3 - lavf 52.90.0
593   Add AVFMT_NOSTREAMS flag for formats with no streams,
594   like e.g. text metadata.
595
596 2010-12-22 - 0328b9e - lavu 50.36.0 - file.h
597   Add functions av_file_map() and av_file_unmap() in file.h.
598
599 2010-12-19 - 0bc55f5 - lavu 50.35.0 - error.h
600   Add "not found" error codes:
601   AVERROR_DEMUXER_NOT_FOUND
602   AVERROR_MUXER_NOT_FOUND
603   AVERROR_DECODER_NOT_FOUND
604   AVERROR_ENCODER_NOT_FOUND
605   AVERROR_PROTOCOL_NOT_FOUND
606   AVERROR_FILTER_NOT_FOUND
607   AVERROR_BSF_NOT_FOUND
608   AVERROR_STREAM_NOT_FOUND
609
610 2010-12-09 - c61cdd0 - lavcore 0.16.0 - avcore.h
611   Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from
612   avcodec.h to avcore.h.
613
614 2010-12-04 - 16cfc96 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES
615   Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h.
616
617 2010-12-04 - bb4afa1 - lavu 50.34.0 - av_get_pix_fmt_string()
618   Deprecate avcodec_pix_fmt_string() in favor of
619   pixdesc.h/av_get_pix_fmt_string().
620
621 2010-12-04 - 4da12e3 - lavcore 0.15.0 - av_image_alloc()
622   Add av_image_alloc() to libavcore/imgutils.h.
623
624 2010-12-02 - 037be76 - lavfi 1.67.0 - avfilter_graph_create_filter()
625   Add function avfilter_graph_create_filter() in avfiltergraph.h.
626
627 2010-11-25 - 4723bc2 - lavfi 1.65.0 - avfilter_get_video_buffer_ref_from_arrays()
628   Add function avfilter_get_video_buffer_ref_from_arrays() in
629   avfilter.h.
630
631 2010-11-21 - 176a615 - lavcore 0.14.0 - audioconvert.h
632   Add a public audio channel API in audioconvert.h, and deprecate the
633   corresponding functions in libavcodec:
634   avcodec_get_channel_name()
635   avcodec_get_channel_layout()
636   avcodec_get_channel_layout_string()
637   avcodec_channel_layout_num_channels()
638   and the CH_* macros defined in libavcodec/avcodec.h.
639
640 2010-11-21 - 6bfc268 - lavf 52.85.0 - avformat.h
641   Add av_append_packet().
642
643 2010-11-21 - a08d918 - lavc 52.97.0 - avcodec.h
644   Add av_grow_packet().
645
646 2010-11-17 - 0985e1a - lavcore 0.13.0 - parseutils.h
647   Add av_parse_color() declared in libavcore/parseutils.h.
648
649 2010-11-13 - cb2c971 - lavc 52.95.0 - AVCodecContext
650   Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size
651   fields.
652
653 2010-11-13 - 5aaea02 - lavfi 1.62.0 - avfiltergraph.h
654   Make avfiltergraph.h public.
655
656 2010-11-13 - 4fcbb2a - lavfi 1.61.0 - avfiltergraph.h
657   Remove declarations from avfiltergraph.h for the functions:
658   avfilter_graph_check_validity()
659   avfilter_graph_config_links()
660   avfilter_graph_config_formats()
661   which are now internal.
662   Use avfilter_graph_config() instead.
663
664 2010-11-08 - d2af720 - lavu 50.33.0 - eval.h
665   Deprecate functions:
666   av_parse_and_eval_expr(),
667   av_parse_expr(),
668   av_eval_expr(),
669   av_free_expr(),
670   in favor of the functions:
671   av_expr_parse_and_eval(),
672   av_expr_parse(),
673   av_expr_eval(),
674   av_expr_free().
675
676 2010-11-08 - 24de0ed - lavfi 1.59.0 - avfilter_free()
677   Rename avfilter_destroy() to avfilter_free().
678   This change breaks libavfilter API/ABI.
679
680 2010-11-07 - 1e80a0e - lavfi 1.58.0 - avfiltergraph.h
681   Remove graphparser.h header, move AVFilterInOut and
682   avfilter_graph_parse() declarations to libavfilter/avfiltergraph.h.
683
684 2010-11-07 - 7313132 - lavfi 1.57.0 - AVFilterInOut
685   Rename field AVFilterInOut.filter to AVFilterInOut.filter_ctx.
686   This change breaks libavfilter API.
687
688 2010-11-04 - 97dd1e4 - lavfi 1.56.0 - avfilter_graph_free()
689   Rename avfilter_graph_destroy() to avfilter_graph_free().
690   This change breaks libavfilter API/ABI.
691
692 2010-11-04 - e15aeea - lavfi 1.55.0 - avfilter_graph_alloc()
693   Add avfilter_graph_alloc() to libavfilter/avfiltergraph.h.
694
695 2010-11-02 - 6f84cd1 - lavcore 0.12.0 - av_get_bits_per_sample_fmt()
696   Add av_get_bits_per_sample_fmt() to libavcore/samplefmt.h and
697   deprecate av_get_bits_per_sample_format().
698
699 2010-11-02 - d63e456 - lavcore 0.11.0 - samplefmt.h
700   Add sample format functions in libavcore/samplefmt.h:
701   av_get_sample_fmt_name(),
702   av_get_sample_fmt(),
703   av_get_sample_fmt_string(),
704   and deprecate the corresponding libavcodec/audioconvert.h functions:
705   avcodec_get_sample_fmt_name(),
706   avcodec_get_sample_fmt(),
707   avcodec_sample_fmt_string().
708
709 2010-11-02 - 262d1c5 - lavcore 0.10.0 - samplefmt.h
710   Define enum AVSampleFormat in libavcore/samplefmt.h, deprecate enum
711   SampleFormat.
712
713 2010-10-16 - 2a24df9 - lavfi 1.52.0 - avfilter_graph_config()
714   Add the function avfilter_graph_config() in avfiltergraph.h.
715
716 2010-10-15 - 03700d3 - lavf 52.83.0 - metadata API
717   Change demuxers to export metadata in generic format and
718   muxers to accept generic format. Deprecate the public
719   conversion API.
720
721 2010-10-10 - 867ae7a - lavfi 1.49.0 - AVFilterLink.time_base
722   Add time_base field to AVFilterLink.
723
724 2010-09-27 - c85eef4 - lavu 50.31.0 - av_set_options_string()
725   Move av_set_options_string() from libavfilter/parseutils.h to
726   libavutil/opt.h.
727
728 2010-09-27 - acc0490 - lavfi 1.47.0 - AVFilterLink
729   Make the AVFilterLink fields srcpad and dstpad store the pointers to
730   the source and destination pads, rather than their indexes.
731
732 2010-09-27 - 372e288 - lavu 50.30.0 - av_get_token()
733   Move av_get_token() from libavfilter/parseutils.h to
734   libavutil/avstring.h.
735
736 2010-09-26 - 635d4ae - lsws 0.12.0 - swscale.h
737   Add the functions sws_alloc_context() and sws_init_context().
738
739 2010-09-26 - 6ed0404 - lavu 50.29.0 - opt.h
740   Move libavcodec/opt.h to libavutil/opt.h.
741
742 2010-09-24 - 1c1c80f - lavu 50.28.0 - av_log_set_flags()
743   Default of av_log() changed due to many problems to the old no repeat
744   detection. Read the docs of AV_LOG_SKIP_REPEATED in log.h before
745   enabling it for your app!.
746
747 2010-09-24 - f66eb58 - lavc 52.90.0 - av_opt_show2()
748   Deprecate av_opt_show() in favor or av_opt_show2().
749
750 2010-09-14 - bc6f0af - lavu 50.27.0 - av_popcount()
751   Add av_popcount() to libavutil/common.h.
752
753 2010-09-08 - c6c98d0 - lavu 50.26.0 - av_get_cpu_flags()
754   Add av_get_cpu_flags().
755
756 2010-09-07 - 34017fd - lavcore 0.9.0 - av_image_copy()
757   Add av_image_copy().
758
759 2010-09-07 - 9686abb - lavcore 0.8.0 - av_image_copy_plane()
760   Add av_image_copy_plane().
761
762 2010-09-07 - 9b7269e - lavcore 0.7.0 - imgutils.h
763   Adopt hierarchical scheme for the imgutils.h function names,
764   deprecate the old names.
765
766 2010-09-04 - 7160bb7 - lavu 50.25.0 - AV_CPU_FLAG_*
767   Deprecate the FF_MM_* flags defined in libavcodec/avcodec.h in favor
768   of the AV_CPU_FLAG_* flags defined in libavutil/cpu.h.
769
770 2010-08-26 - 5da19b5 - lavc 52.87.0 - avcodec_get_channel_layout()
771   Add avcodec_get_channel_layout() in audioconvert.h.
772
773 2010-08-20 - e344336 - lavcore 0.6.0 - av_fill_image_max_pixsteps()
774   Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps().
775
776 2010-08-18 - a6ddf8b - lavcore 0.5.0 - av_fill_image_max_pixstep()
777   Add av_fill_image_max_pixstep() in imgutils.h.
778
779 2010-08-17 - 4f2d2e4 - lavu 50.24.0 - AV_NE()
780   Add the AV_NE macro.
781
782 2010-08-17 - ad2c950 - lavfi 1.36.0 - audio framework
783   Implement AVFilterBufferRefAudioProps struct for audio properties,
784   get_audio_buffer(), filter_samples() functions and related changes.
785
786 2010-08-12 - 81c1eca - lavcore 0.4.0 - av_get_image_linesize()
787   Add av_get_image_linesize() in imgutils.h.
788
789 2010-08-11 - c1db7bf - lavfi 1.34.0 - AVFilterBufferRef
790   Resize data and linesize arrays in AVFilterBufferRef to 8.
791
792   This change breaks libavfilter API/ABI.
793
794 2010-08-11 - 9f08d80 - lavc 52.85.0 - av_picture_data_copy()
795   Add av_picture_data_copy in avcodec.h.
796
797 2010-08-11 - 84c0386 - lavfi 1.33.0 - avfilter_open()
798   Change avfilter_open() signature:
799   AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) ->
800   int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);
801
802   This change breaks libavfilter API/ABI.
803
804 2010-08-11 - cc80caf - lavfi 1.32.0 - AVFilterBufferRef
805   Add a type field to AVFilterBufferRef, and move video specific
806   properties to AVFilterBufferRefVideoProps.
807
808   This change breaks libavfilter API/ABI.
809
810 2010-08-07 - 5d4890d - lavfi 1.31.0 - AVFilterLink
811   Rename AVFilterLink fields:
812   AVFilterLink.srcpic    ->  AVFilterLink.src_buf
813   AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
814   AVFilterLink.outpic    ->  AVFilterLink.out_buf
815
816 2010-08-07 - 7fce481 - lavfi 1.30.0
817   Rename functions and fields:
818   avfilter_(un)ref_pic       -> avfilter_(un)ref_buffer
819   avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
820   AVFilterBufferRef.pic      -> AVFilterBufferRef.buffer
821
822 2010-08-07 - ecc8dad - lavfi 1.29.0 - AVFilterBufferRef
823   Rename AVFilterPicRef to AVFilterBufferRef.
824
825 2010-08-07 - d54e094 - lavfi 1.28.0 - AVFilterBuffer
826   Move format field from AVFilterBuffer to AVFilterPicRef.
827
828 2010-08-06 - bf176f5 - lavcore 0.3.0 - av_check_image_size()
829   Deprecate avcodec_check_dimensions() in favor of the function
830   av_check_image_size() defined in libavcore/imgutils.h.
831
832 2010-07-30 - 56b5e9d - lavfi 1.27.0 - AVFilterBuffer
833   Increase size of the arrays AVFilterBuffer.data and
834   AVFilterBuffer.linesize from 4 to 8.
835
836   This change breaks libavfilter ABI.
837
838 2010-07-29 - e7bd48a - lavcore 0.2.0 - imgutils.h
839   Add functions av_fill_image_linesizes() and
840   av_fill_image_pointers(), declared in libavcore/imgutils.h.
841
842 2010-07-27 - 126b638 - lavcore 0.1.0 - parseutils.h
843   Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
844   defined in libavcodec in favor of the newly added functions
845   av_parse_video_size() and av_parse_video_rate() declared in
846   libavcore/parseutils.h.
847
848 2010-07-23 - 4485247 - lavu 50.23.0 - mathematics.h
849   Add the M_PHI constant definition.
850
851 2010-07-22 - bdab614 - lavfi 1.26.0 - media format generalization
852   Add a type field to AVFilterLink.
853
854   Change the field types:
855   enum PixelFormat format   -> int format   in AVFilterBuffer
856   enum PixelFormat *formats -> int *formats in AVFilterFormats
857   enum PixelFormat *format  -> int format   in AVFilterLink
858
859   Change the function signatures:
860   AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
861   AVFilterFormats *avfilter_make_format_list(const int *fmts);
862
863   int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
864   int avfilter_add_format    (AVFilterFormats **avff, int fmt);
865
866   AVFilterFormats *avfilter_all_colorspaces(void); ->
867   AVFilterFormats *avfilter_all_formats    (enum AVMediaType type);
868
869   This change breaks libavfilter API/ABI.
870
871 2010-07-21 - aac6ca6 - lavcore 0.0.0
872   Add libavcore.
873
874 2010-07-17 - b5c582f - lavfi 1.25.0 - AVFilterBuffer
875   Remove w and h fields from AVFilterBuffer.
876
877 2010-07-17 - f0d77b2 - lavfi 1.24.0 - AVFilterBuffer
878   Rename AVFilterPic to AVFilterBuffer.
879
880 2010-07-17 - 57fe80f - lavf 52.74.0 - url_fskip()
881   Make url_fskip() return an int error code instead of void.
882
883 2010-07-11 - 23940f1 - lavc 52.83.0
884   Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields.
885   Add AVLPCType enum.
886   Deprecate AVCodecContext.use_lpc.
887
888 2010-07-11 - e1d7c88 - lavc 52.82.0 - avsubtitle_free()
889   Add a function for free the contents of a AVSubtitle generated by
890   avcodec_decode_subtitle.
891
892 2010-07-11 - b91d08f - lavu 50.22.0 - bswap.h and intreadwrite.h
893   Make the bswap.h and intreadwrite.h API public.
894
895 2010-07-08 - ce1cd1c - lavu 50.21.0 - pixdesc.h
896   Rename read/write_line() to av_read/write_image_line().
897
898 2010-07-07 - 4d508e4 - lavfi 1.21.0 - avfilter_copy_picref_props()
899   Add avfilter_copy_picref_props().
900
901 2010-07-03 - 2d525ef - lavc 52.79.0
902   Add FF_COMPLIANCE_UNOFFICIAL and change all instances of
903   FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL.
904
905 2010-07-02 - 89eec74 - lavu 50.20.0 - lfg.h
906   Export av_lfg_init(), av_lfg_get(), av_mlfg_get(), and av_bmg_get() through
907   lfg.h.
908
909 2010-06-28 - a52e2c3 - lavfi 1.20.1 - av_parse_color()
910   Extend av_parse_color() syntax, make it accept an alpha value specifier and
911   set the alpha value to 255 by default.
912
913 2010-06-22 - 735cf6b - lavf 52.71.0 - URLProtocol.priv_data_size, priv_data_class
914   Add priv_data_size and priv_data_class to URLProtocol.
915
916 2010-06-22 - ffbb289 - lavf 52.70.0 - url_alloc(), url_connect()
917   Add url_alloc() and url_connect().
918
919 2010-06-22 - 9b07a2d - lavf 52.69.0 - av_register_protocol2()
920   Add av_register_protocol2(), deprecating av_register_protocol().
921
922 2010-06-09 - 65db058 - lavu 50.19.0 - av_compare_mod()
923   Add av_compare_mod() to libavutil/mathematics.h.
924
925 2010-06-05 - 0b99215 - lavu 50.18.0 - eval API
926   Make the eval API public.
927
928 2010-06-04 - 31878fc - lavu 50.17.0 - AV_BASE64_SIZE
929   Add AV_BASE64_SIZE() macro.
930
931 2010-06-02 - 7e566bb - lavc 52.73.0 - av_get_codec_tag_string()
932   Add av_get_codec_tag_string().
933
934 2010-06-01 - 2b99142 - lsws 0.11.0 - convertPalette API
935   Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24().
936
937 2010-05-26 - 93ebfee - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
938   Add CODEC_CAP_EXPERIMENTAL flag.
939   NOTE: this was backported to 0.6
940
941 2010-05-23 - 9977863 - lavu 50.16.0 - av_get_random_seed()
942   Add av_get_random_seed().
943
944 2010-05-18 - 796ac23 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
945   Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags.
946   NOTE: this was backported to 0.6
947
948 2010-05-09 - b6bc205 - lavfi 1.20.0 - AVFilterPicRef
949   Add interlaced and top_field_first fields to AVFilterPicRef.
950
951 ------------------------------8<-------------------------------------
952                    0.6 branch was cut here
953 ----------------------------->8--------------------------------------
954
955 2010-05-01 - 8e2ee18 - lavf 52.62.0 - probe function
956   Add av_probe_input_format2 to API, it allows ignoring probe
957   results below given score and returns the actual probe score.
958
959 2010-04-01 - 3dd6180 - lavf 52.61.0 - metadata API
960   Add a flag for av_metadata_set2() to disable overwriting of
961   existing tags.
962
963 2010-04-01 - 0fb49b5 - lavc 52.66.0
964   Add avcodec_get_edge_width().
965
966 2010-03-31 - d103218 - lavc 52.65.0
967   Add avcodec_copy_context().
968
969 2010-03-31 - 1a70d12 - lavf 52.60.0 - av_match_ext()
970   Make av_match_ext() public.
971
972 2010-03-31 - 1149150 - lavu 50.14.0 - AVMediaType
973   Move AVMediaType enum from libavcodec to libavutil.
974
975 2010-03-31 - 72415b2 - lavc 52.64.0 - AVMediaType
976   Define AVMediaType enum, and use it instead of enum CodecType, which
977   is deprecated and will be dropped at the next major bump.
978
979 2010-03-25 - 8795823 - lavu 50.13.0 - av_strerror()
980   Implement av_strerror().
981
982 2010-03-23 - e1484eb - lavc 52.60.0 - av_dct_init()
983   Support DCT-I and DST-I.
984
985 2010-03-15 - b8819c8 - lavf 52.56.0 - AVFormatContext.start_time_realtime
986   Add AVFormatContext.start_time_realtime field.
987
988 2010-03-13 - 5bb5c1d - lavfi 1.18.0 - AVFilterPicRef.pos
989   Add AVFilterPicRef.pos field.
990
991 2010-03-13 - 60c144f - lavu 50.12.0 - error.h
992   Move error code definitions from libavcodec/avcodec.h to
993   the new public header libavutil/error.h.
994
995 2010-03-07 - c709483 - lavc 52.56.0 - avfft.h
996   Add public FFT interface.
997
998 2010-03-06 - ac6ef86 - lavu 50.11.0 - av_stristr()
999   Add av_stristr().
1000
1001 2010-03-03 - 4b83fc0 - lavu 50.10.0 - av_tree_enumerate()
1002   Add av_tree_enumerate().
1003
1004 2010-02-07 - b687c1a - lavu 50.9.0 - av_compare_ts()
1005   Add av_compare_ts().
1006
1007 2010-02-05 - 3f3dc76 - lsws 0.10.0 - sws_getCoefficients()
1008   Add sws_getCoefficients().
1009
1010 2010-02-01 - ca76a11 - lavf 52.50.0 - metadata API
1011   Add a list of generic tag names, change 'author' -> 'artist',
1012   'year' -> 'date'.
1013
1014 2010-01-30 - 80a07f6 - lavu 50.8.0 - av_get_pix_fmt()
1015   Add av_get_pix_fmt().
1016
1017 2010-01-21 - 01cc47d - lsws 0.9.0 - sws_scale()
1018   Change constness attributes of sws_scale() parameters.
1019
1020 2010-01-10 - 3fb8e77 - lavfi 1.15.0 - avfilter_graph_config_links()
1021   Add a log_ctx parameter to avfilter_graph_config_links().
1022
1023 2010-01-07 - 8e9767f - lsws 0.8.0 - sws_isSupported{In,Out}put()
1024   Add sws_isSupportedInput() and sws_isSupportedOutput() functions.
1025
1026 2010-01-06 - c1d662f - lavfi 1.14.0 - avfilter_add_colorspace()
1027   Change the avfilter_add_colorspace() signature, make it accept an
1028   (AVFilterFormats **) rather than an (AVFilterFormats *) as before.
1029
1030 2010-01-03 - 4fd1f18 - lavfi 1.13.0 - avfilter_add_colorspace()
1031   Add avfilter_add_colorspace().
1032
1033 2010-01-02 - 8eb631f - lavf 52.46.0 - av_match_ext()
1034   Add av_match_ext(), it should be used in place of match_ext().
1035
1036 2010-01-01 - a1f547b - lavf 52.45.0 - av_guess_format()
1037   Add av_guess_format(), it should be used in place of guess_format().
1038
1039 2009-12-13 - a181981 - lavf 52.43.0 - metadata API
1040   Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and
1041   AV_METADATA_DONT_STRDUP_VAL.
1042
1043 2009-12-13 - 277c733 - lavu 50.7.0 - avstring.h API
1044   Add av_d2str().
1045
1046 2009-12-13 - 02b398e - lavc 52.42.0 - AVStream
1047   Add avg_frame_rate.
1048
1049 2009-12-12 - 3ba69a1 - lavu 50.6.0 - av_bmg_next()
1050   Introduce the av_bmg_next() function.
1051
1052 2009-12-05 - a13a543 - lavfi 1.12.0 - avfilter_draw_slice()
1053   Add a slice_dir parameter to avfilter_draw_slice().
1054
1055 2009-11-26 - 4cc3f6a - lavfi 1.11.0 - AVFilter
1056   Remove the next field from AVFilter, this is not anymore required.
1057
1058 2009-11-25 - 1433c4a - lavfi 1.10.0 - avfilter_next()
1059   Introduce the avfilter_next() function.
1060
1061 2009-11-25 - 86a60fa - lavfi 1.9.0 - avfilter_register()
1062   Change the signature of avfilter_register() to make it return an
1063   int. This is required since now the registration operation may fail.
1064
1065 2009-11-25 - 74a0059 - lavu 50.5.0 - pixdesc.h API
1066   Make the pixdesc.h API public.
1067
1068 2009-10-27 - 243110f - lavfi 1.5.0 - AVFilter.next
1069   Add a next field to AVFilter, this is used for simplifying the
1070   registration and management of the registered filters.
1071
1072 2009-10-23 - cccd292 - lavfi 1.4.1 - AVFilter.description
1073   Add a description field to AVFilter.
1074
1075 2009-10-19 - 6b5dc05 - lavfi 1.3.0 - avfilter_make_format_list()
1076   Change the interface of avfilter_make_format_list() from
1077   avfilter_make_format_list(int n, ...) to
1078   avfilter_make_format_list(enum PixelFormat *pix_fmts).
1079
1080 2009-10-18 - 0eb4ff9 - lavfi 1.0.0 - avfilter_get_video_buffer()
1081   Make avfilter_get_video_buffer() recursive and add the w and h
1082   parameters to it.
1083
1084 2009-10-07 - 46c40e4 - lavfi 0.5.1 - AVFilterPic
1085   Add w and h fields to AVFilterPic.
1086
1087 2009-06-22 - 92400be - lavf 52.34.1 - AVFormatContext.packet_size
1088   This is now an unsigned int instead of a signed int.
1089
1090 2009-06-19 - a4276ba - lavc 52.32.0 - AVSubtitle.pts
1091   Add a pts field to AVSubtitle which gives the subtitle packet pts
1092   in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
1093   not work right without this.
1094
1095 2009-06-03 - 8f3f2e0 - lavc 52.30.2 - AV_PKT_FLAG_KEY
1096   PKT_FLAG_KEY has been deprecated and will be dropped at the next
1097   major version. Use AV_PKT_FLAG_KEY instead.
1098
1099 2009-06-01 - f988ce6 - lavc 52.30.0 - av_lockmgr_register()
1100   av_lockmgr_register() can be used to register a callback function
1101   that lavc (and in the future, libraries that depend on lavc) can use
1102   to implement mutexes. The application should provide a callback function
1103   that implements the AV_LOCK_* operations described in avcodec.h.
1104   When the lock manager is registered, FFmpeg is guaranteed to behave
1105   correctly in a multi-threaded application.
1106
1107 2009-04-30 - ce1d9c8 - lavc 52.28.0 - av_free_packet()
1108   av_free_packet() is no longer an inline function. It is now exported.
1109
1110 2009-04-11 - 80d403f - lavc 52.25.0 - deprecate av_destruct_packet_nofree()
1111   Please use NULL instead. This has been supported since r16506
1112   (lavf > 52.23.1, lavc > 52.10.0).
1113
1114 2009-04-07 - 7a00bba - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
1115   The old decoding functions are deprecated, all new code should use the
1116   new functions avcodec_decode_video2(), avcodec_decode_audio3() and
1117   avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt
1118   argument instead of a const uint8_t *buf / int buf_size pair.
1119
1120 2009-04-03 - 7b09db3 - lavu 50.3.0 - av_fifo_space()
1121   Introduce the av_fifo_space() function.
1122
1123 2009-04-02 - fabd246 - lavc 52.23.0 - AVPacket
1124   Move AVPacket declaration from libavformat/avformat.h to
1125   libavcodec/avcodec.h.
1126
1127 2009-03-22 - 6e08ca9 - lavu 50.2.0 - RGB32 pixel formats
1128   Convert the pixel formats PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
1129   PIX_FMT_BGRA, which were defined as macros, into enum PixelFormat values.
1130   Conversely PIX_FMT_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32 and
1131   PIX_FMT_BGR32_1 are now macros.
1132   avcodec_get_pix_fmt() now recognizes the "rgb32" and "bgr32" aliases.
1133   Re-sort the enum PixelFormat list accordingly.
1134   This change breaks API/ABI backward compatibility.
1135
1136 2009-03-22 - f82674e - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
1137   Add the enum PixelFormat values:
1138   PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE,
1139   PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE.
1140
1141 2009-03-21 - ee6624e - lavu 50.0.0  - av_random*
1142   The Mersenne Twister PRNG implemented through the av_random* functions
1143   was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions
1144   instead.
1145
1146 2009-03-08 - 41dd680 - lavu 50.0.0  - AVFifoBuffer
1147   av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped
1148   and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write
1149   and av_fifo_realloc2.
1150   In addition, the order of the function arguments of av_fifo_generic_read
1151   was changed to match av_fifo_generic_write.
1152   The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
1153   applications, they may not use sizeof() or directly access members.
1154
1155 2009-03-01 - ec26457 - lavf 52.31.0 - Generic metadata API
1156   Introduce a new metadata API (see av_metadata_get() and friends).
1157   The old API is now deprecated and should not be used anymore. This especially
1158   includes the following structure fields:
1159     - AVFormatContext.title
1160     - AVFormatContext.author
1161     - AVFormatContext.copyright
1162     - AVFormatContext.comment
1163     - AVFormatContext.album
1164     - AVFormatContext.year
1165     - AVFormatContext.track
1166     - AVFormatContext.genre
1167     - AVStream.language
1168     - AVStream.filename
1169     - AVProgram.provider_name
1170     - AVProgram.name
1171     - AVChapter.title