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

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

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

{

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

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

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

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

            }



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

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

        }

}

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

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

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

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

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

            }



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

            uDest[2*i+1]= av_clip_uint8(u>>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, int VAR_8, int VAR_9, int VAR_10)

{

    

    int VAR_11;

    for (VAR_11=0; VAR_11<VAR_8; 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)

        return;



    if (VAR_10 == PIX_FMT_NV12)

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

        {

            int VAR_16=1<<18;

            int VAR_16=1<<18;

            int VAR_16;

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

            {

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

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

            }



            VAR_7[2*VAR_11]= av_clip_uint8(VAR_16>>19);

            VAR_7[2*VAR_11+1]= av_clip_uint8(VAR_16>>19);

        }

    else

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

        {

            int VAR_16=1<<18;

            int VAR_16=1<<18;

            int VAR_16;

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

            {

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

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

            }



            VAR_7[2*VAR_11]= av_clip_uint8(VAR_16>>19);

            VAR_7[2*VAR_11+1]= av_clip_uint8(VAR_16>>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, int VAR_8, int VAR_9, int VAR_10)
{ int VAR_11; for (VAR_11=0; VAR_11<VAR_8; 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)
return; if (VAR_10 == PIX_FMT_NV12)
for (VAR_11=0; VAR_11<VAR_9; VAR_11++) { int VAR_16=1<<18; int VAR_16=1<<18; int VAR_16; for (VAR_16=0; VAR_16<VAR_5; VAR_16++) { VAR_16 += VAR_4[VAR_16][VAR_11] * VAR_3[VAR_16]; VAR_16 += VAR_4[VAR_16][VAR_11 + 2048] * VAR_3[VAR_16]; } VAR_7[2*VAR_11]= av_clip_uint8(VAR_16>>19); VAR_7[2*VAR_11+1]= av_clip_uint8(VAR_16>>19); } else
for (VAR_11=0; VAR_11<VAR_9; VAR_11++) { int VAR_16=1<<18; int VAR_16=1<<18; int VAR_16; for (VAR_16=0; VAR_16<VAR_5; VAR_16++) { VAR_16 += VAR_4[VAR_16][VAR_11] * VAR_3[VAR_16]; VAR_16 += VAR_4[VAR_16][VAR_11 + 2048] * VAR_3[VAR_16]; } VAR_7[2*VAR_11]= av_clip_uint8(VAR_16>>19); VAR_7[2*VAR_11+1]= av_clip_uint8(VAR_16>>19); } }