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