mdct15: fix left shift of a negative value

Should fix Chromium issue 704064.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
This commit is contained in:
Rostislav Pehlivanov 2017-03-22 17:17:04 +00:00
parent cf1c8a379e
commit 38d7cc22f7

View File

@ -88,7 +88,7 @@ static inline int init_pfa_reindex_tabs(MDCT15Context *s)
for (j = 0; j < 15; j++) { for (j = 0; j < 15; j++) {
const int q_pre = ((l_ptwo * j)/15 + i) >> b_ptwo; 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 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; 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_prereindex[i*15 + j] = k_pre;
s->pfa_postreindex[k_post] = l_ptwo*j + i; s->pfa_postreindex[k_post] = l_ptwo*j + i;