|
|
@@ -501,6 +501,10 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb) |
|
|
|
v->s.avctx->time_base.den = ff_vc1_fps_nr[nr - 1] * 1000; |
|
|
|
} |
|
|
|
} |
|
|
|
if(v->broadcast) { // Pulldown may be present |
|
|
|
v->s.avctx->time_base.den *= 2; |
|
|
|
v->s.avctx->ticks_per_frame = 2; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(get_bits1(gb)){ |
|
|
@@ -818,7 +822,7 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb) |
|
|
|
case 4: |
|
|
|
v->s.pict_type = AV_PICTURE_TYPE_P; // skipped pic |
|
|
|
v->p_frame_skipped = 1; |
|
|
|
return 0; |
|
|
|
break; |
|
|
|
} |
|
|
|
if(v->tfcntrflag) |
|
|
|
skip_bits(gb, 8); |
|
|
@@ -827,13 +831,16 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb) |
|
|
|
v->rptfrm = get_bits(gb, 2); |
|
|
|
} else { |
|
|
|
v->tff = get_bits1(gb); |
|
|
|
v->rptfrm = get_bits1(gb); |
|
|
|
v->rff = get_bits1(gb); |
|
|
|
} |
|
|
|
} |
|
|
|
if(v->panscanflag) { |
|
|
|
av_log_missing_feature(v->s.avctx, "Pan-scan", 0); |
|
|
|
//... |
|
|
|
} |
|
|
|
if(v->p_frame_skipped) { |
|
|
|
return 0; |
|
|
|
} |
|
|
|
v->rnd = get_bits1(gb); |
|
|
|
if(v->interlace) |
|
|
|
v->uvsamp = get_bits1(gb); |
|
|
|