[SCM] libav/experimental: Set frame rate from extradata

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:55:54 UTC 2013


The following commit has been merged in the experimental branch:
commit f0c31621c6a77093659f8fe5cef67a732621ec77
Author: Kostya Shishkov <kostya.shishkov at gmail.com>
Date:   Sun Feb 4 10:45:01 2007 +0000

    Set frame rate from extradata
    
    Originally committed as revision 7814 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 2fb2ae2..8c69808 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -1320,10 +1320,16 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)
 
         if(get_bits1(gb)){ //framerate stuff
             if(get_bits1(gb)) {
-                get_bits(gb, 16);
+                v->s.avctx->time_base.num = 32;
+                v->s.avctx->time_base.den = get_bits(gb, 16) + 1;
             } else {
-                get_bits(gb, 8);
-                get_bits(gb, 4);
+                int nr, dr;
+                nr = get_bits(gb, 8);
+                dr = get_bits(gb, 4);
+                if(nr && nr < 8 && dr && dr < 3){
+                    v->s.avctx->time_base.num = fps_dr[dr - 1];
+                    v->s.avctx->time_base.den = fps_nr[nr - 1] * 1000;
+                }
             }
         }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list