* Decode 2x2 subblock of coefficients. */
| 307 | * Decode 2x2 subblock of coefficients. |
| 308 | */ |
| 309 | static inline void decode_subblock(DCTELEM *dst, int code, const int is_block2, GetBitContext *gb, VLC *vlc) |
| 310 | { |
| 311 | int coeffs[4]; |
| 312 | |
| 313 | coeffs[0] = modulo_three_table[code][0]; |
| 314 | coeffs[1] = modulo_three_table[code][1]; |
| 315 | coeffs[2] = modulo_three_table[code][2]; |
| 316 | coeffs[3] = modulo_three_table[code][3]; |
| 317 | decode_coeff(dst , coeffs[0], 3, gb, vlc); |
| 318 | if(is_block2){ |
| 319 | decode_coeff(dst+8, coeffs[1], 2, gb, vlc); |
| 320 | decode_coeff(dst+1, coeffs[2], 2, gb, vlc); |
| 321 | }else{ |
| 322 | decode_coeff(dst+1, coeffs[1], 2, gb, vlc); |
| 323 | decode_coeff(dst+8, coeffs[2], 2, gb, vlc); |
| 324 | } |
| 325 | decode_coeff(dst+9, coeffs[3], 2, gb, vlc); |
| 326 | } |
| 327 | |
| 328 | /** |
| 329 | * Decode coefficients for 4x4 block. |
no test coverage detected