aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2012-07-20 23:28:02 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-07-21 05:48:31 +0200
commit016a4720094a9ffa9d97e20a8d25dd4642732a58 (patch)
treec41ea47734e49980a876d02da97835d4d27ad265
parent296c1b6bd1fa41b2c09dd378a991e3cde0f5d6d3 (diff)
downloadffmpeg-016a4720094a9ffa9d97e20a8d25dd4642732a58.tar.gz
avcodec: add decode_error_flags field to AVFrame
Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--doc/APIchanges3
-rw-r--r--libavcodec/avcodec.h15
-rw-r--r--libavcodec/utils.c1
-rw-r--r--libavcodec/version.h2
4 files changed, 20 insertions, 1 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index 20bab5a241..9203cee3d6 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil: 2011-04-18
API changes, most recent first:
+2012-07-20 - xxxxxxx - lavc 54.43.100
+ Add decode_error_flags field to AVFrame.
+
2012-07-20 - xxxxxxx - lavf 54.18.100
Add avformat_match_stream_specifier() function.
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 6711b78d3d..dda46f8e90 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1323,6 +1323,19 @@ typedef struct AVFrame {
* - decoding: Set by libavcodec.
*/
AVDictionary *metadata;
+
+ /**
+ * decode error flags of the frame, set to a combination of
+ * FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there
+ * were errors during the decoding.
+ * Code outside libavcodec should access this field using:
+ * av_frame_get_decode_error_flags(frame)
+ * - encoding: unused
+ * - decoding: set by libavcodec, read by user.
+ */
+ int decode_error_flags;
+#define FF_DECODE_ERROR_INVALID_BITSTREAM 1
+#define FF_DECODE_ERROR_MISSING_REFERENCE 2
} AVFrame;
/**
@@ -1342,6 +1355,8 @@ int av_frame_get_sample_rate (const AVFrame *frame);
void av_frame_set_sample_rate (AVFrame *frame, int val);
AVDictionary *av_frame_get_metadata (const AVFrame *frame);
void av_frame_set_metadata (AVFrame *frame, AVDictionary *val);
+int av_frame_get_decode_error_flags (const AVFrame *frame);
+void av_frame_set_decode_error_flags (AVFrame *frame, int val);
struct AVCodecInternal;
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index e73d72abba..53fda1f9b0 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -726,6 +726,7 @@ 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(AVFrame, frame, int, decode_error_flags)
MAKE_ACCESSORS(AVCodecContext, codec, AVRational, pkt_timebase)
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 2f829171f8..47e6ff938b 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -27,7 +27,7 @@
*/
#define LIBAVCODEC_VERSION_MAJOR 54
-#define LIBAVCODEC_VERSION_MINOR 42
+#define LIBAVCODEC_VERSION_MINOR 43
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \