summaryrefslogtreecommitdiff
path: root/libavcodec/vc1.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-08-26 01:29:40 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-08-26 01:29:40 +0200
commit876d1d796bd80c75e3e6a7a458e3143cfe5c9474 (patch)
tree949cc4c9120dc58512d84998adcb949d173cd9c0 /libavcodec/vc1.c
parent7c4e4c6a0664bf668f4b7766a06f30096e0601f3 (diff)
parentf913eeea43078b3b9052efd8d8d29e7b29b39208 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling mpeg12: propagate chunk decode errors and fix conditional indentation vc1: fix VC-1 Pulldown handling. VC1: Fix first/last row checks with slices mp4: Handle non-trivial ES Descriptors. vc1: properly zero coded_block[] edges on new slice entry. Conflicts: libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vc1.c')
-rw-r--r--libavcodec/vc1.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 04fa77a7de..621f33bf62 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -503,6 +503,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)){
@@ -821,7 +825,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);
@@ -837,6 +841,9 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
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);