static void yuv2yuvX_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)

{

    //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)

        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[i]= av_clip_uint8(u>>19);

            vDest[i]= av_clip_uint8(v>>19);

        }



    if (CONFIG_SWSCALE_ALPHA && aDest)

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

            int val=1<<18;

            int j;

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

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



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

        }

}

static void yuv2yuvX_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)

{

    

    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)

        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[i]= av_clip_uint8(u>>19);

            vDest[i]= av_clip_uint8(v>>19);

        }



    if (CONFIG_SWSCALE_ALPHA && aDest)

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

            int val=1<<18;

            int j;

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

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



            aDest[i]= av_clip_uint8(val>>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)

{

    

    int VAR_15;

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

        int VAR_20=1<<18;

        int VAR_20;

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

            VAR_20 += VAR_2[VAR_20][VAR_15] * VAR_1[VAR_20];



        VAR_9[VAR_15]= av_clip_uint8(VAR_20>>19);

    }



    if (VAR_10)

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

            int VAR_18=1<<18;

            int VAR_19=1<<18;

            int VAR_20;

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

                VAR_18 += VAR_5[VAR_20][VAR_15] * VAR_4[VAR_20];

                VAR_19 += VAR_6[VAR_20][VAR_15] * VAR_4[VAR_20];

            }



            VAR_10[VAR_15]= av_clip_uint8(VAR_18>>19);

            VAR_11[VAR_15]= av_clip_uint8(VAR_19>>19);

        }



    if (CONFIG_SWSCALE_ALPHA && VAR_12)

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

            int VAR_20=1<<18;

            int VAR_20;

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

                VAR_20 += VAR_8[VAR_20][VAR_15] * VAR_1[VAR_20];



            VAR_12[VAR_15]= av_clip_uint8(VAR_20>>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)
{ int VAR_15; for (VAR_15=0; VAR_15<VAR_13; VAR_15++) { int VAR_20=1<<18; int VAR_20; for (VAR_20=0; VAR_20<VAR_3; VAR_20++) VAR_20 += VAR_2[VAR_20][VAR_15] * VAR_1[VAR_20]; VAR_9[VAR_15]= av_clip_uint8(VAR_20>>19); } if (VAR_10)
for (VAR_15=0; VAR_15<VAR_14; VAR_15++) { int VAR_18=1<<18; int VAR_19=1<<18; int VAR_20; for (VAR_20=0; VAR_20<VAR_7; VAR_20++) { VAR_18 += VAR_5[VAR_20][VAR_15] * VAR_4[VAR_20]; VAR_19 += VAR_6[VAR_20][VAR_15] * VAR_4[VAR_20]; } VAR_10[VAR_15]= av_clip_uint8(VAR_18>>19); VAR_11[VAR_15]= av_clip_uint8(VAR_19>>19); } if (CONFIG_SWSCALE_ALPHA && VAR_12)
for (VAR_15=0; VAR_15<VAR_13; VAR_15++) { int VAR_20=1<<18; int VAR_20; for (VAR_20=0; VAR_20<VAR_3; VAR_20++) VAR_20 += VAR_8[VAR_20][VAR_15] * VAR_1[VAR_20]; VAR_12[VAR_15]= av_clip_uint8(VAR_20>>19); } }