[FFmpeg-cvslog] lavc/svq3: Fail for media key encryption.

Carl Eugen Hoyos git at videolan.org
Wed Jan 25 00:41:40 EET 2017


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Mon Jan 23 13:39:56 2017 +0100| [6d6faa2a2ded9cc203a9f2d8dcceebbda27a12a4] | committer: Carl Eugen Hoyos

lavc/svq3: Fail for media key encryption.

Tested-by: ami_stuff

Fixes a part of ticket #6094.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6d6faa2a2ded9cc203a9f2d8dcceebbda27a12a4
---

 libavcodec/svq3.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index e0747d5..5b99656 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -1070,14 +1070,16 @@ 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) ? 6 : (1 + av_log2(s->mb_num - 1));
+        i = (s->mb_num < 64) ? 5 : av_log2(s->mb_num - 1);
         get_bits(&s->gb_slice, i);
-    } else {
-        skip_bits1(&s->gb_slice);
     }
 
     s->slice_num      = get_bits(&s->gb_slice, 8);



More information about the ffmpeg-cvslog mailing list