aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Kühnel <kuehnelth@googlemail.com>2011-09-26 22:26:13 +0200
committerStefano Sabatini <stefasab@gmail.com>2012-07-14 13:00:18 +0200
commitf49ec1b40406b4ccc51578f2f11131ceb3eb838c (patch)
tree21c072dd3d9869eaadd3ff2350412599f7de946d
parent2090e40410693ce30ed2080f2cea2f4ccfb9ac94 (diff)
downloadffmpeg-f49ec1b40406b4ccc51578f2f11131ceb3eb838c.tar.gz
lavc: add metadata to AVFrame
See thread: Subject: [libav-devel] [PATCH 1/3] avcodec: add metadata to AVFrame Date: Tue, 4 Oct 2011 00:19:51 +0200
-rw-r--r--doc/APIchanges4
-rw-r--r--libavcodec/avcodec.h11
-rw-r--r--libavcodec/utils.c1
-rw-r--r--libavcodec/version.h2
4 files changed, 17 insertions, 1 deletions
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, \