diff --git a/Changelog b/Changelog index bff5a1d6b5..834821eef5 100644 --- a/Changelog +++ b/Changelog @@ -3,6 +3,7 @@ releases are sorted from youngest to oldest. version : - curves filter +- reference-counting for AVFrame and AVPacket data version 1.2: diff --git a/doc/APIchanges b/doc/APIchanges index d4362c1b56..0b2295c562 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,10 +2,10 @@ Never assume the API of libav* to be stable unless at least 1 month has passed since the last major version increase or the API was added. The last version increases were: -libavcodec: 2012-01-27 -libavdevice: 2011-04-18 +libavcodec: 2013-03-xx +libavdevice: 2013-03-xx libavfilter: 2012-06-22 -libavformat: 2012-01-27 +libavformat: 2013-03-xx libavresample: 2012-10-05 libpostproc: 2011-04-18 libswresample: 2011-09-19 @@ -144,6 +144,40 @@ API changes, most recent first: 2012-03-26 - a67d9cf - lavfi 2.66.100 Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions. +2013-03-xx - Reference counted buffers - lavu 52.8.0, lavc 55.0.0, lavf 55.0.0, +lavd 54.0.0, lavfi 3.5.0 + xxxxxxx, xxxxxxx - add a new API for reference counted buffers and buffer + pools (new header libavutil/buffer.h). + xxxxxxx - 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. + xxxxxxx - 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. + xxxxxxx - 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. + xxxxxxx - 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-xx-xx - xxxxxxx - lavu 52.8.0 - avstring.h Add av_isdigit, av_isgraph, av_isspace, av_isxdigit. diff --git a/libavcodec/version.h b/libavcodec/version.h index 50a203bfd5..3e01b47dc8 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,8 +28,8 @@ #include "libavutil/avutil.h" -#define LIBAVCODEC_VERSION_MAJOR 54 -#define LIBAVCODEC_VERSION_MINOR 92 +#define LIBAVCODEC_VERSION_MAJOR 55 +#define LIBAVCODEC_VERSION_MINOR 0 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ diff --git a/libavdevice/version.h b/libavdevice/version.h index 9e0c0ae940..9f2577abaf 100644 --- a/libavdevice/version.h +++ b/libavdevice/version.h @@ -28,8 +28,8 @@ #include "libavutil/avutil.h" #define LIBAVDEVICE_VERSION_MAJOR 54 -#define LIBAVDEVICE_VERSION_MINOR 3 -#define LIBAVDEVICE_VERSION_MICRO 103 +#define LIBAVDEVICE_VERSION_MINOR 4 +#define LIBAVDEVICE_VERSION_MICRO 100 #define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \ LIBAVDEVICE_VERSION_MINOR, \ diff --git a/libavfilter/version.h b/libavfilter/version.h index 042257d4c8..18f584fc2e 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -29,8 +29,8 @@ #include "libavutil/avutil.h" #define LIBAVFILTER_VERSION_MAJOR 3 -#define LIBAVFILTER_VERSION_MINOR 44 -#define LIBAVFILTER_VERSION_MICRO 101 +#define LIBAVFILTER_VERSION_MINOR 45 +#define LIBAVFILTER_VERSION_MICRO 100 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ LIBAVFILTER_VERSION_MINOR, \ diff --git a/libavformat/version.h b/libavformat/version.h index 672b9003bf..6cf5850de8 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -29,9 +29,9 @@ #include "libavutil/avutil.h" -#define LIBAVFORMAT_VERSION_MAJOR 54 -#define LIBAVFORMAT_VERSION_MINOR 63 -#define LIBAVFORMAT_VERSION_MICRO 104 +#define LIBAVFORMAT_VERSION_MAJOR 55 +#define LIBAVFORMAT_VERSION_MINOR 0 +#define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ @@ -83,7 +83,7 @@ #define FF_API_AV_GETTIME (LIBAVFORMAT_VERSION_MAJOR < 55) #endif #ifndef FF_API_R_FRAME_RATE -#define FF_API_R_FRAME_RATE (LIBAVFORMAT_VERSION_MAJOR < 55) +#define FF_API_R_FRAME_RATE 1 #endif #endif /* AVFORMAT_VERSION_H */