yuv2planeX_16_c_template(const int16_t *filter, int filterSize,

                         const int32_t **src, uint16_t *dest, int dstW,

                         int big_endian, int output_bits)

{

    int i;

    int shift = 15;

    av_assert0(output_bits == 16);



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

        int val = 1 << (shift - 1);

        int j;



        /* range of val is [0,0x7FFFFFFF], so 31 bits, but with lanczos/spline

         * filters (or anything with negative coeffs, the range can be slightly

         * wider in both directions. To account for this overflow, we subtract

         * a constant so it always fits in the signed range (assuming a

         * reasonable filterSize), and re-add that at the end. */

        val -= 0x40000000;

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

            val += src[j][i] * filter[j];



        output_pixel(&dest[i], val, 0x8000, int);

    }

}

yuv2planeX_16_c_template(const int16_t *filter, int filterSize,

                         const int32_t **src, uint16_t *dest, int dstW,

                         int big_endian, int output_bits)

{

    int i;

    int shift = 15;

    av_assert0(output_bits == 16);



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

        int val = 1 << (shift - 1);

        int j;



        









        val -= 0x40000000;

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

            val += src[j][i] * filter[j];



        output_pixel(&dest[i], val, 0x8000, int);

    }

}

            val += src[j][i] * filter[j];
FUNC_0(const int16_t *VAR_0, int VAR_1,

                         const int32_t **VAR_2, uint16_t *VAR_3, int VAR_4,

                         int VAR_5, int VAR_6)

{

    int VAR_7;

    int VAR_8 = 15;

    av_assert0(VAR_6 == 16);



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

        int VAR_9 = 1 << (VAR_8 - 1);

        int VAR_10;



        









        VAR_9 -= 0x40000000;

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

            VAR_9 += VAR_2[VAR_10][VAR_7] * VAR_0[VAR_10];



        output_pixel(&VAR_3[VAR_7], VAR_9, 0x8000, int);

    }

}

FUNC_0(const int16_t *VAR_0, int VAR_1,
const int32_t **VAR_2, uint16_t *VAR_3, int VAR_4,
int VAR_5, int VAR_6)
{ int VAR_7; int VAR_8 = 15; av_assert0(VAR_6 == 16); for (VAR_7 = 0; VAR_7 < VAR_4; VAR_7++) { int VAR_9 = 1 << (VAR_8 - 1); int VAR_10; VAR_9 -= 0x40000000; for (VAR_10 = 0; VAR_10 < VAR_1; VAR_10++) VAR_9 += VAR_2[VAR_10][VAR_7] * VAR_0[VAR_10]; output_pixel(&VAR_3[VAR_7], VAR_9, 0x8000, int); } }