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