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