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