Never assume the API of libav* to be stable unless at least 1 month has passed since the last major version increase. The last version increases were: libavcodec: 2012-01-27 libavdevice: 2011-04-18 libavfilter: 2012-06-22 libavformat: 2012-01-27 libavresample: 2012-04-24 libswscale: 2011-06-20 libavutil: 2011-04-18 API changes, most recent first: 2012-08-03 - xxxxxxx - lavu 51.37.1 - cpu.h lsws 2.1.1 - swscale.h Rename AV_CPU_FLAG_MMX2 ---> AV_CPU_FLAG_MMXEXT. Rename SWS_CPU_CAPS_MMX2 ---> SWS_CPU_CAPS_MMXEXT. 2012-07-xx - xxxxxxx - lavf 54.13.0 - avformat.h Add AVFMT_FLAG_NOBUFFER for low latency use cases. 2012-07-xx - xxxxxxx - lavfi 3.0.0 - avfilter.h Add avfilter_unref_bufferp(). 2012-07-10 - 5fade8a - lavu 51.37.0 Add av_malloc_array() and av_mallocz_array() 2012-06-22 - d3d3a32 - lavu 51.34.0 Add av_usleep() 2012-06-20 - ae0a301 - lavu 51.33.0 Move av_gettime() to libavutil, add libavutil/time.h 2012-06-09 - 3971be0 - lavr 0.0.3 Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing. 2012-06-12 - 9baeff9 - lavfi 2.23.0 - avfilter.h Add AVFilterContext.nb_inputs/outputs. Deprecate AVFilterContext.input/output_count. 2012-06-12 - 84b9fbe - lavfi 2.22.0 - avfilter.h Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those should now be used instead of accessing AVFilterPad members directly. 2012-06-12 - b0f0dfc - lavu 51.32.0 - audioconvert.h Add av_get_channel_layout_channel_index(), av_get_channel_name() and av_channel_layout_extract_channel(). 2012-05-25 - 154486f - lavu 51.31.0 - opt.h Add av_opt_set_bin() 2012-05-26 - e9cef89 - lavf 54.3.0 Add AVFMT_TS_NONSTRICT format flag to indicate that a muxer supports non-increasing monotone timestamps. 2012-05-15 - lavfi 2.17.0 Add support for audio filters ac71230/a2cd9be - add video/audio buffer sink in a new installed header buffersink.h 720c6b7 - add av_buffersrc_write_frame(), deprecate av_vsrc_buffer_add_frame() ab16504 - add avfilter_copy_buf_props() 9453c9e - add extended_data to AVFilterBuffer 1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays() 2012-05-09 - lavu 51.30.0 - samplefmt.h 142e740 - add av_samples_copy() 6d7f617 - add av_samples_set_silence() 2012-05-09 - a5117a2 - lavc 54.13.1 For audio formats with fixed frame size, the last frame no longer needs to be padded with silence, libavcodec will handle this internally (effectively all encoders behave as if they had CODEC_CAP_SMALL_LAST_FRAME set). 2012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h Add sample_rate and channel_layout fields to AVFrame. 2012-05-01 - 4010d72 - lavr 0.0.1 Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8. 2012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h Add av_parse_cpu_flags() 2012-04-24 - c8af852 - lavr 0.0.0 Add libavresample audio conversion library 2012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h Add audio FIFO functions: av_audio_fifo_free() av_audio_fifo_alloc() av_audio_fifo_realloc() av_audio_fifo_write() av_audio_fifo_read() av_audio_fifo_drain() av_audio_fifo_reset() av_audio_fifo_size() av_audio_fifo_space() 2012-04-14 - lavfi 2.16.0 - avfiltergraph.h d7bcc71 Add avfilter_graph_parse2(). 91d3cbe Add avfilter_inout_alloc() and avfilter_inout_free(). 2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt() 2012-04-05 - 5cc51a5 - lavu 51.26.0 - audioconvert.h Add av_get_default_channel_layout() 2012-03-06 - 4d851f8 - lavu 51.25.0 - cpu.h Add av_set_cpu_flags_mask(). 2012-03-05 - lavc 54.8.0 6699d07 Add av_get_exact_bits_per_sample() 9524cf7 Add av_get_audio_frame_duration() 2012-03-04 - 44fe77b - lavc 54.7.0 - avcodec.h Add av_codec_is_encoder/decoder(). 2012-03-01 - 442c132 - lavc 54.3.0 - avcodec.h Add av_packet_shrink_side_data. 2012-02-29 - dd2a4bc - lavf 54.2.0 - avformat.h Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC, used for dealing with attached pictures/cover art. 2012-02-25 - c9bca80 - lavu 51.24.0 - error.h Add AVERROR_UNKNOWN NOTE: this was backported to 0.8 2012-02-20 - e9cda85 - lavc 54.2.0 Add duration field to AVCodecParserContext 2012-02-20 - 0b42a93 - lavu 51.23.1 - mathematics.h Add av_rescale_q_rnd() 2012-02-08 - 38d5533 - lavu 51.22.1 - pixdesc.h Add PIX_FMT_PSEUDOPAL flag. 2012-02-08 - 52f82a1 - lavc 54.01.0 Add avcodec_encode_video2() and deprecate avcodec_encode_video(). 2012-02-01 - 316fc74 - lavc 54.01.0 Add av_fast_padded_malloc() as alternative for av_realloc() when aligned memory is required. The buffer will always have FF_INPUT_BUFFER_PADDING_SIZE zero-padded bytes at the end. 2012-01-31 - dd6d3b0 - lavf 54.01.0 Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags(). NOTE: this was backported to 0.8 2012-01-31 - af08d9a - lavc 54.01.0 Add avcodec_is_open() function. NOTE: this was backported to 0.8 2012-01-30 - 8b93312 - lavu 51.22.0 - intfloat.h Add a new installed header libavutil/intfloat.h with int/float punning functions. NOTE: this was backported to 0.8 2012-01-25 - lavf 53.22.0 f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible buffered data within a muxer. Added AVFMT_ALLOW_FLUSH for muxers supporting it (av_write_frame makes sure it is called only for muxers with this flag). ------------------------------8<------------------------------------- 0.8 branch was cut here ----------------------------->8-------------------------------------- 2012-01-15 - lavc 53.34.0 New audio encoding API: b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio encoders. 5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function. b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio(). Add AVCodec.encode2(). 2012-01-12 - 3167dc9 - lavfi 2.15.0 Add a new installed header -- libavfilter/version.h -- with version macros. 2011-01-03 - b73ec05 - lavu 51.21.0 Add av_popcount64 2011-12-25 - lavfi 2.14.0 e1d9dbf Add a new installed header - buffersrc.h It contains a new function av_buffersrc_buffer() that allows passing frames to the 'buffer' filter, but unlike av_vsrc_buffer_add_frame() it allows for direct rendering. 1c9e340 Add avfilter_copy_frame_props() for copying properties from AVFrame to AVFilterBufferRef. 2011-12-25 - lavc 53.31.0 Add the following new fields to AVFrame: b58dbb5 sample_aspect_ratio 3a2ddf7 width, height 8a4a5f6 format 2011-12-18 - 8400b12 - lavc 53.28.1 Deprecate AVFrame.age. The field is unused. 2011-12-12 - 5266045 - lavf 53.17.0 Add avformat_close_input(). Deprecate av_close_input_file() and av_close_input_stream(). 2011-12-02 - 0eea212 - lavc 53.25.0 Add nb_samples and extended_data fields to AVFrame. Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE. Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4(). avcodec_decode_audio4() writes output samples to an AVFrame, which allows audio decoders to use get_buffer(). 2011-12-04 - 560f773 - lavc 53.24.0 Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump. Change AVPicture.data[4]/linesize[4] to [8] at next major bump. Change AVCodecContext.error[4] to [8] at next major bump. Add AV_NUM_DATA_POINTERS to simplify the bump transition. 2011-11-23 - bbb46f3 - lavu 51.18.0 Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and av_samples_alloc(), to samplefmt.h. 2011-11-23 - 8889cc4 - lavu 51.17.0 Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h. 2011-11-19 - f3a29b7 - lavc 53.21.0 Move some AVCodecContext fields to a new private struct, AVCodecInternal, which is accessed from a new field, AVCodecContext.internal. - fields moved: AVCodecContext.internal_buffer --> AVCodecInternal.buffer AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count AVCodecContext.is_copy --> AVCodecInternal.is_copy 2011-11-16 - 6270671 - lavu 51.16.0 Add av_timegm() 2011-11-13 - lavf 53.15.0 New interrupt callback API, allowing per-AVFormatContext/AVIOContext interrupt callbacks. 6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to AVFormatContext. 1dee0ac Add avio_open2() with additional parameters. Those are an interrupt callback and an options AVDictionary. This will allow passing AVOptions to protocols after lavf 54.0. 2011-11-06 - ba04ecf - lavu 51.14.0 Add av_strcasecmp() and av_strncasecmp() to avstring.h. 2011-11-06 - 07b172f - lavu 51.13.0 Add av_toupper()/av_tolower() 2011-11-05 - b6d08f4 - lavf 53.13.0 Add avformat_network_init()/avformat_network_deinit() 2011-10-27 - 512557b - lavc 53.15.0 Remove avcodec_parse_frame. Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY. 2011-10-19 - 569129a - lavf 53.10.0 Add avformat_new_stream(). Deprecate av_new_stream(). 2011-10-13 - b631fba - lavf 53.9.0 Add AVFMT_NO_BYTE_SEEK AVInputFormat flag. 2011-10-12 - lavu 51.12.0 AVOptions API rewrite. - 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_* - new setting/getting functions with slightly different semantics: dac66da av_set_string3 -> av_opt_set av_set_double -> av_opt_set_double av_set_q -> av_opt_set_q av_set_int -> av_opt_set_int 41d9d51 av_get_string -> av_opt_get av_get_double -> av_opt_get_double av_get_q -> av_opt_get_q av_get_int -> av_opt_get_int - 8c5dcaa trivial rename av_next_option -> av_opt_next - 641c7af new functions - av_opt_child_next, av_opt_child_class_next and av_opt_find2() 2011-09-03 - fb4ca26 - lavc 53.10.0 lavf 53.6.0 lsws 2.1.0 Add {avcodec,avformat,sws}_get_class(). 2011-09-03 - c11fb82 - lavu 51.10.0 Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function. 2011-08-26 - lavu 51.9.0 - f2011ed Add av_fifo_peek2(), deprecate av_fifo_peek(). - add41de..abc78a5 Do not include intfloat_readwrite.h, mathematics.h, rational.h, pixfmt.h, or log.h from avutil.h. 2011-08-16 - 48f9e45 - lavf 53.4.0 Add avformat_query_codec(). 2011-08-16 - bca06e7 - lavc 53.8.0 Add avcodec_get_type(). 2011-08-06 - 2f63440 - lavf 53.4.0 Add error_recognition to AVFormatContext. 2011-08-02 - 9d39cbf - lavc 53.7.1 Add AV_PKT_FLAG_CORRUPT AVPacket flag. 2011-07-10 - a67c061 - lavf 53.3.0 Add avformat_find_stream_info(), deprecate av_find_stream_info(). NOTE: this was backported to 0.7 2011-07-10 - 0b950fe - lavc 53.6.0 Add avcodec_open2(), deprecate avcodec_open(). NOTE: this was backported to 0.7 Add avcodec_alloc_context3. Deprecate avcodec_alloc_context() and avcodec_alloc_context2(). 2011-06-23 - 67e9ae1 - lavu 51.8.0 - attributes.h Add av_printf_format(). ------------------------------8<------------------------------------- 0.7 branch was cut here ----------------------------->8-------------------------------------- 2011-06-16 - 05e84c9, 25de595 - lavf 53.2.0 - avformat.h Add avformat_open_input and avformat_write_header(). Deprecate av_open_input_stream, av_open_input_file, AVFormatParameters and av_write_header. 2011-06-16 - 7e83e1c, dc59ec5 - lavu 51.7.0 - opt.h Add av_opt_set_dict() and av_opt_find(). Deprecate av_find_opt(). Add AV_DICT_APPEND flag. 2011-06-10 - cb7c11c - lavu 51.6.0 - opt.h Add av_opt_flag_is_set(). 2011-06-08 - d9f80ea - lavu 51.5.0 - AVMetadata Move AVMetadata from lavf to lavu and rename it to AVDictionary -- new installed header dict.h. All av_metadata_* functions renamed to av_dict_*. 2011-06-07 - a6703fa - lavu 51.4.0 - av_get_bytes_per_sample() Add av_get_bytes_per_sample() in libavutil/samplefmt.h. Deprecate av_get_bits_per_sample_fmt(). 2011-06-05 - b39b062 - lavu 51.3.0 - opt.h Add av_opt_free convenience function. 2011-05-28 - 0420bd7 - lavu 51.2.0 - pixdesc.h Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor. 2011-05-25 - 30315a8 - lavf 53.1.0 - avformat.h Add fps_probe_size to AVFormatContext. 2011-05-18 - 64150ff - lavc 53.4.0 - AVCodecContext.request_sample_fmt Add request_sample_fmt field to AVCodecContext. 2011-05-10 - 188dea1 - lavc 53.3.0 - avcodec.h Deprecate AVLPCType and the following fields in AVCodecContext: lpc_coeff_precision, prediction_order_method, min_partition_order, max_partition_order, lpc_type, lpc_passes. Corresponding FLAC encoder options should be used instead. 2011-04-26 - bebe72f - lavu 51.1.0 - avutil.h Add AVPictureType enum and av_get_picture_type_char(), deprecate FF_*_TYPE defines and av_get_pict_type_char() defined in libavcodec/avcodec.h. 2011-04-26 - 10d3940 - lavfi 2.3.0 - avfilter.h Add pict_type and key_frame fields to AVFilterBufferRefVideo. 2011-04-26 - 7a11c82 - lavfi 2.2.0 - vsrc_buffer Add sample_aspect_ratio fields to vsrc_buffer arguments 2011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading. 2011-04-15 - lavc 52.120.0 - avcodec.h AVPacket structure got additional members for passing side information: 4de339e introduce side information for AVPacket 2d8591c make containers pass palette change in AVPacket 2011-04-12 - lavf 52.107.0 - avio.h Avio cleanup, part II - deprecate the entire URLContext API: 175389c add avio_check as a replacement for url_exist ff1ec0c add avio_pause and avio_seek_time as replacements for _av_url_read_fseek/fpause cdc6a87 deprecate av_protocol_next(), avio_enum_protocols should be used instead. 80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb. f87b1b3 rename open flags: URL_* -> AVIO_* f8270bb add avio_enum_protocols. 5593f03 deprecate URLProtocol. c486dad deprecate URLContext. 026e175 deprecate the typedef for URLInterruptCB 8e76a19 deprecate av_register_protocol2. b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME 1305d93 deprecate av_url_read_seek fa104e1 deprecate av_url_read_pause 727c7aa deprecate url_get_filename(). 5958df3 deprecate url_max_packet_size(). 1869ea0 deprecate url_get_file_handle(). 32a97d4 deprecate url_filesize(). e52a914 deprecate url_close(). 58a48c6 deprecate url_seek(). 925e908 deprecate url_write(). dce3756 deprecate url_read_complete(). bc371ac deprecate url_read(). 0589da0 deprecate url_open(). 62eaaea deprecate url_connect. 5652bb9 deprecate url_alloc. 333e894 deprecate url_open_protocol e230705 deprecate url_poll and URLPollEntry 2011-04-10 - lavu 50.40.0 - pixfmt.h Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats 2011-04-08 - lavf 52.106.0 - avformat.h Minor avformat.h cleanup: a9bf9d8 deprecate av_guess_image2_codec c3675df rename avf_sdp_create->av_sdp_create 2011-04-03 - lavf 52.105.0 - avio.h Large-scale renaming/deprecating of AVIOContext-related functions: 724f6a0 deprecate url_fdopen 403ee83 deprecate url_open_dyn_packet_buf 6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf 8978fed introduce an AVIOContext.seekable field as a replacement for AVIOContext.is_streamed and url_is_streamed() b64030f deprecate get_checksum() 4c4427a deprecate init_checksum() 4ec153b deprecate udp_set_remote_url/get_local_port 933e90a deprecate av_url_read_fseek/fpause 8d9769a deprecate url_fileno b7f2fdd rename put_flush_packet -> avio_flush 35f1023 deprecate url_close_buf 83fddae deprecate url_open_buf d9d86e0 rename url_fprintf -> avio_printf 59f65d9 deprecate url_setbufsize 3e68b3b deprecate url_ferror 66e5b1d deprecate url_feof e8bb2e2 deprecate url_fget_max_packet_size 76aa876 rename url_fsize -> avio_size e519753 deprecate url_fgetc 655e45e deprecate url_fgets a2704c9 rename url_ftell -> avio_tell e16ead0 deprecate get_strz() in favor of avio_get_str 0300db8,2af07d3 rename url_fskip -> avio_skip 6b4aa5d rename url_fseek -> avio_seek 61840b4 deprecate put_tag 22a3212 rename url_fopen/fclose -> avio_open/close. 0ac8e2b deprecate put_nbyte 77eb550 rename put_byte -> avio_w8 put_[b/l]e -> avio_w[b/l] put_buffer -> avio_write b7effd4 rename get_byte -> avio_r8, get_[b/l]e -> avio_r[b/l] get_buffer -> avio_read b3db9ce deprecate get_partial_buffer 8d9ac96 rename av_alloc_put_byte -> avio_alloc_context 2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type Add audio_service_type field to AVCodecContext. 2011-03-02 - 863c471 - lavf 52.103.0 - av_pkt_dump2, av_pkt_dump_log2 Add new functions av_pkt_dump2, av_pkt_dump_log2 that uses the source stream timebase for outputting timestamps. Deprecate av_pkt_dump and av_pkt_dump_log. 2011-02-20 - e731b8d - lavf 52.102.0 - avio.h * e731b8d - rename init_put_byte() to ffio_init_context(), deprecating the original, and move it to a private header so it is no longer part of our public API. Instead, use av_alloc_put_byte(). * ae628ec - rename ByteIOContext to AVIOContext. 2011-02-16 - 09d171b - lavf 52.101.0 - avformat.h lavu 52.39.0 - parseutils.h * 610219a - Add av_ prefix to dump_format(). * f6c7375 - Replace parse_date() in lavf with av_parse_time() in lavu. * ab0287f - Move find_info_tag from lavf to lavu and add av_prefix to it. 2011-02-15 - lavu 52.38.0 - merge libavcore libavcore is merged back completely into libavutil 2011-02-10 - 55bad0c - lavc 52.113.0 - vbv_delay Add vbv_delay field to AVCodecContext 2011-02-14 - 24a83bd - lavf 52.100.0 - AV_DISPOSITION_CLEAN_EFFECTS Add AV_DISPOSITION_CLEAN_EFFECTS disposition flag. 2011-02-14 - 910b5b8 - lavfi 1.76.0 - AVFilterLink sample_aspect_ratio Add sample_aspect_ratio field to AVFilterLink. 2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED. 2011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init() Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead set thread_count before calling avcodec_open. 2011-02-09 - 778b08a - lavc 52.111.0 - threading API Add CODEC_CAP_FRAME_THREADS with new restrictions on get_buffer()/ release_buffer()/draw_horiz_band() callbacks for appropriate codecs. Add thread_type and active_thread_type fields to AVCodecContext. 2011-02-08 - 3940caa - lavf 52.98.0 - av_probe_input_buffer Add av_probe_input_buffer() to avformat.h for probing format from a ByteIOContext. 2011-02-06 - fe174fc - lavf 52.97.0 - avio.h Add flag for non-blocking protocols: URL_FLAG_NONBLOCK 2011-02-04 - f124b08 - lavf 52.96.0 - avformat_free_context() Add avformat_free_context() in avformat.h. 2011-02-03 - f5b82f4 - lavc 52.109.0 - add CODEC_ID_PRORES Add CODEC_ID_PRORES to avcodec.h. 2011-02-03 - fe9a3fb - lavc 52.109.0 - H.264 profile defines Add defines for H.264 * Constrained Baseline and Intra profiles 2011-02-02 - lavf 52.95.0 * 50196a9 - add a new installed header version.h. * 4efd5cf, dccbd97, 93b78d1 - add several variants of public avio_{put,get}_str* functions. Deprecate corresponding semi-public {put,get}_str*. 2011-02-02 - dfd2a00 - lavu 50.37.0 - log.h Make av_dlog public. 2011-01-15 - a242ac3 - lavfi 1.74.0 - AVFilterBufferRefAudioProps Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples. 2011-01-14 - 7f88a5b - lavf 52.93.0 - av_metadata_copy() Add av_metadata_copy() in avformat.h. 2011-01-07 - 81c623f - lavc 52.107.0 - deprecate reordered_opaque Deprecate reordered_opaque in favor of pkt_pts/dts. 2011-01-07 - 1919fea - lavc 52.106.0 - pkt_dts Add pkt_dts to AVFrame, this will in the future allow multithreading decoders to not mess up dts. 2011-01-07 - 393cbb9 - lavc 52.105.0 - pkt_pts Add pkt_pts to AVFrame. 2011-01-07 - 060ec0a - lavc 52.104.0 - av_get_profile_name() Add av_get_profile_name to libavcodec/avcodec.h. 2010-12-27 - 0ccabee - lavfi 1.71.0 - AV_PERM_NEG_LINESIZES Add AV_PERM_NEG_LINESIZES in avfilter.h. 2010-12-27 - 9128ae0 - lavf 52.91.0 - av_find_best_stream() Add av_find_best_stream to libavformat/avformat.h. 2010-12-27 - 107a7e3 - lavf 52.90.0 Add AVFMT_NOSTREAMS flag for formats with no streams, like e.g. text metadata. 2010-12-22 - 0328b9e - lavu 50.36.0 - file.h Add functions av_file_map() and av_file_unmap() in file.h. 2010-12-19 - 0bc55f5 - lavu 50.35.0 - error.h Add "not found" error codes: AVERROR_DEMUXER_NOT_FOUND AVERROR_MUXER_NOT_FOUND AVERROR_DECODER_NOT_FOUND AVERROR_ENCODER_NOT_FOUND AVERROR_PROTOCOL_NOT_FOUND AVERROR_FILTER_NOT_FOUND AVERROR_BSF_NOT_FOUND AVERROR_STREAM_NOT_FOUND 2010-12-09 - c61cdd0 - lavcore 0.16.0 - avcore.h Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from avcodec.h to avcore.h. 2010-12-04 - 16cfc96 - lavc 52.98.0 - CODEC_CAP_NEG_LINESIZES Add CODEC_CAP_NEG_LINESIZES codec capability flag in avcodec.h. 2010-12-04 - bb4afa1 - lavu 50.34.0 - av_get_pix_fmt_string() Deprecate avcodec_pix_fmt_string() in favor of pixdesc.h/av_get_pix_fmt_string(). 2010-12-04 - 4da12e3 - lavcore 0.15.0 - av_image_alloc() Add av_image_alloc() to libavcore/imgutils.h. 2010-12-02 - 037be76 - lavfi 1.67.0 - avfilter_graph_create_filter() Add function avfilter_graph_create_filter() in avfiltergraph.h. 2010-11-25 - 4723bc2 - lavfi 1.65.0 - avfilter_get_video_buffer_ref_from_arrays() Add function avfilter_get_video_buffer_ref_from_arrays() in avfilter.h. 2010-11-21 - 176a615 - lavcore 0.14.0 - audioconvert.h Add a public audio channel API in audioconvert.h, and deprecate the corresponding functions in libavcodec: avcodec_get_channel_name() avcodec_get_channel_layout() avcodec_get_channel_layout_string() avcodec_channel_layout_num_channels() and the CH_* macros defined in libavcodec/avcodec.h. 2010-11-21 - 6bfc268 - lavf 52.85.0 - avformat.h Add av_append_packet(). 2010-11-21 - a08d918 - lavc 52.97.0 - avcodec.h Add av_grow_packet(). 2010-11-17 - 0985e1a - lavcore 0.13.0 - parseutils.h Add av_parse_color() declared in libavcore/parseutils.h. 2010-11-13 - cb2c971 - lavc 52.95.0 - AVCodecContext Add AVCodecContext.subtitle_header and AVCodecContext.subtitle_header_size fields. 2010-11-13 - 5aaea02 - lavfi 1.62.0 - avfiltergraph.h Make avfiltergraph.h public. 2010-11-13 - 4fcbb2a - lavfi 1.61.0 - avfiltergraph.h Remove declarations from avfiltergraph.h for the functions: avfilter_graph_check_validity() avfilter_graph_config_links() avfilter_graph_config_formats() which are now internal. Use avfilter_graph_config() instead. 2010-11-08 - d2af720 - lavu 50.33.0 - eval.h Deprecate functions: av_parse_and_eval_expr(), av_parse_expr(), av_eval_expr(), av_free_expr(), in favor of the functions: av_expr_parse_and_eval(), av_expr_parse(), av_expr_eval(), av_expr_free(). 2010-11-08 - 24de0ed - lavfi 1.59.0 - avfilter_free() Rename avfilter_destroy() to avfilter_free(). This change breaks libavfilter API/ABI. 2010-11-07 - 1e80a0e - lavfi 1.58.0 - avfiltergraph.h Remove graphparser.h header, move AVFilterInOut and avfilter_graph_parse() declarations to libavfilter/avfiltergraph.h. 2010-11-07 - 7313132 - lavfi 1.57.0 - AVFilterInOut Rename field AVFilterInOut.filter to AVFilterInOut.filter_ctx. This change breaks libavfilter API. 2010-11-04 - 97dd1e4 - lavfi 1.56.0 - avfilter_graph_free() Rename avfilter_graph_destroy() to avfilter_graph_free(). This change breaks libavfilter API/ABI. 2010-11-04 - e15aeea - lavfi 1.55.0 - avfilter_graph_alloc() Add avfilter_graph_alloc() to libavfilter/avfiltergraph.h. 2010-11-02 - 6f84cd1 - lavcore 0.12.0 - av_get_bits_per_sample_fmt() Add av_get_bits_per_sample_fmt() to libavcore/samplefmt.h and deprecate av_get_bits_per_sample_format(). 2010-11-02 - d63e456 - lavcore 0.11.0 - samplefmt.h Add sample format functions in libavcore/samplefmt.h: av_get_sample_fmt_name(), av_get_sample_fmt(), av_get_sample_fmt_string(), and deprecate the corresponding libavcodec/audioconvert.h functions: avcodec_get_sample_fmt_name(), avcodec_get_sample_fmt(), avcodec_sample_fmt_string(). 2010-11-02 - 262d1c5 - lavcore 0.10.0 - samplefmt.h Define enum AVSampleFormat in libavcore/samplefmt.h, deprecate enum SampleFormat. 2010-10-16 - 2a24df9 - lavfi 1.52.0 - avfilter_graph_config() Add the function avfilter_graph_config() in avfiltergraph.h. 2010-10-15 - 03700d3 - lavf 52.83.0 - metadata API Change demuxers to export metadata in generic format and muxers to accept generic format. Deprecate the public conversion API. 2010-10-10 - 867ae7a - lavfi 1.49.0 - AVFilterLink.time_base Add time_base field to AVFilterLink. 2010-09-27 - c85eef4 - lavu 50.31.0 - av_set_options_string() Move av_set_options_string() from libavfilter/parseutils.h to libavutil/opt.h. 2010-09-27 - acc0490 - lavfi 1.47.0 - AVFilterLink Make the AVFilterLink fields srcpad and dstpad store the pointers to the source and destination pads, rather than their indexes. 2010-09-27 - 372e288 - lavu 50.30.0 - av_get_token() Move av_get_token() from libavfilter/parseutils.h to libavutil/avstring.h. 2010-09-26 - 635d4ae - lsws 0.12.0 - swscale.h Add the functions sws_alloc_context() and sws_init_context(). 2010-09-26 - 6ed0404 - lavu 50.29.0 - opt.h Move libavcodec/opt.h to libavutil/opt.h. 2010-09-24 - 1c1c80f - lavu 50.28.0 - av_log_set_flags() Default of av_log() changed due to many problems to the old no repeat detection. Read the docs of AV_LOG_SKIP_REPEATED in log.h before enabling it for your app!. 2010-09-24 - f66eb58 - lavc 52.90.0 - av_opt_show2() Deprecate av_opt_show() in favor or av_opt_show2(). 2010-09-14 - bc6f0af - lavu 50.27.0 - av_popcount() Add av_popcount() to libavutil/common.h. 2010-09-08 - c6c98d0 - lavu 50.26.0 - av_get_cpu_flags() Add av_get_cpu_flags(). 2010-09-07 - 34017fd - lavcore 0.9.0 - av_image_copy() Add av_image_copy(). 2010-09-07 - 9686abb - lavcore 0.8.0 - av_image_copy_plane() Add av_image_copy_plane(). 2010-09-07 - 9b7269e - lavcore 0.7.0 - imgutils.h Adopt hierarchical scheme for the imgutils.h function names, deprecate the old names. 2010-09-04 - 7160bb7 - lavu 50.25.0 - AV_CPU_FLAG_* Deprecate the FF_MM_* flags defined in libavcodec/avcodec.h in favor of the AV_CPU_FLAG_* flags defined in libavutil/cpu.h. 2010-08-26 - 5da19b5 - lavc 52.87.0 - avcodec_get_channel_layout() Add avcodec_get_channel_layout() in audioconvert.h. 2010-08-20 - e344336 - lavcore 0.6.0 - av_fill_image_max_pixsteps() Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps(). 2010-08-18 - a6ddf8b - lavcore 0.5.0 - av_fill_image_max_pixstep() Add av_fill_image_max_pixstep() in imgutils.h. 2010-08-17 - 4f2d2e4 - lavu 50.24.0 - AV_NE() Add the AV_NE macro. 2010-08-17 - ad2c950 - lavfi 1.36.0 - audio framework Implement AVFilterBufferRefAudioProps struct for audio properties, get_audio_buffer(), filter_samples() functions and related changes. 2010-08-12 - 81c1eca - lavcore 0.4.0 - av_get_image_linesize() Add av_get_image_linesize() in imgutils.h. 2010-08-11 - c1db7bf - lavfi 1.34.0 - AVFilterBufferRef Resize data and linesize arrays in AVFilterBufferRef to 8. This change breaks libavfilter API/ABI. 2010-08-11 - 9f08d80 - lavc 52.85.0 - av_picture_data_copy() Add av_picture_data_copy in avcodec.h. 2010-08-11 - 84c0386 - lavfi 1.33.0 - avfilter_open() Change avfilter_open() signature: AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) -> int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name); This change breaks libavfilter API/ABI. 2010-08-11 - cc80caf - lavfi 1.32.0 - AVFilterBufferRef Add a type field to AVFilterBufferRef, and move video specific properties to AVFilterBufferRefVideoProps. This change breaks libavfilter API/ABI. 2010-08-07 - 5d4890d - lavfi 1.31.0 - AVFilterLink Rename AVFilterLink fields: AVFilterLink.srcpic -> AVFilterLink.src_buf AVFilterLink.cur_pic -> AVFilterLink.cur_buf AVFilterLink.outpic -> AVFilterLink.out_buf 2010-08-07 - 7fce481 - lavfi 1.30.0 Rename functions and fields: avfilter_(un)ref_pic -> avfilter_(un)ref_buffer avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props AVFilterBufferRef.pic -> AVFilterBufferRef.buffer 2010-08-07 - ecc8dad - lavfi 1.29.0 - AVFilterBufferRef Rename AVFilterPicRef to AVFilterBufferRef. 2010-08-07 - d54e094 - lavfi 1.28.0 - AVFilterBuffer Move format field from AVFilterBuffer to AVFilterPicRef. 2010-08-06 - bf176f5 - lavcore 0.3.0 - av_check_image_size() Deprecate avcodec_check_dimensions() in favor of the function av_check_image_size() defined in libavcore/imgutils.h. 2010-07-30 - 56b5e9d - lavfi 1.27.0 - AVFilterBuffer Increase size of the arrays AVFilterBuffer.data and AVFilterBuffer.linesize from 4 to 8. This change breaks libavfilter ABI. 2010-07-29 - e7bd48a - lavcore 0.2.0 - imgutils.h Add functions av_fill_image_linesizes() and av_fill_image_pointers(), declared in libavcore/imgutils.h. 2010-07-27 - 126b638 - lavcore 0.1.0 - parseutils.h Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate() defined in libavcodec in favor of the newly added functions av_parse_video_size() and av_parse_video_rate() declared in libavcore/parseutils.h. 2010-07-23 - 4485247 - lavu 50.23.0 - mathematics.h Add the M_PHI constant definition. 2010-07-22 - bdab614 - lavfi 1.26.0 - media format generalization Add a type field to AVFilterLink. Change the field types: enum PixelFormat format -> int format in AVFilterBuffer enum PixelFormat *formats -> int *formats in AVFilterFormats enum PixelFormat *format -> int format in AVFilterLink Change the function signatures: AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); -> AVFilterFormats *avfilter_make_format_list(const int *fmts); int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); -> int avfilter_add_format (AVFilterFormats **avff, int fmt); AVFilterFormats *avfilter_all_colorspaces(void); -> AVFilterFormats *avfilter_all_formats (enum AVMediaType type); This change breaks libavfilter API/ABI. 2010-07-21 - aac6ca6 - lavcore 0.0.0 Add libavcore. 2010-07-17 - b5c582f - lavfi 1.25.0 - AVFilterBuffer Remove w and h fields from AVFilterBuffer. 2010-07-17 - f0d77b2 - lavfi 1.24.0 - AVFilterBuffer Rename AVFilterPic to AVFilterBuffer. 2010-07-17 - 57fe80f - lavf 52.74.0 - url_fskip() Make url_fskip() return an int error code instead of void. 2010-07-11 - 23940f1 - lavc 52.83.0 Add AVCodecContext.lpc_type and AVCodecContext.lpc_passes fields. Add AVLPCType enum. Deprecate AVCodecContext.use_lpc. 2010-07-11 - e1d7c88 - lavc 52.82.0 - avsubtitle_free() Add a function for free the contents of a AVSubtitle generated by avcodec_decode_subtitle. 2010-07-11 - b91d08f - lavu 50.22.0 - bswap.h and intreadwrite.h Make the bswap.h and intreadwrite.h API public. 2010-07-08 - ce1cd1c - lavu 50.21.0 - pixdesc.h Rename read/write_line() to av_read/write_image_line(). 2010-07-07 - 4d508e4 - lavfi 1.21.0 - avfilter_copy_picref_props() Add avfilter_copy_picref_props(). 2010-07-03 - 2d525ef - lavc 52.79.0 Add FF_COMPLIANCE_UNOFFICIAL and change all instances of FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL. 2010-07-02 - 89eec74 - lavu 50.20.0 - lfg.h Export av_lfg_init(), av_lfg_get(), av_mlfg_get(), and av_bmg_get() through lfg.h. 2010-06-28 - a52e2c3 - lavfi 1.20.1 - av_parse_color() Extend av_parse_color() syntax, make it accept an alpha value specifier and set the alpha value to 255 by default. 2010-06-22 - 735cf6b - lavf 52.71.0 - URLProtocol.priv_data_size, priv_data_class Add priv_data_size and priv_data_class to URLProtocol. 2010-06-22 - ffbb289 - lavf 52.70.0 - url_alloc(), url_connect() Add url_alloc() and url_connect(). 2010-06-22 - 9b07a2d - lavf 52.69.0 - av_register_protocol2() Add av_register_protocol2(), deprecating av_register_protocol(). 2010-06-09 - 65db058 - lavu 50.19.0 - av_compare_mod() Add av_compare_mod() to libavutil/mathematics.h. 2010-06-05 - 0b99215 - lavu 50.18.0 - eval API Make the eval API public. 2010-06-04 - 31878fc - lavu 50.17.0 - AV_BASE64_SIZE Add AV_BASE64_SIZE() macro. 2010-06-02 - 7e566bb - lavc 52.73.0 - av_get_codec_tag_string() Add av_get_codec_tag_string(). 2010-06-01 - 2b99142 - lsws 0.11.0 - convertPalette API Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24(). 2010-05-26 - 93ebfee - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL Add CODEC_CAP_EXPERIMENTAL flag. NOTE: this was backported to 0.6 2010-05-23 - 9977863 - lavu 50.16.0 - av_get_random_seed() Add av_get_random_seed(). 2010-05-18 - 796ac23 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags. NOTE: this was backported to 0.6 2010-05-09 - b6bc205 - lavfi 1.20.0 - AVFilterPicRef Add interlaced and top_field_first fields to AVFilterPicRef. ------------------------------8<------------------------------------- 0.6 branch was cut here ----------------------------->8-------------------------------------- 2010-05-01 - 8e2ee18 - lavf 52.62.0 - probe function Add av_probe_input_format2 to API, it allows ignoring probe results below given score and returns the actual probe score. 2010-04-01 - 3dd6180 - lavf 52.61.0 - metadata API Add a flag for av_metadata_set2() to disable overwriting of existing tags. 2010-04-01 - 0fb49b5 - lavc 52.66.0 Add avcodec_get_edge_width(). 2010-03-31 - d103218 - lavc 52.65.0 Add avcodec_copy_context(). 2010-03-31 - 1a70d12 - lavf 52.60.0 - av_match_ext() Make av_match_ext() public. 2010-03-31 - 1149150 - lavu 50.14.0 - AVMediaType Move AVMediaType enum from libavcodec to libavutil. 2010-03-31 - 72415b2 - lavc 52.64.0 - AVMediaType Define AVMediaType enum, and use it instead of enum CodecType, which is deprecated and will be dropped at the next major bump. 2010-03-25 - 8795823 - lavu 50.13.0 - av_strerror() Implement av_strerror(). 2010-03-23 - e1484eb - lavc 52.60.0 - av_dct_init() Support DCT-I and DST-I. 2010-03-15 - b8819c8 - lavf 52.56.0 - AVFormatContext.start_time_realtime Add AVFormatContext.start_time_realtime field. 2010-03-13 - 5bb5c1d - lavfi 1.18.0 - AVFilterPicRef.pos Add AVFilterPicRef.pos field. 2010-03-13 - 60c144f - lavu 50.12.0 - error.h Move error code definitions from libavcodec/avcodec.h to the new public header libavutil/error.h. 2010-03-07 - c709483 - lavc 52.56.0 - avfft.h Add public FFT interface. 2010-03-06 - ac6ef86 - lavu 50.11.0 - av_stristr() Add av_stristr(). 2010-03-03 - 4b83fc0 - lavu 50.10.0 - av_tree_enumerate() Add av_tree_enumerate(). 2010-02-07 - b687c1a - lavu 50.9.0 - av_compare_ts() Add av_compare_ts(). 2010-02-05 - 3f3dc76 - lsws 0.10.0 - sws_getCoefficients() Add sws_getCoefficients(). 2010-02-01 - ca76a11 - lavf 52.50.0 - metadata API Add a list of generic tag names, change 'author' -> 'artist', 'year' -> 'date'. 2010-01-30 - 80a07f6 - lavu 50.8.0 - av_get_pix_fmt() Add av_get_pix_fmt(). 2010-01-21 - 01cc47d - lsws 0.9.0 - sws_scale() Change constness attributes of sws_scale() parameters. 2010-01-10 - 3fb8e77 - lavfi 1.15.0 - avfilter_graph_config_links() Add a log_ctx parameter to avfilter_graph_config_links(). 2010-01-07 - 8e9767f - lsws 0.8.0 - sws_isSupported{In,Out}put() Add sws_isSupportedInput() and sws_isSupportedOutput() functions. 2010-01-06 - c1d662f - lavfi 1.14.0 - avfilter_add_colorspace() Change the avfilter_add_colorspace() signature, make it accept an (AVFilterFormats **) rather than an (AVFilterFormats *) as before. 2010-01-03 - 4fd1f18 - lavfi 1.13.0 - avfilter_add_colorspace() Add avfilter_add_colorspace(). 2010-01-02 - 8eb631f - lavf 52.46.0 - av_match_ext() Add av_match_ext(), it should be used in place of match_ext(). 2010-01-01 - a1f547b - lavf 52.45.0 - av_guess_format() Add av_guess_format(), it should be used in place of guess_format(). 2009-12-13 - a181981 - lavf 52.43.0 - metadata API Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and AV_METADATA_DONT_STRDUP_VAL. 2009-12-13 - 277c733 - lavu 50.7.0 - avstring.h API Add av_d2str(). 2009-12-13 - 02b398e - lavc 52.42.0 - AVStream Add avg_frame_rate. 2009-12-12 - 3ba69a1 - lavu 50.6.0 - av_bmg_next() Introduce the av_bmg_next() function. 2009-12-05 - a13a543 - lavfi 1.12.0 - avfilter_draw_slice() Add a slice_dir parameter to avfilter_draw_slice(). 2009-11-26 - 4cc3f6a - lavfi 1.11.0 - AVFilter Remove the next field from AVFilter, this is not anymore required. 2009-11-25 - 1433c4a - lavfi 1.10.0 - avfilter_next() Introduce the avfilter_next() function. 2009-11-25 - 86a60fa - lavfi 1.9.0 - avfilter_register() Change the signature of avfilter_register() to make it return an int. This is required since now the registration operation may fail. 2009-11-25 - 74a0059 - lavu 50.5.0 - pixdesc.h API Make the pixdesc.h API public. 2009-10-27 - 243110f - lavfi 1.5.0 - AVFilter.next Add a next field to AVFilter, this is used for simplifying the registration and management of the registered filters. 2009-10-23 - cccd292 - lavfi 1.4.1 - AVFilter.description Add a description field to AVFilter. 2009-10-19 - 6b5dc05 - lavfi 1.3.0 - avfilter_make_format_list() Change the interface of avfilter_make_format_list() from avfilter_make_format_list(int n, ...) to avfilter_make_format_list(enum PixelFormat *pix_fmts). 2009-10-18 - 0eb4ff9 - lavfi 1.0.0 - avfilter_get_video_buffer() Make avfilter_get_video_buffer() recursive and add the w and h parameters to it. 2009-10-07 - 46c40e4 - lavfi 0.5.1 - AVFilterPic Add w and h fields to AVFilterPic. 2009-06-22 - 92400be - lavf 52.34.1 - AVFormatContext.packet_size This is now an unsigned int instead of a signed int. 2009-06-19 - a4276ba - lavc 52.32.0 - AVSubtitle.pts Add a pts field to AVSubtitle which gives the subtitle packet pts in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will not work right without this. 2009-06-03 - 8f3f2e0 - lavc 52.30.2 - AV_PKT_FLAG_KEY PKT_FLAG_KEY has been deprecated and will be dropped at the next major version. Use AV_PKT_FLAG_KEY instead. 2009-06-01 - f988ce6 - lavc 52.30.0 - av_lockmgr_register() av_lockmgr_register() can be used to register a callback function that lavc (and in the future, libraries that depend on lavc) can use to implement mutexes. The application should provide a callback function that implements the AV_LOCK_* operations described in avcodec.h. When the lock manager is registered, FFmpeg is guaranteed to behave correctly in a multi-threaded application. 2009-04-30 - ce1d9c8 - lavc 52.28.0 - av_free_packet() av_free_packet() is no longer an inline function. It is now exported. 2009-04-11 - 80d403f - lavc 52.25.0 - deprecate av_destruct_packet_nofree() Please use NULL instead. This has been supported since r16506 (lavf > 52.23.1, lavc > 52.10.0). 2009-04-07 - 7a00bba - lavc 52.23.0 - avcodec_decode_video/audio/subtitle The old decoding functions are deprecated, all new code should use the new functions avcodec_decode_video2(), avcodec_decode_audio3() and avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt argument instead of a const uint8_t *buf / int buf_size pair. 2009-04-03 - 7b09db3 - lavu 50.3.0 - av_fifo_space() Introduce the av_fifo_space() function. 2009-04-02 - fabd246 - lavc 52.23.0 - AVPacket Move AVPacket declaration from libavformat/avformat.h to libavcodec/avcodec.h. 2009-03-22 - 6e08ca9 - lavu 50.2.0 - RGB32 pixel formats Convert the pixel formats PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR, PIX_FMT_BGRA, which were defined as macros, into enum PixelFormat values. Conversely PIX_FMT_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32 and PIX_FMT_BGR32_1 are now macros. avcodec_get_pix_fmt() now recognizes the "rgb32" and "bgr32" aliases. Re-sort the enum PixelFormat list accordingly. This change breaks API/ABI backward compatibility. 2009-03-22 - f82674e - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants Add the enum PixelFormat values: PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE, PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE. 2009-03-21 - ee6624e - lavu 50.0.0 - av_random* The Mersenne Twister PRNG implemented through the av_random* functions was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions instead. 2009-03-08 - 41dd680 - lavu 50.0.0 - AVFifoBuffer av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write and av_fifo_realloc2. In addition, the order of the function arguments of av_fifo_generic_read was changed to match av_fifo_generic_write. The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by applications, they may not use sizeof() or directly access members. 2009-03-01 - ec26457 - lavf 52.31.0 - Generic metadata API Introduce a new metadata API (see av_metadata_get() and friends). The old API is now deprecated and should not be used anymore. This especially includes the following structure fields: - AVFormatContext.title - AVFormatContext.author - AVFormatContext.copyright - AVFormatContext.comment - AVFormatContext.album - AVFormatContext.year - AVFormatContext.track - AVFormatContext.genre - AVStream.language - AVStream.filename - AVProgram.provider_name - AVProgram.name - AVChapter.title