static inline void FUNC(idctSparseColAdd)(pixel *dest, ptrdiff_t line_size,
                                          int16_t *col)
{
    int a0, a1, a2, a3, b0, b1, b2, b3;
    IDCT_COLS;
    dest[0] = av_clip_pixel(dest[0] + ((a0 + b0) >> COL_SHIFT));
    dest += line_size;
    dest[0] = av_clip_pixel(dest[0] + ((a1 + b1) >> COL_SHIFT));
    dest += line_size;
    dest[0] = av_clip_pixel(dest[0] + ((a2 + b2) >> COL_SHIFT));
    dest += line_size;
    dest[0] = av_clip_pixel(dest[0] + ((a3 + b3) >> COL_SHIFT));
    dest += line_size;
    dest[0] = av_clip_pixel(dest[0] + ((a3 - b3) >> COL_SHIFT));
    dest += line_size;
    dest[0] = av_clip_pixel(dest[0] + ((a2 - b2) >> COL_SHIFT));
    dest += line_size;
    dest[0] = av_clip_pixel(dest[0] + ((a1 - b1) >> COL_SHIFT));
    dest += line_size;
    dest[0] = av_clip_pixel(dest[0] + ((a0 - b0) >> COL_SHIFT));
}
['void ff_wmv2_add_mb(MpegEncContext *s, int16_t block1[6][64],\n                    uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr)\n{\n    Wmv2Context *const w = (Wmv2Context *) s;\n    wmv2_add_block(w, block1[0], dest_y,                       s->linesize, 0);\n    wmv2_add_block(w, block1[1], dest_y + 8,                   s->linesize, 1);\n    wmv2_add_block(w, block1[2], dest_y + 8 * s->linesize,     s->linesize, 2);\n    wmv2_add_block(w, block1[3], dest_y + 8 + 8 * s->linesize, s->linesize, 3);\n    if (s->avctx->flags & AV_CODEC_FLAG_GRAY)\n        return;\n    wmv2_add_block(w, block1[4], dest_cb, s->uvlinesize, 4);\n    wmv2_add_block(w, block1[5], dest_cr, s->uvlinesize, 5);\n}', 'static void wmv2_add_block(Wmv2Context *w, int16_t *block1,\n                           uint8_t *dst, int stride, int n)\n{\n    MpegEncContext *const s = &w->s;\n    if (s->block_last_index[n] >= 0) {\n        switch (w->abt_type_table[n]) {\n        case 0:\n            w->wdsp.idct_add(dst, stride, block1);\n            break;\n        case 1:\n            ff_simple_idct84_add(dst, stride, block1);\n            ff_simple_idct84_add(dst + 4 * stride, stride, w->abt_block2[n]);\n            s->bdsp.clear_block(w->abt_block2[n]);\n            break;\n        case 2:\n            ff_simple_idct48_add(dst, stride, block1);\n            ff_simple_idct48_add(dst + 4, stride, w->abt_block2[n]);\n            s->bdsp.clear_block(w->abt_block2[n]);\n            break;\n        default:\n            av_log(s->avctx, AV_LOG_ERROR, "internal error in WMV2 abt\\n");\n        }\n    }\n}', 'void ff_simple_idct48_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)\n{\n    int i;\n    for(i=0; i<8; i++) {\n        idct4row(block + i*8);\n    }\n    for(i=0; i<4; i++){\n        idctSparseColAdd_8(dest + i, line_size, block + i);\n    }\n}', 'static inline void FUNC(idctSparseColAdd)(pixel *dest, ptrdiff_t line_size,\n                                          int16_t *col)\n{\n    int a0, a1, a2, a3, b0, b1, b2, b3;\n    IDCT_COLS;\n    dest[0] = av_clip_pixel(dest[0] + ((a0 + b0) >> COL_SHIFT));\n    dest += line_size;\n    dest[0] = av_clip_pixel(dest[0] + ((a1 + b1) >> COL_SHIFT));\n    dest += line_size;\n    dest[0] = av_clip_pixel(dest[0] + ((a2 + b2) >> COL_SHIFT));\n    dest += line_size;\n    dest[0] = av_clip_pixel(dest[0] + ((a3 + b3) >> COL_SHIFT));\n    dest += line_size;\n    dest[0] = av_clip_pixel(dest[0] + ((a3 - b3) >> COL_SHIFT));\n    dest += line_size;\n    dest[0] = av_clip_pixel(dest[0] + ((a2 - b2) >> COL_SHIFT));\n    dest += line_size;\n    dest[0] = av_clip_pixel(dest[0] + ((a1 - b1) >> COL_SHIFT));\n    dest += line_size;\n    dest[0] = av_clip_pixel(dest[0] + ((a0 - b0) >> COL_SHIFT));\n}']