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