# HG changeset patch # User michael # Date 1278499145 0 # Node ID 8333d7ea7257621d490836afbd2ebff20db58aa6 # Parent d7ec9ef45438ccd5b85b3f14a9bbf13e5e72ff28 Ignore extradata & w/h in asf/dvr. The w/h values are wrong and extradata contains a fake seq header that causes decoding to fail later, a valid seq header is in the stream itself. Partially fixes issue658 diff -r d7ec9ef45438 -r 8333d7ea7257 asfdec.c --- a/asfdec.c Wed Jul 07 10:19:59 2010 +0000 +++ b/asfdec.c Wed Jul 07 10:39:05 2010 +0000 @@ -396,8 +396,14 @@ st->codec->codec_tag = tag1; st->codec->codec_id = ff_codec_get_id(ff_codec_bmp_tags, tag1); - if(tag1 == MKTAG('D', 'V', 'R', ' ')) + if(tag1 == MKTAG('D', 'V', 'R', ' ')){ st->need_parsing = AVSTREAM_PARSE_FULL; + // issue658 containse wrong w/h and MS even puts a fake seq header with wrong w/h in extradata while a correct one is in te stream. maximum lameness + st->codec->width = + st->codec->height = 0; + av_freep(&st->codec->extradata); + st->codec->extradata_size=0; + } if(st->codec->codec_id == CODEC_ID_H264) st->need_parsing = AVSTREAM_PARSE_FULL_ONCE; }