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