summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2009-10-10 07:35:31 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2009-10-10 07:35:31 +0000
commit9e553f7acc2f378389a37af214ba5f1a4d99365f (patch)
tree946d81ed4c6e172e578a8c44e6711ac7cf0b7b1a
parent54eb4ae0a2da947d3c509a7eaaeb91a86d9fa2ee (diff)
downloadffmpeg-9e553f7acc2f378389a37af214ba5f1a4d99365f.tar.gz
Print error message when true interlaced VC-1 frames are encountered
to inform user why decoder produces no output. Originally committed as revision 20196 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/vc1.c6
-rw-r--r--libavcodec/vc1.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index ec6a660ad9..648541e2b5 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -781,7 +781,11 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
if(v->interlace){
v->fcm = decode012(gb);
- if(v->fcm) return -1; // interlaced frames/fields are not implemented
+ if(v->fcm){
+ if(!v->warn_interlaced++)
+ av_log(v->s.avctx, AV_LOG_ERROR, "Interlaced frames/fields support is not implemented\n");
+ return -1;
+ }
}
switch(get_unary(gb, 0, 4)) {
case 0:
diff --git a/libavcodec/vc1.h b/libavcodec/vc1.h
index e90feb2984..d5f0e05465 100644
--- a/libavcodec/vc1.h
+++ b/libavcodec/vc1.h
@@ -312,6 +312,8 @@ typedef struct VC1Context{
uint8_t closed_entry; ///< Closed entry point flag (CLOSED_ENTRY syntax element)
int parse_only; ///< Context is used within parser
+
+ int warn_interlaced;
} VC1Context;
/** Find VC-1 marker in buffer