[FFmpeg-cvslog] avcodec/mpegvideo_enc: fix undefined shifts in ff_dct_quantize_c()
Michael Niedermayer
git at videolan.org
Wed Jul 1 14:38:15 CEST 2015
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Jul 1 13:39:43 2015 +0200| [0ea099ad3e6d82a09538ad2c93e193187d70345d] | committer: Michael Niedermayer
avcodec/mpegvideo_enc: fix undefined shifts in ff_dct_quantize_c()
Fixes: signal_sigsegv_35eac16_2762_cov_2704249783_missing_frames.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0ea099ad3e6d82a09538ad2c93e193187d70345d
---
libavcodec/mpegvideo_enc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index e729d36..7f84bcc 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -4559,12 +4559,12 @@ int ff_dct_quantize_c(MpegEncContext *s,
start_i = 1;
last_non_zero = 0;
qmat = n < 4 ? s->q_intra_matrix[qscale] : s->q_chroma_intra_matrix[qscale];
- bias= s->intra_quant_bias<<(QMAT_SHIFT - QUANT_BIAS_SHIFT);
+ bias= s->intra_quant_bias*(1<<(QMAT_SHIFT - QUANT_BIAS_SHIFT));
} else {
start_i = 0;
last_non_zero = -1;
qmat = s->q_inter_matrix[qscale];
- bias= s->inter_quant_bias<<(QMAT_SHIFT - QUANT_BIAS_SHIFT);
+ bias= s->inter_quant_bias*(1<<(QMAT_SHIFT - QUANT_BIAS_SHIFT));
}
threshold1= (1<<QMAT_SHIFT) - bias - 1;
threshold2= (threshold1<<1);
More information about the ffmpeg-cvslog
mailing list