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