diff options
author | James Darnley <jdarnley@obe.tv> | 2017-06-16 14:53:15 +0200 |
---|---|---|
committer | James Darnley <jdarnley@obe.tv> | 2017-06-20 12:12:13 +0200 |
commit | fa30a0a54854cd291008c065dfaf45d610e3cd04 (patch) | |
tree | fcb6a7f7d0000758a8dd728c8ada36cd61c2d694 /libavcodec/x86/mpegvideoenc_template.c | |
parent | 155f071bad5a06364f42a4533b352a85a1451d97 (diff) | |
download | ffmpeg-fa30a0a54854cd291008c065dfaf45d610e3cd04.tar.gz |
avcodec/x86/mpegenc: check IDCT permutation type is a valid value
Diffstat (limited to 'libavcodec/x86/mpegvideoenc_template.c')
-rw-r--r-- | libavcodec/x86/mpegvideoenc_template.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libavcodec/x86/mpegvideoenc_template.c b/libavcodec/x86/mpegvideoenc_template.c index b2512744ca..3ce72e1367 100644 --- a/libavcodec/x86/mpegvideoenc_template.c +++ b/libavcodec/x86/mpegvideoenc_template.c @@ -322,7 +322,7 @@ static int RENAME(dct_quantize)(MpegEncContext *s, block[0x3E] = temp_block[0x3D]; block[0x33] = temp_block[0x36]; block[0x2F] = temp_block[0x2F]; block[0x37] = temp_block[0x37]; block[0x3B] = temp_block[0x3E]; block[0x3F] = temp_block[0x3F]; - }else{ + } else if (s->idsp.perm_type == FF_IDCT_PERM_NONE) { if(last_non_zero_p1 <= 1) goto end; block[0x01] = temp_block[0x01]; block[0x08] = temp_block[0x08]; block[0x10] = temp_block[0x10]; @@ -366,6 +366,12 @@ static int RENAME(dct_quantize)(MpegEncContext *s, block[0x3D] = temp_block[0x3D]; block[0x36] = temp_block[0x36]; block[0x2F] = temp_block[0x2F]; block[0x37] = temp_block[0x37]; block[0x3E] = temp_block[0x3E]; block[0x3F] = temp_block[0x3F]; + } else { + av_log(s, AV_LOG_DEBUG, "s->idsp.perm_type: %d\n", + (int)s->idsp.perm_type); + av_assert0(s->idsp.perm_type == FF_IDCT_PERM_NONE || + s->idsp.perm_type == FF_IDCT_PERM_LIBMPEG2 || + s->idsp.perm_type == FF_IDCT_PERM_SIMPLE); } end: return last_non_zero_p1 - 1; |