Never assume the API of libav* to be stable unless at least 1 month has passedsince the last major version increase. The last version increases were:libavcodec: 2013-03-xxlibavdevice: 2013-03-xxlibavfilter: 2012-06-22libavformat: 2013-03-xxlibavresample: 2012-10-05libswscale: 2011-06-20libavutil: 2012-10-22 API changes, most recent first: 2013-11-xx - xxxxxxx - lavc 55.25.0 - avcodec.h Add ITU-R BT.2020 and other not yet included values to color primaries, transfer characteristics and colorspaces. 2013-08-xx - xxxxxxx - lavu 52.17.0 - avframe.h Add AVFrame.flags and AV_FRAME_FLAG_CORRUPT. 2013-08-xx - xxxxxxx - lavfi 3.11.0 - avfilter.h Add AVFilterGraph.execute and AVFilterGraph.opaque for custom slice threading implementations. 2013-09-21 - xxxxxxx - lavu 52.16.0 - pixfmt.h Add interleaved 4:2:2 8/10-bit formats AV_PIX_FMT_NV16 and AV_PIX_FMT_NV20. 2013-09-16 - 3feb3d6 - lavu 52.15.0 - mem.h Add av_reallocp. 2013-08-10 - 5a9a9d4 - lavc 55.16.0 - avcodec.h Extend AVPacket API with av_packet_unref, av_packet_ref, av_packet_move_ref, av_packet_copy_props, av_packet_free_side_data. 2013-08-05 - f824535 - lavc 55.13.0 - avcodec.h Deprecate the bitstream-related members from struct AVVDPAUContext. The bistream buffers no longer need to be explicitly freed. 2013-08-05 - 549294f - lavc 55.12.0 - avcodec.h Deprecate the CODEC_CAP_HWACCEL_VDPAU codec capability. Use CODEC_CAP_HWACCEL and select the AV_PIX_FMT_VDPAU format with get_format() instead. 2013-08-05 - a0ad5d0 - lavu 52.14.0 - pixfmt.h Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead. 2013-08-02 - a8b1927 - lavc 55.11.0 - avcodec.h Add output_picture_number to AVCodecParserContext. 2013-06-24 - 95d5246 - lavc 55.10.0 - avcodec.h Add MPEG-2 AAC profiles 2013-06-04 - fc962d4 - lavu 52.13.0 - mem.h Add av_realloc_array and av_reallocp_array 2013-05-24 - 129bb23 - lavfi 3.10.0 - avfilter.h Add support for slice multithreading to lavfi. Filters supporting threading are marked with AVFILTER_FLAG_SLICE_THREADS. New fields AVFilterContext.thread_type, AVFilterGraph.thread_type and AVFilterGraph.nb_threads (accessible directly or through AVOptions) may be used to configure multithreading. 2013-05-24 - 2a6eaea - lavu 52.12.0 - cpu.h Add av_cpu_count() function for getting the number of logical CPUs. 2013-05-24 - b493847 - lavc 55.7.0 - avcodec.h Add picture_structure to AVCodecParserContext. 2013-05-15 - e6c4ac7 - lavu 52.11.0 - pixdesc.h Replace PIX_FMT_* flags with AV_PIX_FMT_FLAG_*. 2013-04-03 - 507b1e4 - lavc 55.4.0 - avcodec.h Add field_order to AVCodecParserContext. 2013-04-19 - 5e83d9a - lavc 55.2.0 - avcodec.h Add CODEC_FLAG_UNALIGNED to allow decoders to produce unaligned output. 2013-04-11 - lavfi 3.8.0 38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate avfilterhraph.h, user applications should include just avfilter.h bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and avfilter_graph_add_filter(). 1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the filter. 48a5ada - Add avfilter_init_str(), deprecate avfilter_init_filter(). 1ba95a9 - Add avfilter_init_dict(). 7cdd737 - Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags. 7e8fe4b - Add avfilter_pad_count() for counting filter inputs/outputs. fa2a34c - Add avfilter_next(), deprecate av_filter_next(). Deprecate avfilter_uninit(). 2013-04-09 - lavfi 3.7.0 - avfilter.h b439c99 - Add AVFilter.priv_class for exporting filter options through the AVOptions API in the similar way private options work in lavc and lavf. 8114c10 - Add avfilter_get_class(). Switch all filters to use AVOptions. 2013-03-19 - 2c328a9 - lavu 52.9.0 - pixdesc.h Add av_pix_fmt_count_planes() function for counting planes in a pixel format. 2013-03-16 - 42c7c61 - lavfi 3.6.0 Add AVFilterGraph.nb_filters, deprecate AVFilterGraph.filter_count. 2013-03-08 - Reference counted buffers - lavu 52.8.0, lavc 55.0.0, lavf 55.0.0,lavd 54.0.0, lavfi 3.5.0 8e401db, 1cec062 - add a new API for reference counted buffers and buffer pools (new header libavutil/buffer.h). 1afddbe - add AVPacket.buf to allow reference counting for the AVPacket data. Add av_packet_from_data() function for constructing packets from av_malloc()ed data. 7ecc2d4 - move AVFrame from lavc to lavu (new header libavutil/frame.h), add AVFrame.buf/extended_buf to allow reference counting for the AVFrame data. Add new API for working with reference-counted AVFrames. 759001c - add the refcounted_frames field to AVCodecContext to make audio and video decoders return reference-counted frames. Add get_buffer2() callback to AVCodecContext which allocates reference-counted frames. Add avcodec_default_get_buffer2() as the default get_buffer2() implementation. Deprecate AVCodecContext.get_buffer() / release_buffer() / reget_buffer(), avcodec_default_get_buffer(), avcodec_default_reget_buffer(), avcodec_default_release_buffer(). Remove avcodec_default_free_buffers(), which should not have ever been called from outside of lavc. Deprecate the following AVFrame fields: * base -- is now stored in AVBufferRef * reference, type, buffer_hints -- are unnecessary in the new API * hwaccel_picture_private, owner, thread_opaque -- should not have been acessed from outside of lavc * qscale_table, qstride, qscale_type, mbskip_table, motion_val, mb_type, dct_coeff, ref_index -- mpegvideo-specific tables, which are not exported anymore. 7e35037 - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add av_buffersrc_add_frame(), deprecate av_buffersrc_buffer(). Add av_buffersink_get_frame() and av_buffersink_get_samples(), deprecate av_buffersink_read() and av_buffersink_read_samples(). Deprecate AVFilterBufferRef and all functions for working with it. 2013-03-17 - 12c5c1d - lavu 52.8.0 - avstring.h Add av_isdigit, av_isgraph, av_isspace, av_isxdigit. 2013-02-23 - 9f12235 - lavfi 3.4.0 - avfiltergraph.h Add resample_lavr_opts to AVFilterGraph for setting libavresample options for auto-inserted resample filters. 2013-01-25 - 38c1466 - lavu 52.7.0 - dict.h Add av_dict_parse_string() to set multiple key/value pairs at once from a string. 2013-01-25 - b85a5e8 - lavu 52.6.0 - avstring.h Add av_strnstr() 2013-01-15 - 8ee288d - lavu 52.5.0 - hmac.h Add AVHMAC. 2013-01-13 - 44e065d - lavc 54.36.0 - vdpau.h Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding. 2013-01-12 - 169fb94 - lavu 52.4.0 - pixdesc.h Add AV_PIX_FMT_VDPAU flag. 2013-01-07 - 074a00d - lavr 1.1.0 Add avresample_set_channel_mapping() for input channel reordering, duplication, and silencing. 2012-12-29 - d8fd06c - lavu 52.3.0 - avstring.h Add av_basename() and av_dirname(). 2012-11-11 - 5980f5d - lavu 52.2.0 - audioconvert.h Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated. 2012-11-05 - dfde8a3 - lavu 52.1.0 - intmath.h Add av_ctz() for trailing zero bit count 2012-10-21 - a893655 - lavu 51.45.0 - error.h Add AVERROR_EXPERIMENTAL 2012-10-12 - d2fcb35 - lavu 51.44.0 - pixdesc.h Add functions for accessing pixel format descriptors. Accessing the av_pix_fmt_descriptors array directly is now deprecated. 2012-10-11 - 9a92aea - lavu 51.43.0 - aes.h, md5.h, sha.h, tree.h Add functions for allocating the opaque contexts for the algorithms, deprecate the context size variables. 2012-10-10 - b522000 - lavf 54.18.0 - avio.h Add avio_closep to complement avio_close. 2012-10-08 - 78071a1 - lavu 51.42.0 - pixfmt.h Rename PixelFormat to AVPixelFormat and all PIX_FMT_* to AV_PIX_FMT_*. To provide backwards compatibility, PixelFormat is now #defined as AVPixelFormat. Note that this can break user code that includes pixfmt.h and uses the 'PixelFormat' identifier. Such code should either #undef PixelFormat or stop using the PixelFormat name. 2012-10-05 - e7ba5b1 - lavr 1.0.0 - avresample.h Data planes parameters to avresample_convert() and avresample_read() are now uint8_t** instead of void**. Libavresample is now stable. 2012-09-24 - a42aada - lavc 54.28.0 - avcodec.h Add avcodec_free_frame(). This function must now be used for freeing an AVFrame. 2012-09-12 - 8919fee - lavu 51.41.0 - audioconvert.h Added AV_CH_LOW_FREQUENCY_2 channel mask value. 2012-09-04 - 686a329 - lavu 51.40.0 - opt.h Reordered the fields in default_val in AVOption, changed which default_val field is used for which AVOptionType. 2012-08-30 - a231832 - lavc 54.26.1 - avcodec.h Add codec descriptor properties AV_CODEC_PROP_LOSSY and AV_CODEC_PROP_LOSSLESS. 2012-08-18 - lavc 54.26 - avcodec.h Add codec descriptors for accessing codec properties without having to refer to a specific decoder or encoder. c223d79 - Add an AVCodecDescriptor struct and functions avcodec_descriptor_get() and avcodec_descriptor_next(). 51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY. 91e59fe - Add avcodec_descriptor_get_by_name(). 2012-08-08 - 1d9c2dc - lavu 51.39 - avutil.h Don't implicitly include libavutil/common.h in avutil.h 2012-08-08 - 987170c - lavu 51.38 - dict.h Add av_dict_count(). 2012-08-07 - 104e10f - lavc 54.25 - avcodec.h Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*. To provide backwards compatibility, CodecID is now #defined as AVCodecID. Note that this can break user code that includes avcodec.h and uses the 'CodecID' identifier. Such code should either #undef CodecID or stop using the CodecID name. 2012-08-03 - 239fdf1 - 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-29 - 681ed00 - lavf 54.13.0 - avformat.h Add AVFMT_FLAG_NOBUFFER for low latency use cases. 2012-07-20 - b70d89a - 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-20 - 3c90cc2 - lavfo 54.2.0 Deprecate av_read_packet(), use av_read_frame() with AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags 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.Lines 1–500 of 1374. Load more
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: 2013-03-xx libavdevice: 2013-03-xx libavfilter: 2012-06-22 libavformat: 2013-03-xx libavresample: 2012-10-05 libswscale: 2011-06-20 libavutil: 2012-10-22 API changes, most recent first: 2013-11-xx - xxxxxxx - lavc 55.25.0 - avcodec.h Add ITU-R BT.2020 and other not yet included values to color primaries, transfer characteristics and colorspaces. 2013-08-xx - xxxxxxx - lavu 52.17.0 - avframe.h Add AVFrame.flags and AV_FRAME_FLAG_CORRUPT. 2013-08-xx - xxxxxxx - lavfi 3.11.0 - avfilter.h Add AVFilterGraph.execute and AVFilterGraph.opaque for custom slice threading implementations. 2013-09-21 - xxxxxxx - lavu 52.16.0 - pixfmt.h Add interleaved 4:2:2 8/10-bit formats AV_PIX_FMT_NV16 and AV_PIX_FMT_NV20. 2013-09-16 - 3feb3d6 - lavu 52.15.0 - mem.h Add av_reallocp. 2013-08-10 - 5a9a9d4 - lavc 55.16.0 - avcodec.h Extend AVPacket API with av_packet_unref, av_packet_ref, av_packet_move_ref, av_packet_copy_props, av_packet_free_side_data. 2013-08-05 - f824535 - lavc 55.13.0 - avcodec.h Deprecate the bitstream-related members from struct AVVDPAUContext. The bistream buffers no longer need to be explicitly freed. 2013-08-05 - 549294f - lavc 55.12.0 - avcodec.h Deprecate the CODEC_CAP_HWACCEL_VDPAU codec capability. Use CODEC_CAP_HWACCEL and select the AV_PIX_FMT_VDPAU format with get_format() instead. 2013-08-05 - a0ad5d0 - lavu 52.14.0 - pixfmt.h Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead. 2013-08-02 - a8b1927 - lavc 55.11.0 - avcodec.h Add output_picture_number to AVCodecParserContext. 2013-06-24 - 95d5246 - lavc 55.10.0 - avcodec.h Add MPEG-2 AAC profiles 2013-06-04 - fc962d4 - lavu 52.13.0 - mem.h Add av_realloc_array and av_reallocp_array 2013-05-24 - 129bb23 - lavfi 3.10.0 - avfilter.h Add support for slice multithreading to lavfi. Filters supporting threading are marked with AVFILTER_FLAG_SLICE_THREADS. New fields AVFilterContext.thread_type, AVFilterGraph.thread_type and AVFilterGraph.nb_threads (accessible directly or through AVOptions) may be used to configure multithreading. 2013-05-24 - 2a6eaea - lavu 52.12.0 - cpu.h Add av_cpu_count() function for getting the number of logical CPUs. 2013-05-24 - b493847 - lavc 55.7.0 - avcodec.h Add picture_structure to AVCodecParserContext. 2013-05-15 - e6c4ac7 - lavu 52.11.0 - pixdesc.h Replace PIX_FMT_* flags with AV_PIX_FMT_FLAG_*. 2013-04-03 - 507b1e4 - lavc 55.4.0 - avcodec.h Add field_order to AVCodecParserContext. 2013-04-19 - 5e83d9a - lavc 55.2.0 - avcodec.h Add CODEC_FLAG_UNALIGNED to allow decoders to produce unaligned output. 2013-04-11 - lavfi 3.8.0 38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate avfilterhraph.h, user applications should include just avfilter.h bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and avfilter_graph_add_filter(). 1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the filter. 48a5ada - Add avfilter_init_str(), deprecate avfilter_init_filter(). 1ba95a9 - Add avfilter_init_dict(). 7cdd737 - Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags. 7e8fe4b - Add avfilter_pad_count() for counting filter inputs/outputs. fa2a34c - Add avfilter_next(), deprecate av_filter_next(). Deprecate avfilter_uninit(). 2013-04-09 - lavfi 3.7.0 - avfilter.h b439c99 - Add AVFilter.priv_class for exporting filter options through the AVOptions API in the similar way private options work in lavc and lavf. 8114c10 - Add avfilter_get_class(). Switch all filters to use AVOptions. 2013-03-19 - 2c328a9 - lavu 52.9.0 - pixdesc.h Add av_pix_fmt_count_planes() function for counting planes in a pixel format. 2013-03-16 - 42c7c61 - lavfi 3.6.0 Add AVFilterGraph.nb_filters, deprecate AVFilterGraph.filter_count. 2013-03-08 - Reference counted buffers - lavu 52.8.0, lavc 55.0.0, lavf 55.0.0, lavd 54.0.0, lavfi 3.5.0 8e401db, 1cec062 - add a new API for reference counted buffers and buffer pools (new header libavutil/buffer.h). 1afddbe - add AVPacket.buf to allow reference counting for the AVPacket data. Add av_packet_from_data() function for constructing packets from av_malloc()ed data. 7ecc2d4 - move AVFrame from lavc to lavu (new header libavutil/frame.h), add AVFrame.buf/extended_buf to allow reference counting for the AVFrame data. Add new API for working with reference-counted AVFrames. 759001c - add the refcounted_frames field to AVCodecContext to make audio and video decoders return reference-counted frames. Add get_buffer2() callback to AVCodecContext which allocates reference-counted frames. Add avcodec_default_get_buffer2() as the default get_buffer2() implementation. Deprecate AVCodecContext.get_buffer() / release_buffer() / reget_buffer(), avcodec_default_get_buffer(), avcodec_default_reget_buffer(), avcodec_default_release_buffer(). Remove avcodec_default_free_buffers(), which should not have ever been called from outside of lavc. Deprecate the following AVFrame fields: * base -- is now stored in AVBufferRef * reference, type, buffer_hints -- are unnecessary in the new API * hwaccel_picture_private, owner, thread_opaque -- should not have been acessed from outside of lavc * qscale_table, qstride, qscale_type, mbskip_table, motion_val, mb_type, dct_coeff, ref_index -- mpegvideo-specific tables, which are not exported anymore. 7e35037 - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add av_buffersrc_add_frame(), deprecate av_buffersrc_buffer(). Add av_buffersink_get_frame() and av_buffersink_get_samples(), deprecate av_buffersink_read() and av_buffersink_read_samples(). Deprecate AVFilterBufferRef and all functions for working with it. 2013-03-17 - 12c5c1d - lavu 52.8.0 - avstring.h Add av_isdigit, av_isgraph, av_isspace, av_isxdigit. 2013-02-23 - 9f12235 - lavfi 3.4.0 - avfiltergraph.h Add resample_lavr_opts to AVFilterGraph for setting libavresample options for auto-inserted resample filters. 2013-01-25 - 38c1466 - lavu 52.7.0 - dict.h Add av_dict_parse_string() to set multiple key/value pairs at once from a string. 2013-01-25 - b85a5e8 - lavu 52.6.0 - avstring.h Add av_strnstr() 2013-01-15 - 8ee288d - lavu 52.5.0 - hmac.h Add AVHMAC. 2013-01-13 - 44e065d - lavc 54.36.0 - vdpau.h Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding. 2013-01-12 - 169fb94 - lavu 52.4.0 - pixdesc.h Add AV_PIX_FMT_VDPAU flag. 2013-01-07 - 074a00d - lavr 1.1.0 Add avresample_set_channel_mapping() for input channel reordering, duplication, and silencing. 2012-12-29 - d8fd06c - lavu 52.3.0 - avstring.h Add av_basename() and av_dirname(). 2012-11-11 - 5980f5d - lavu 52.2.0 - audioconvert.h Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated. 2012-11-05 - dfde8a3 - lavu 52.1.0 - intmath.h Add av_ctz() for trailing zero bit count 2012-10-21 - a893655 - lavu 51.45.0 - error.h Add AVERROR_EXPERIMENTAL 2012-10-12 - d2fcb35 - lavu 51.44.0 - pixdesc.h Add functions for accessing pixel format descriptors. Accessing the av_pix_fmt_descriptors array directly is now deprecated. 2012-10-11 - 9a92aea - lavu 51.43.0 - aes.h, md5.h, sha.h, tree.h Add functions for allocating the opaque contexts for the algorithms, deprecate the context size variables. 2012-10-10 - b522000 - lavf 54.18.0 - avio.h Add avio_closep to complement avio_close. 2012-10-08 - 78071a1 - lavu 51.42.0 - pixfmt.h Rename PixelFormat to AVPixelFormat and all PIX_FMT_* to AV_PIX_FMT_*. To provide backwards compatibility, PixelFormat is now #defined as AVPixelFormat. Note that this can break user code that includes pixfmt.h and uses the 'PixelFormat' identifier. Such code should either #undef PixelFormat or stop using the PixelFormat name. 2012-10-05 - e7ba5b1 - lavr 1.0.0 - avresample.h Data planes parameters to avresample_convert() and avresample_read() are now uint8_t** instead of void**. Libavresample is now stable. 2012-09-24 - a42aada - lavc 54.28.0 - avcodec.h Add avcodec_free_frame(). This function must now be used for freeing an AVFrame. 2012-09-12 - 8919fee - lavu 51.41.0 - audioconvert.h Added AV_CH_LOW_FREQUENCY_2 channel mask value. 2012-09-04 - 686a329 - lavu 51.40.0 - opt.h Reordered the fields in default_val in AVOption, changed which default_val field is used for which AVOptionType. 2012-08-30 - a231832 - lavc 54.26.1 - avcodec.h Add codec descriptor properties AV_CODEC_PROP_LOSSY and AV_CODEC_PROP_LOSSLESS. 2012-08-18 - lavc 54.26 - avcodec.h Add codec descriptors for accessing codec properties without having to refer to a specific decoder or encoder. c223d79 - Add an AVCodecDescriptor struct and functions avcodec_descriptor_get() and avcodec_descriptor_next(). 51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY. 91e59fe - Add avcodec_descriptor_get_by_name(). 2012-08-08 - 1d9c2dc - lavu 51.39 - avutil.h Don't implicitly include libavutil/common.h in avutil.h 2012-08-08 - 987170c - lavu 51.38 - dict.h Add av_dict_count(). 2012-08-07 - 104e10f - lavc 54.25 - avcodec.h Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*. To provide backwards compatibility, CodecID is now #defined as AVCodecID. Note that this can break user code that includes avcodec.h and uses the 'CodecID' identifier. Such code should either #undef CodecID or stop using the CodecID name. 2012-08-03 - 239fdf1 - 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-29 - 681ed00 - lavf 54.13.0 - avformat.h Add AVFMT_FLAG_NOBUFFER for low latency use cases. 2012-07-20 - b70d89a - 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-20 - 3c90cc2 - lavfo 54.2.0 Deprecate av_read_packet(), use av_read_frame() with AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags 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.