diff options
author | Marton Balint <cus@passwd.hu> | 2012-07-20 23:28:02 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-07-21 05:48:31 +0200 |
commit | 016a4720094a9ffa9d97e20a8d25dd4642732a58 (patch) | |
tree | c41ea47734e49980a876d02da97835d4d27ad265 | |
parent | 296c1b6bd1fa41b2c09dd378a991e3cde0f5d6d3 (diff) | |
download | ffmpeg-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/APIchanges | 3 | ||||
-rw-r--r-- | libavcodec/avcodec.h | 15 | ||||
-rw-r--r-- | libavcodec/utils.c | 1 | ||||
-rw-r--r-- | libavcodec/version.h | 2 |
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, \ |