static void yuv2nv12X_c(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, uint8_t *uDest,

                        uint8_t *vDest, uint8_t *aDest,

                        int dstW, int chrDstW)

{

    enum PixelFormat dstFormat = c->dstFormat;



    //FIXME Optimize (just quickly written not optimized..)

    int i;

    for (i=0; i<dstW; i++) {

        int val=1<<18;

        int j;

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

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



        dest[i]= av_clip_uint8(val>>19);

    }



    if (!uDest)

        return;



    if (dstFormat == PIX_FMT_NV12)

        for (i=0; i<chrDstW; i++) {

            int u=1<<18;

            int v=1<<18;

            int j;

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

                u += chrUSrc[j][i] * chrFilter[j];

                v += chrVSrc[j][i] * chrFilter[j];

            }



            uDest[2*i]= av_clip_uint8(u>>19);

            uDest[2*i+1]= av_clip_uint8(v>>19);

        }

    else

        for (i=0; i<chrDstW; i++) {

            int u=1<<18;

            int v=1<<18;

            int j;

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

                u += chrUSrc[j][i] * chrFilter[j];

                v += chrVSrc[j][i] * chrFilter[j];

            }



            uDest[2*i]= av_clip_uint8(v>>19);

            uDest[2*i+1]= av_clip_uint8(u>>19);

        }

}

static void yuv2nv12X_c(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, uint8_t *uDest,

                        uint8_t *vDest, uint8_t *aDest,

                        int dstW, int chrDstW)

{

    enum PixelFormat dstFormat = c->dstFormat;



    

    int i;

    for (i=0; i<dstW; i++) {

        int val=1<<18;

        int j;

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

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



        dest[i]= av_clip_uint8(val>>19);

    }



    if (!uDest)

        return;



    if (dstFormat == PIX_FMT_NV12)

        for (i=0; i<chrDstW; i++) {

            int u=1<<18;

            int v=1<<18;

            int j;

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

                u += chrUSrc[j][i] * chrFilter[j];

                v += chrVSrc[j][i] * chrFilter[j];

            }



            uDest[2*i]= av_clip_uint8(u>>19);

            uDest[2*i+1]= av_clip_uint8(v>>19);

        }

    else

        for (i=0; i<chrDstW; i++) {

            int u=1<<18;

            int v=1<<18;

            int j;

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

                u += chrUSrc[j][i] * chrFilter[j];

                v += chrVSrc[j][i] * chrFilter[j];

            }



            uDest[2*i]= av_clip_uint8(v>>19);

            uDest[2*i+1]= av_clip_uint8(u>>19);

        }

}

static void 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, uint8_t *VAR_10,

                        uint8_t *VAR_11, uint8_t *VAR_12,

                        int VAR_13, int VAR_14)

{

    enum PixelFormat VAR_15 = VAR_0->VAR_15;



    

    int VAR_16;

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

        int VAR_17=1<<18;

        int VAR_21;

        for (VAR_21=0; VAR_21<VAR_3; VAR_21++)

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



        VAR_9[VAR_16]= av_clip_uint8(VAR_17>>19);

    }



    if (!VAR_10)

        return;



    if (VAR_15 == PIX_FMT_NV12)

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

            int VAR_21=1<<18;

            int VAR_21=1<<18;

            int VAR_21;

            for (VAR_21=0; VAR_21<VAR_7; VAR_21++) {

                VAR_21 += VAR_5[VAR_21][VAR_16] * VAR_4[VAR_21];

                VAR_21 += VAR_6[VAR_21][VAR_16] * VAR_4[VAR_21];

            }



            VAR_10[2*VAR_16]= av_clip_uint8(VAR_21>>19);

            VAR_10[2*VAR_16+1]= av_clip_uint8(VAR_21>>19);

        }

    else

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

            int VAR_21=1<<18;

            int VAR_21=1<<18;

            int VAR_21;

            for (VAR_21=0; VAR_21<VAR_7; VAR_21++) {

                VAR_21 += VAR_5[VAR_21][VAR_16] * VAR_4[VAR_21];

                VAR_21 += VAR_6[VAR_21][VAR_16] * VAR_4[VAR_21];

            }



            VAR_10[2*VAR_16]= av_clip_uint8(VAR_21>>19);

            VAR_10[2*VAR_16+1]= av_clip_uint8(VAR_21>>19);

        }

}

static void 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, uint8_t *VAR_10,
uint8_t *VAR_11, uint8_t *VAR_12,
int VAR_13, int VAR_14)
{ enum PixelFormat VAR_15 = VAR_0->VAR_15; int VAR_16; for (VAR_16=0; VAR_16<VAR_13; VAR_16++) { int VAR_17=1<<18; int VAR_21; for (VAR_21=0; VAR_21<VAR_3; VAR_21++) VAR_17 += VAR_2[VAR_21][VAR_16] * VAR_1[VAR_21]; VAR_9[VAR_16]= av_clip_uint8(VAR_17>>19); } if (!VAR_10)
return; if (VAR_15 == PIX_FMT_NV12)
for (VAR_16=0; VAR_16<VAR_14; VAR_16++) { int VAR_21=1<<18; int VAR_21=1<<18; int VAR_21; for (VAR_21=0; VAR_21<VAR_7; VAR_21++) { VAR_21 += VAR_5[VAR_21][VAR_16] * VAR_4[VAR_21]; VAR_21 += VAR_6[VAR_21][VAR_16] * VAR_4[VAR_21]; } VAR_10[2*VAR_16]= av_clip_uint8(VAR_21>>19); VAR_10[2*VAR_16+1]= av_clip_uint8(VAR_21>>19); } else
for (VAR_16=0; VAR_16<VAR_14; VAR_16++) { int VAR_21=1<<18; int VAR_21=1<<18; int VAR_21; for (VAR_21=0; VAR_21<VAR_7; VAR_21++) { VAR_21 += VAR_5[VAR_21][VAR_16] * VAR_4[VAR_21]; VAR_21 += VAR_6[VAR_21][VAR_16] * VAR_4[VAR_21]; } VAR_10[2*VAR_16]= av_clip_uint8(VAR_21>>19); VAR_10[2*VAR_16+1]= av_clip_uint8(VAR_21>>19); } }