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