[FFmpeg-cvslog] mdct15: fix left shift of a negative value

Rostislav Pehlivanov git at videolan.org
Wed Mar 22 19:22:22 EET 2017


ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Wed Mar 22 17:17:04 2017 +0000| [38d7cc22f7782de2e7aca8eda2c2c2996f7f5700] | committer: Rostislav Pehlivanov

mdct15: fix left shift of a negative value

Should fix Chromium issue 704064.

Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>

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

 libavcodec/mdct15.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/mdct15.c b/libavcodec/mdct15.c
index a6bea2d..e038209 100644
--- a/libavcodec/mdct15.c
+++ b/libavcodec/mdct15.c
@@ -88,7 +88,7 @@ static inline int init_pfa_reindex_tabs(MDCT15Context *s)
         for (j = 0; j < 15; j++) {
             const int q_pre = ((l_ptwo * j)/15 + i) >> b_ptwo;
             const int q_post = (((j*inv_1)/15) + (i*inv_2)) >> b_ptwo;
-            const int k_pre = 15*i + ((j - q_pre*15) << b_ptwo);
+            const int k_pre = 15*i + (j - q_pre*15)*(1 << b_ptwo);
             const int k_post = i*inv_2*15 + j*inv_1 - 15*q_post*l_ptwo;
             s->pfa_prereindex[i*15 + j] = k_pre;
             s->pfa_postreindex[k_post] = l_ptwo*j + i;



More information about the ffmpeg-cvslog mailing list