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