X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2FAPIchanges;h=944d2149773960150a74ccc21d8bc044100ec954;hb=f412b2c9f3a7add0ab8021262ec4bad249347e30;hp=dac87ee6062d4739468a95f475455d43e3adead6;hpb=d89eca507c00f92e3b0649d678e9ea406b85b1b4;p=ffmpeg diff --git a/doc/APIchanges b/doc/APIchanges index dac87ee6062..944d2149773 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,17 +2,311 @@ 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: 2011-04-18 -libavformat: 2012-01-27 -libavresample: 2012-04-24 +libavcodec: 2013-03-xx +libavdevice: 2013-03-xx +libavfilter: 2013-12-xx +libavformat: 2013-03-xx +libavresample: 2012-10-05 libswscale: 2011-06-20 -libavutil: 2011-04-18 +libavutil: 2013-12-xx API changes, most recent first: +2013-12-xx - xxxxxxx - lavc 55.28.1 - avcodec.h + av_frame_alloc(), av_frame_unref() and av_frame_free() now can and should be + used instead of avcodec_alloc_frame(), avcodec_get_frame_defaults() and + avcodec_free_frame() respectively. The latter three functions are deprecated. + +2013-11-xx - xxxxxxx- - lavu 52.20.0 - frame.h + Add AV_FRAME_DATA_STEREO3D value to the AVFrameSideDataType enum and + stereo3d.h API, that identify codec-independent stereo3d information. + +2013-11-xx - xxxxxxx- - lavu 52.19.0 - frame.h + Add AV_FRAME_DATA_A53_CC value to the AVFrameSideDataType enum, which + identifies ATSC A53 Part 4 Closed Captions data. + +2013-11-xx - xxxxxxx - lavu 52.18.0 - mem.h + Move av_fast_malloc() and av_fast_realloc() for libavcodec to libavutil. + +2013-10-xx - xxxxxxx - lavc 55.27.0 - avcodec.h + Deprecate AVCodecContext.error_rate, it is replaced by the 'error_rate' + private option of the mpegvideo encoder family. + +2013-11-xx - xxxxxxx - lavc 55.26.0 - vdpau.h + Add av_vdpau_get_profile(). + Add av_vdpau_alloc_context(). This function must from now on be + used for allocating AVVDPAUContext. + +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 @@ -67,6 +361,10 @@ API changes, most recent first: 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().