static inline void decode_subblock3(DCTELEM *dst, int code, const int is_block2, GetBitContext *gb, VLC *vlc,
                                    int q_dc, int q_ac1, int q_ac2)
{
    int flags = modulo_three_table[code];

    decode_coeff(    dst+0, (flags >> 6)    , 3, gb, vlc, q_dc);
    if(is_block2){
        decode_coeff(dst+8, (flags >> 4) & 3, 2, gb, vlc, q_ac1);
        decode_coeff(dst+1, (flags >> 2) & 3, 2, gb, vlc, q_ac1);
    }else{
        decode_coeff(dst+1, (flags >> 4) & 3, 2, gb, vlc, q_ac1);
        decode_coeff(dst+8, (flags >> 2) & 3, 2, gb, vlc, q_ac1);
    }
    decode_coeff(    dst+9, (flags >> 0) & 3, 2, gb, vlc, q_ac2);
}