dv: fix avpriv_dv_codec_profile with lowres > 0
authorMarton Balint <cus@passwd.hu>
Sun, 25 Dec 2011 18:31:23 +0000 (19:31 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 26 Dec 2011 21:12:20 +0000 (22:12 +0100)
Fixes ticket #44.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/dvdata.c
libavformat/dv.c

index b29f5ce..f292d4b 100644 (file)
@@ -287,9 +287,9 @@ const DVprofile* avpriv_dv_codec_profile(AVCodecContext* codec)
     int i;
 
     for (i=0; i<FF_ARRAY_ELEMS(dv_profiles); i++)
-       if (codec->height  == dv_profiles[i].height  &&
-           codec->pix_fmt == dv_profiles[i].pix_fmt &&
-           codec->width   == dv_profiles[i].width)
+       if (codec->coded_height == dv_profiles[i].height  &&
+           codec->pix_fmt      == dv_profiles[i].pix_fmt &&
+           codec->coded_width  == dv_profiles[i].width)
                return &dv_profiles[i];
 
     return NULL;
index 69c0de9..d99dee3 100644 (file)
@@ -251,10 +251,8 @@ static int dv_extract_video_info(DVDemuxContext *c, uint8_t* frame)
         avpriv_set_pts_info(c->vst, 64, c->sys->time_base.num,
                         c->sys->time_base.den);
         avctx->time_base= c->sys->time_base;
-        if (!avctx->width){
-            avctx->width = c->sys->width;
-            avctx->height = c->sys->height;
-        }
+        if (!avctx->width)
+            avcodec_set_dimensions(avctx, c->sys->width, c->sys->height);
         avctx->pix_fmt = c->sys->pix_fmt;
 
         /* finding out SAR is a little bit messy */