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