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