yuv2mono_X_c_template(SwsContext *c, const int16_t *lumFilter,

                      const int16_t **lumSrc, int lumFilterSize,

                      const int16_t *chrFilter, const int16_t **chrUSrc,

                      const int16_t **chrVSrc, int chrFilterSize,

                      const int16_t **alpSrc, uint8_t *dest, int dstW,

                      int y, enum PixelFormat target)

{

    const uint8_t * const d128=dither_8x8_220[y&7];

    uint8_t *g = c->table_gU[128] + c->table_gV[128];

    int i;

    int acc = 0;



    for (i = 0; i < dstW - 1; i += 2) {

        int j;

        int Y1 = 1 << 18;

        int Y2 = 1 << 18;



        for (j = 0; j < lumFilterSize; j++) {

            Y1 += lumSrc[j][i]   * lumFilter[j];

            Y2 += lumSrc[j][i+1] * lumFilter[j];

        }

        Y1 >>= 19;

        Y2 >>= 19;

        if ((Y1 | Y2) & 0x100) {

            Y1 = av_clip_uint8(Y1);

            Y2 = av_clip_uint8(Y2);

        }

        acc += acc + g[Y1 + d128[(i + 0) & 7]];

        acc += acc + g[Y2 + d128[(i + 1) & 7]];

        if ((i & 7) == 6) {

            output_pixel(*dest++, acc);

        }

    }

}

yuv2mono_X_c_template(SwsContext *c, const int16_t *lumFilter,

                      const int16_t **lumSrc, int lumFilterSize,

                      const int16_t *chrFilter, const int16_t **chrUSrc,

                      const int16_t **chrVSrc, int chrFilterSize,

                      const int16_t **alpSrc, uint8_t *dest, int dstW,

                      int y, enum PixelFormat target)

{

    const uint8_t * const d128=dither_8x8_220[y&7];

    uint8_t *g = c->table_gU[128] + c->table_gV[128];

    int i;

    int acc = 0;



    for (i = 0; i < dstW - 1; i += 2) {

        int j;

        int Y1 = 1 << 18;

        int Y2 = 1 << 18;



        for (j = 0; j < lumFilterSize; j++) {

            Y1 += lumSrc[j][i]   * lumFilter[j];

            Y2 += lumSrc[j][i+1] * lumFilter[j];

        }

        Y1 >>= 19;

        Y2 >>= 19;

        if ((Y1 | Y2) & 0x100) {

            Y1 = av_clip_uint8(Y1);

            Y2 = av_clip_uint8(Y2);

        }

        acc += acc + g[Y1 + d128[(i + 0) & 7]];

        acc += acc + g[Y2 + d128[(i + 1) & 7]];

        if ((i & 7) == 6) {

            output_pixel(*dest++, acc);

        }

    }

}

    int acc = 0;
FUNC_0(SwsContext *VAR_0, const int16_t *VAR_1,

                      const int16_t **VAR_2, int VAR_3,

                      const int16_t *VAR_4, const int16_t **VAR_5,

                      const int16_t **VAR_6, int VAR_7,

                      const int16_t **VAR_8, uint8_t *VAR_9, int VAR_10,

                      int VAR_11, enum PixelFormat VAR_12)

{

    const uint8_t * const VAR_13=dither_8x8_220[VAR_11&7];

    uint8_t *g = VAR_0->table_gU[128] + VAR_0->table_gV[128];

    int VAR_14;

    int VAR_15 = 0;



    for (VAR_14 = 0; VAR_14 < VAR_10 - 1; VAR_14 += 2) {

        int VAR_16;

        int VAR_17 = 1 << 18;

        int VAR_18 = 1 << 18;



        for (VAR_16 = 0; VAR_16 < VAR_3; VAR_16++) {

            VAR_17 += VAR_2[VAR_16][VAR_14]   * VAR_1[VAR_16];

            VAR_18 += VAR_2[VAR_16][VAR_14+1] * VAR_1[VAR_16];

        }

        VAR_17 >>= 19;

        VAR_18 >>= 19;

        if ((VAR_17 | VAR_18) & 0x100) {

            VAR_17 = av_clip_uint8(VAR_17);

            VAR_18 = av_clip_uint8(VAR_18);

        }

        VAR_15 += VAR_15 + g[VAR_17 + VAR_13[(VAR_14 + 0) & 7]];

        VAR_15 += VAR_15 + g[VAR_18 + VAR_13[(VAR_14 + 1) & 7]];

        if ((VAR_14 & 7) == 6) {

            output_pixel(*VAR_9++, VAR_15);

        }

    }

}

FUNC_0(SwsContext *VAR_0, const int16_t *VAR_1,
const int16_t **VAR_2, int VAR_3,
const int16_t *VAR_4, const int16_t **VAR_5,
const int16_t **VAR_6, int VAR_7,
const int16_t **VAR_8, uint8_t *VAR_9, int VAR_10,
int VAR_11, enum PixelFormat VAR_12)
{ const uint8_t * const VAR_13=dither_8x8_220[VAR_11&7]; uint8_t *g = VAR_0->table_gU[128] + VAR_0->table_gV[128]; int VAR_14; int VAR_15 = 0; for (VAR_14 = 0; VAR_14 < VAR_10 - 1; VAR_14 += 2) { int VAR_16; int VAR_17 = 1 << 18; int VAR_18 = 1 << 18; for (VAR_16 = 0; VAR_16 < VAR_3; VAR_16++) { VAR_17 += VAR_2[VAR_16][VAR_14]   * VAR_1[VAR_16]; VAR_18 += VAR_2[VAR_16][VAR_14+1] * VAR_1[VAR_16]; } VAR_17 >>= 19; VAR_18 >>= 19; if ((VAR_17 | VAR_18) & 0x100) { VAR_17 = av_clip_uint8(VAR_17); VAR_18 = av_clip_uint8(VAR_18); } VAR_15 += VAR_15 + g[VAR_17 + VAR_13[(VAR_14 + 0) & 7]]; VAR_15 += VAR_15 + g[VAR_18 + VAR_13[(VAR_14 + 1) & 7]]; if ((VAR_14 & 7) == 6) { output_pixel(*VAR_9++, VAR_15); } } }