Set aspect ratio if present (for AP only)
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 27 Jan 2007 06:57:11 +0000 (06:57 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 27 Jan 2007 06:57:11 +0000 (06:57 +0000)
Originally committed as revision 7720 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vc1.c

index f08c964696cf3b89e52a601b81818a6901af8dbc..40b79b32623f37c23d4bcbc8c09e21276facd8d2 100644 (file)
@@ -1296,12 +1296,14 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)
         w = get_bits(gb, 14) + 1;
         h = get_bits(gb, 14) + 1;
         av_log(v->s.avctx, AV_LOG_INFO, "Display dimensions: %ix%i\n", w, h);
-        //TODO: store aspect ratio in AVCodecContext
         if(get_bits1(gb))
             ar = get_bits(gb, 4);
-        if(ar == 15) {
+        if(ar && ar < 14){
+            v->s.avctx->sample_aspect_ratio = vc1_pixel_aspect[ar];
+        }else if(ar == 15){
             w = get_bits(gb, 8);
             h = get_bits(gb, 8);
+            v->s.avctx->sample_aspect_ratio = (AVRational){w, h};
         }
 
         if(get_bits1(gb)){ //framerate stuff