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