static inline void yuv2yuvXinC(int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize,

                               int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize,

                               uint8_t *dest, uint8_t *uDest, uint8_t *vDest, int dstW, int chrDstW)

{

    //FIXME Optimize (just quickly writen not opti..)

    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 += chrSrc[j][i] * chrFilter[j];

                v += chrSrc[j][i + 2048] * chrFilter[j];

            }



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

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

        }

}

static inline void yuv2yuvXinC(int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize,

                               int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize,

                               uint8_t *dest, uint8_t *uDest, uint8_t *vDest, 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 += chrSrc[j][i] * chrFilter[j];

                v += chrSrc[j][i + 2048] * chrFilter[j];

            }



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

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

        }

}

                v += chrSrc[j][i + 2048] * chrFilter[j];                 v += chrSrc[j][i + 2048] * chrFilter[j];                 v += chrSrc[j][i + 2048] * chrFilter[j];
static inline void FUNC_0(int16_t *VAR_0, int16_t **VAR_1, int VAR_2,

                               int16_t *VAR_3, int16_t **VAR_4, int VAR_5,

                               uint8_t *VAR_6, uint8_t *VAR_7, uint8_t *VAR_8, int VAR_9, int VAR_10)

{

    

    int VAR_11;

    for (VAR_11=0; VAR_11<VAR_9; VAR_11++)

    {

        int VAR_12=1<<18;

        int VAR_16;

        for (VAR_16=0; VAR_16<VAR_2; VAR_16++)

            VAR_12 += VAR_1[VAR_16][VAR_11] * VAR_0[VAR_16];



        VAR_6[VAR_11]= av_clip_uint8(VAR_12>>19);

    }



    if (VAR_7)

        for (VAR_11=0; VAR_11<VAR_10; VAR_11++)

        {

            int VAR_14=1<<18;

            int VAR_15=1<<18;

            int VAR_16;

            for (VAR_16=0; VAR_16<VAR_5; VAR_16++)

            {

                VAR_14 += VAR_4[VAR_16][VAR_11] * VAR_3[VAR_16];

                VAR_15 += VAR_4[VAR_16][VAR_11 + 2048] * VAR_3[VAR_16];

            }



            VAR_7[VAR_11]= av_clip_uint8(VAR_14>>19);

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

        }

}

static inline void FUNC_0(int16_t *VAR_0, int16_t **VAR_1, int VAR_2,
int16_t *VAR_3, int16_t **VAR_4, int VAR_5,
uint8_t *VAR_6, uint8_t *VAR_7, uint8_t *VAR_8, int VAR_9, int VAR_10)
{ int VAR_11; for (VAR_11=0; VAR_11<VAR_9; VAR_11++) { int VAR_12=1<<18; int VAR_16; for (VAR_16=0; VAR_16<VAR_2; VAR_16++) VAR_12 += VAR_1[VAR_16][VAR_11] * VAR_0[VAR_16]; VAR_6[VAR_11]= av_clip_uint8(VAR_12>>19); } if (VAR_7)
for (VAR_11=0; VAR_11<VAR_10; VAR_11++) { int VAR_14=1<<18; int VAR_15=1<<18; int VAR_16; for (VAR_16=0; VAR_16<VAR_5; VAR_16++) { VAR_14 += VAR_4[VAR_16][VAR_11] * VAR_3[VAR_16]; VAR_15 += VAR_4[VAR_16][VAR_11 + 2048] * VAR_3[VAR_16]; } VAR_7[VAR_11]= av_clip_uint8(VAR_14>>19); VAR_8[VAR_11]= av_clip_uint8(VAR_15>>19); } }