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
This commit is contained in:
Kostya Shishkov 2009-10-10 07:35:31 +00:00
parent 54eb4ae0a2
commit 9e553f7acc
2 changed files with 7 additions and 1 deletions

View File

@ -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:

View File

@ -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