Commit 5aeb3b00 authored by Nikolas Bowe's avatar Nikolas Bowe Committed by Michael Niedermayer

lavc/svq3: Fix regression decoding some files.

Fixes some SVQ3 encoded files which fail to decode correctly after 6d6faa2a.
These files exhibit lots of artifacts and logs show "Media key encryption is not implemented".
However they decode without artifacts before 6d6faa2a.
The attatched patch allows these files to successfully decode, but also reject media key files.

Tested on the files in #6094 and http://samples.mplayerhq.hu/V-codecs/SVQ3/Vertical400kbit.sorenson3.movSigned-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 51ac3f43
......@@ -1064,16 +1064,15 @@ static int svq3_decode_slice_header(AVCodecContext *avctx)
av_log(s->avctx, AV_LOG_ERROR, "illegal slice type %u \n", slice_id);
return -1;
}
if (get_bits1(&s->gb_slice)) {
avpriv_report_missing_feature(s->avctx, "Media key encryption");
return AVERROR_PATCHWELCOME;
}
s->slice_type = ff_h264_golomb_to_pict_type[slice_id];
if ((header & 0x9F) == 2) {
i = (s->mb_num < 64) ? 5 : av_log2(s->mb_num - 1);
i = (s->mb_num < 64) ? 6 : (1 + av_log2(s->mb_num - 1));
get_bits(&s->gb_slice, i);
} else if (get_bits1(&s->gb_slice)) {
avpriv_report_missing_feature(s->avctx, "Media key encryption");
return AVERROR_PATCHWELCOME;
}
s->slice_num = get_bits(&s->gb_slice, 8);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment