summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2006-08-03 05:09:36 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2006-08-03 05:09:36 +0000
commit48d3fca717cd44f6e70458dc8309499df526120e (patch)
tree5d62c89aac2345334ebfaaa47fcab3671f421cc2
parent481fb636b100566c0a5ef86caff26baf4347cf9e (diff)
Don't try to decode P-frames from old WMV3 variant until their format is figured
Originally committed as revision 5900 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/vc1.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 731baa4dc2..0949c86d96 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -1207,8 +1207,10 @@ static int decode_sequence_header(AVCodecContext *avctx, GetBitContext *gb)
v->res_rtm_flag = get_bits(gb, 1); //reserved
if (!v->res_rtm_flag)
{
+// av_log(avctx, AV_LOG_ERROR,
+// "0 for reserved RES_RTM_FLAG is forbidden\n");
av_log(avctx, AV_LOG_ERROR,
- "0 for reserved RES_RTM_FLAG is forbidden\n");
+ "Old WMV3 version detected, only I-frames will be decoded\n");
//return -1;
}
av_log(avctx, AV_LOG_DEBUG,
@@ -3125,7 +3127,7 @@ static int vc1_decode_frame(AVCodecContext *avctx,
if(vc1_parse_frame_header(v, &s->gb) == -1)
return -1;
-// if(s->pict_type != I_TYPE && s->pict_type != P_TYPE)return -1;
+ if(s->pict_type != I_TYPE && !v->res_rtm_flag)return -1;
// for hurry_up==5
s->current_picture.pict_type= s->pict_type;