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