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