diff --git a/doc/APIchanges b/doc/APIchanges index 65870107c9..de05198770 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,10 @@ libavutil: 2011-04-18 API changes, most recent first: +2012-07-14 - xxxxxxx - lavc 54.38.100 - avcodec.h + Add metadata to AVFrame, and the accessor functions + av_frame_get_metadata() and av_frame_set_metadata(). + 2012-07-10 - xxxxxxx - lavc 54.33.100 Add av_fast_padded_mallocz(). diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index c007175ef1..26b732f828 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1313,6 +1313,15 @@ typedef struct AVFrame { * - decoding: Read by user. */ int64_t pkt_duration; + + /** + * metadata. + * Code outside libavcodec should access this field using: + * av_frame_get_metadata(frame) + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + AVDictionary *metadata; } AVFrame; /** @@ -1325,11 +1334,13 @@ int64_t av_frame_get_pkt_duration (const AVFrame *frame); int64_t av_frame_get_pkt_pos (const AVFrame *frame); int64_t av_frame_get_channel_layout (const AVFrame *frame); int av_frame_get_sample_rate (const AVFrame *frame); +AVDictionary *av_frame_get_metadata (const AVFrame *frame); void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val); void av_frame_set_pkt_duration (AVFrame *frame, int64_t val); void av_frame_set_pkt_pos (AVFrame *frame, int64_t val); void av_frame_set_channel_layout (AVFrame *frame, int64_t val); void av_frame_set_sample_rate (AVFrame *frame, int val); +void av_frame_set_metadata (AVFrame *frame, AVDictionary *val); struct AVCodecInternal; diff --git a/libavcodec/utils.c b/libavcodec/utils.c index d6c1e0066d..2d87fa83be 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -725,6 +725,7 @@ MAKE_ACCESSORS(AVFrame, frame, int64_t, pkt_duration) MAKE_ACCESSORS(AVFrame, frame, int64_t, pkt_pos) MAKE_ACCESSORS(AVFrame, frame, int64_t, channel_layout) MAKE_ACCESSORS(AVFrame, frame, int, sample_rate) +MAKE_ACCESSORS(AVFrame, frame, AVDictionary *, metadata) MAKE_ACCESSORS(AVCodecContext, codec, AVRational, pkt_timebase) diff --git a/libavcodec/version.h b/libavcodec/version.h index a95c5b14a6..30d64e29ac 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -27,7 +27,7 @@ */ #define LIBAVCODEC_VERSION_MAJOR 54 -#define LIBAVCODEC_VERSION_MINOR 37 +#define LIBAVCODEC_VERSION_MINOR 38 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \