[FFmpeg-cvslog] Fix VC-1 playback with pulldown content

Alexandre Colucci git at videolan.org
Mon Apr 4 16:12:34 CEST 2011


ffmpeg | branch: master | Alexandre Colucci <alexandre at elgato.com> | Mon Apr  4 15:08:50 2011 +0200| [2506ad9f170ba3c21eed5dd884f51413adc51d37] | committer: Michael Niedermayer

Fix VC-1 playback with pulldown content

The attached patch fixes the jerky playback of VC-1 content with pulldown. The pulldown flags were incorrectly set. They must be correct in order to display the frames with the correct timing as mentioned in the specifications: "SMPTE 421M: VC-1 Compressed Video Bitstream Format and Decoding Process". More precisely the following tables:

Table 20: Progressive P picture layer bitstream for Advanced Profile
Table 22: Progressive B picture layer bitstream for Advanced Profile
Table 23: Progressive Skipped picture layer bitstream for Advanced Profile
Table 82: Interlaced Frame I and BI picture layer bitstream for Advanced Profile
Table 83: Interlaced Frame P picture layer bitstream for Advanced Profile
Table 84: Interlaced Frame B picture layer bitstream for Advanced Profile
Table 85: Picture Layer bitstream for Field 1 of Interlace Field Picture for Advanced Profile

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2506ad9f170ba3c21eed5dd884f51413adc51d37
---

 libavcodec/vc1.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 1b77105..73f0cba 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -859,7 +859,7 @@ 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) {



More information about the ffmpeg-cvslog mailing list