static void hScale8To19_c(SwsContext *c, int16_t *_dst, int dstW, const uint8_t *src,

                          const int16_t *filter, const int16_t *filterPos,

                          int filterSize)

{

    int i;

    int32_t *dst = (int32_t *) _dst;

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

        int j;

        int srcPos= filterPos[i];

        int val=0;

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

            val += ((int)src[srcPos + j])*filter[filterSize*i + j];

        }

        //filter += hFilterSize;

        dst[i] = FFMIN(val>>3, (1<<19)-1); // the cubic equation does overflow ...

        //dst[i] = val>>7;

    }

}

static void hScale8To19_c(SwsContext *c, int16_t *_dst, int dstW, const uint8_t *src,

                          const int16_t *filter, const int16_t *filterPos,

                          int filterSize)

{

    int i;

    int32_t *dst = (int32_t *) _dst;

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

        int j;

        int srcPos= filterPos[i];

        int val=0;

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

            val += ((int)src[srcPos + j])*filter[filterSize*i + j];

        }

        

        dst[i] = FFMIN(val>>3, (1<<19)-1); 

        

    }

}

                          const int16_t *filter, const int16_t *filterPos,                           const int16_t *filter, const int16_t *filterPos,
static void FUNC_0(SwsContext *VAR_0, int16_t *VAR_1, int VAR_2, const uint8_t *VAR_3,

                          const int16_t *VAR_4, const int16_t *VAR_5,

                          int VAR_6)

{

    int VAR_7;

    int32_t *dst = (int32_t *) VAR_1;

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

        int VAR_8;

        int VAR_9= VAR_5[VAR_7];

        int VAR_10=0;

        for (VAR_8=0; VAR_8<VAR_6; VAR_8++) {

            VAR_10 += ((int)VAR_3[VAR_9 + VAR_8])*VAR_4[VAR_6*VAR_7 + VAR_8];

        }

        

        dst[VAR_7] = FFMIN(VAR_10>>3, (1<<19)-1); 

        

    }

}

static void FUNC_0(SwsContext *VAR_0, int16_t *VAR_1, int VAR_2, const uint8_t *VAR_3,
const int16_t *VAR_4, const int16_t *VAR_5,
int VAR_6)
{ int VAR_7; int32_t *dst = (int32_t *) VAR_1; for (VAR_7=0; VAR_7<VAR_2; VAR_7++) { int VAR_8; int VAR_9= VAR_5[VAR_7]; int VAR_10=0; for (VAR_8=0; VAR_8<VAR_6; VAR_8++) { VAR_10 += ((int)VAR_3[VAR_9 + VAR_8])*VAR_4[VAR_6*VAR_7 + VAR_8]; } dst[VAR_7] = FFMIN(VAR_10>>3, (1<<19)-1); } }