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