memset(block, 0, 64 * sizeof(*block));
if (!is_hqa) {
- block[0] = get_sbits(gb, 9) << 6;
+ block[0] = get_sbits(gb, 9) * 64;
q = ff_hq_quants[qsel][is_chroma][get_bits(gb, 2)];
} else {
q = ff_hq_quants[qsel][is_chroma][get_bits(gb, 2)];
- block[0] = get_sbits(gb, 9) << 6;
+ block[0] = get_sbits(gb, 9) * 64;
}
for (;;) {
pos += ff_hq_ac_skips[val];
if (pos >= 64)
break;
- block[ff_zigzag_direct[pos]] = (ff_hq_ac_syms[val] * q[pos]) >> 12;
+ block[ff_zigzag_direct[pos]] = (int)(ff_hq_ac_syms[val] * (unsigned)q[pos]) >> 12;
pos++;
}