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