diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-08-26 01:29:40 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-08-26 01:29:40 +0200 |
commit | 876d1d796bd80c75e3e6a7a458e3143cfe5c9474 (patch) | |
tree | 949cc4c9120dc58512d84998adcb949d173cd9c0 /libavcodec/vc1_parser.c | |
parent | 7c4e4c6a0664bf668f4b7766a06f30096e0601f3 (diff) | |
parent | f913eeea43078b3b9052efd8d8d29e7b29b39208 (diff) | |
download | ffmpeg-876d1d796bd80c75e3e6a7a458e3143cfe5c9474.tar.gz |
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_parser.c')
-rw-r--r-- | libavcodec/vc1_parser.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libavcodec/vc1_parser.c b/libavcodec/vc1_parser.c index 4ea9c47076..99023db492 100644 --- a/libavcodec/vc1_parser.c +++ b/libavcodec/vc1_parser.c @@ -45,6 +45,7 @@ static void vc1_extract_headers(AVCodecParserContext *s, AVCodecContext *avctx, vpc->v.s.avctx = avctx; vpc->v.parse_only = 1; next = buf; + s->repeat_pict = 0; for(start = buf, end = buf + buf_size; next < end; start = next){ int buf2_size, size; @@ -73,6 +74,20 @@ static void vc1_extract_headers(AVCodecParserContext *s, AVCodecContext *avctx, else s->pict_type = vpc->v.s.pict_type; + if (avctx->ticks_per_frame > 1){ + // process pulldown flags + s->repeat_pict = 1; + // Pulldown flags are only valid when 'broadcast' has been set. + // So ticks_per_frame will be 2 + if (vpc->v.rff){ + // repeat field + s->repeat_pict = 2; + }else if (vpc->v.rptfrm){ + // repeat frames + s->repeat_pict = vpc->v.rptfrm * 2 + 1; + } + } + break; } } |