diff --git a/libavcodec/dvdata.c b/libavcodec/dvdata.c index 8c06be7c97..9de1db5270 100644 --- a/libavcodec/dvdata.c +++ b/libavcodec/dvdata.c @@ -323,11 +323,20 @@ const DVprofile* avpriv_dv_frame_profile(const DVprofile *sys, const DVprofile* avpriv_dv_codec_profile(AVCodecContext* codec) { int i; + int w, h; + + if (codec->coded_width || codec->coded_height) { + w = codec->coded_width; + h = codec->coded_height; + } else { + w = codec->width; + h = codec->height; + } for (i=0; icoded_height == dv_profiles[i].height && + if (h == dv_profiles[i].height && codec->pix_fmt == dv_profiles[i].pix_fmt && - codec->coded_width == dv_profiles[i].width) + w == dv_profiles[i].width) return &dv_profiles[i]; return NULL;