static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth,

                                     const uint8_t *src_in[4], int srcW, int xInc,

                                     const int16_t *hLumFilter,

                                     const int16_t *hLumFilterPos, int hLumFilterSize,

                                     uint8_t *formatConvBuffer,

                                     uint32_t *pal, int isAlpha)

{

    void (*toYV12)(uint8_t *, const uint8_t *, int, uint32_t *) = isAlpha ? c->alpToYV12 : c->lumToYV12;

    void (*convertRange)(int16_t *, int) = isAlpha ? NULL : c->lumConvertRange;

    const uint8_t *src = src_in[isAlpha ? 3 : 0];



    if (toYV12) {

        toYV12(formatConvBuffer, src, srcW, pal);

        src= formatConvBuffer;

    } else if (c->readLumPlanar && !isAlpha) {

        c->readLumPlanar(formatConvBuffer, src_in, srcW);

        src = formatConvBuffer;

    }



    if (!c->hyscale_fast) {

        c->hyScale(c, dst, dstWidth, src, hLumFilter, hLumFilterPos, hLumFilterSize);

    } else { // fast bilinear upscale / crap downscale

        c->hyscale_fast(c, dst, dstWidth, src, srcW, xInc);

    }



    if (convertRange)

        convertRange(dst, dstWidth);

}

static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth,

                                     const uint8_t *src_in[4], int srcW, int xInc,

                                     const int16_t *hLumFilter,

                                     const int16_t *hLumFilterPos, int hLumFilterSize,

                                     uint8_t *formatConvBuffer,

                                     uint32_t *pal, int isAlpha)

{

    void (*toYV12)(uint8_t *, const uint8_t *, int, uint32_t *) = isAlpha ? c->alpToYV12 : c->lumToYV12;

    void (*convertRange)(int16_t *, int) = isAlpha ? NULL : c->lumConvertRange;

    const uint8_t *src = src_in[isAlpha ? 3 : 0];



    if (toYV12) {

        toYV12(formatConvBuffer, src, srcW, pal);

        src= formatConvBuffer;

    } else if (c->readLumPlanar && !isAlpha) {

        c->readLumPlanar(formatConvBuffer, src_in, srcW);

        src = formatConvBuffer;

    }



    if (!c->hyscale_fast) {

        c->hyScale(c, dst, dstWidth, src, hLumFilter, hLumFilterPos, hLumFilterSize);

    } else { 

        c->hyscale_fast(c, dst, dstWidth, src, srcW, xInc);

    }



    if (convertRange)

        convertRange(dst, dstWidth);

}

                                     const int16_t *hLumFilterPos, int hLumFilterSize,
VAR_3staticVAR_3 VAR_3av_always_inlineVAR_3 VAR_3voidVAR_3 VAR_3hyscaleVAR_3(VAR_3SwsContextVAR_3 *VAR_3cVAR_3, VAR_3int16_tVAR_3 *VAR_3dstVAR_3, VAR_3intVAR_3 VAR_3dstWidthVAR_3,

                                     VAR_3constVAR_3 VAR_3uint8_tVAR_3 *VAR_3src_inVAR_3[VAR_34VAR_3], VAR_3intVAR_3 VAR_3srcWVAR_3, VAR_3intVAR_3 VAR_3xIncVAR_3,

                                     VAR_3constVAR_3 VAR_3int16_tVAR_3 *VAR_3hLumFilterVAR_3,

                                     VAR_3constVAR_3 VAR_3int16_tVAR_3 *VAR_3hLumFilterPosVAR_3, VAR_3intVAR_3 VAR_3hLumFilterSizeVAR_3,

                                     VAR_3uint8_tVAR_3 *VAR_3formatConvBufferVAR_3,

                                     VAR_3uint32_tVAR_3 *VAR_3palVAR_3, VAR_3intVAR_3 VAR_3isAlphaVAR_3)

{

    VAR_3voidVAR_3 (*VAR_3VAR_0VAR_3)(VAR_3uint8_tVAR_3 *, VAR_3constVAR_3 VAR_3uint8_tVAR_3 *, VAR_3intVAR_3, VAR_3uint32_tVAR_3 *) = VAR_3isAlphaVAR_3 ? VAR_3cVAR_3->VAR_3alpToYV12VAR_3 : VAR_3cVAR_3->VAR_3lumToYV12VAR_3;

    VAR_3voidVAR_3 (*VAR_3convertRangeVAR_3)(VAR_3int16_tVAR_3 *, VAR_3intVAR_3) = VAR_3isAlphaVAR_3 ? VAR_3NULLVAR_3 : VAR_3cVAR_3->VAR_3lumConvertRangeVAR_3;

    VAR_3constVAR_3 VAR_3uint8_tVAR_3 *VAR_3srcVAR_3 = VAR_3src_inVAR_3[VAR_3isAlphaVAR_3 ? VAR_33VAR_3 : VAR_30VAR_3];



    VAR_3ifVAR_3 (VAR_3VAR_0VAR_3) {

        VAR_3VAR_0VAR_3(VAR_3formatConvBufferVAR_3, VAR_3srcVAR_3, VAR_3srcWVAR_3, VAR_3palVAR_3);

        VAR_3srcVAR_3= VAR_3formatConvBufferVAR_3;

    } VAR_3elseVAR_3 VAR_3ifVAR_3 (VAR_3cVAR_3->VAR_3readLumPlanarVAR_3 && !VAR_3isAlphaVAR_3) {

        VAR_3cVAR_3->VAR_3readLumPlanarVAR_3(VAR_3formatConvBufferVAR_3, VAR_3src_inVAR_3, VAR_3srcWVAR_3);

        VAR_3srcVAR_3 = VAR_3formatConvBufferVAR_3;

    }



    VAR_3ifVAR_3 (!VAR_3cVAR_3->VAR_3hyscale_fastVAR_3) {

        VAR_3cVAR_3->VAR_3hyScaleVAR_3(VAR_3cVAR_3, VAR_3dstVAR_3, VAR_3dstWidthVAR_3, VAR_3srcVAR_3, VAR_3hLumFilterVAR_3, VAR_3hLumFilterPosVAR_3, VAR_3hLumFilterSizeVAR_3);

    } VAR_3elseVAR_3 { 

        VAR_3cVAR_3->VAR_3hyscale_fastVAR_3(VAR_3cVAR_3, VAR_3dstVAR_3, VAR_3dstWidthVAR_3, VAR_3srcVAR_3, VAR_3srcWVAR_3, VAR_3xIncVAR_3);

    }



    VAR_3ifVAR_3 (VAR_3convertRangeVAR_3)

        VAR_3convertRangeVAR_3(VAR_3dstVAR_3, VAR_3dstWidthVAR_3);

}

VAR_3staticVAR_3 VAR_3av_always_inlineVAR_3 VAR_3voidVAR_3 VAR_3hyscaleVAR_3(VAR_3SwsContextVAR_3 *VAR_3cVAR_3, VAR_3int16_tVAR_3 *VAR_3dstVAR_3, VAR_3intVAR_3 VAR_3dstWidthVAR_3,
VAR_3constVAR_3 VAR_3uint8_tVAR_3 *VAR_3src_inVAR_3[VAR_34VAR_3], VAR_3intVAR_3 VAR_3srcWVAR_3, VAR_3intVAR_3 VAR_3xIncVAR_3,
VAR_3constVAR_3 VAR_3int16_tVAR_3 *VAR_3hLumFilterVAR_3,
VAR_3constVAR_3 VAR_3int16_tVAR_3 *VAR_3hLumFilterPosVAR_3, VAR_3intVAR_3 VAR_3hLumFilterSizeVAR_3,
VAR_3uint8_tVAR_3 *VAR_3formatConvBufferVAR_3,
VAR_3uint32_tVAR_3 *VAR_3palVAR_3, VAR_3intVAR_3 VAR_3isAlphaVAR_3)
{ VAR_3voidVAR_3 (*VAR_3VAR_0VAR_3)(VAR_3uint8_tVAR_3 *, VAR_3constVAR_3 VAR_3uint8_tVAR_3 *, VAR_3intVAR_3, VAR_3uint32_tVAR_3 *) = VAR_3isAlphaVAR_3 ? VAR_3cVAR_3->VAR_3alpToYV12VAR_3 : VAR_3cVAR_3->VAR_3lumToYV12VAR_3; VAR_3voidVAR_3 (*VAR_3convertRangeVAR_3)(VAR_3int16_tVAR_3 *, VAR_3intVAR_3) = VAR_3isAlphaVAR_3 ? VAR_3NULLVAR_3 : VAR_3cVAR_3->VAR_3lumConvertRangeVAR_3; VAR_3constVAR_3 VAR_3uint8_tVAR_3 *VAR_3srcVAR_3 = VAR_3src_inVAR_3[VAR_3isAlphaVAR_3 ? VAR_33VAR_3 : VAR_30VAR_3]; VAR_3ifVAR_3 (VAR_3VAR_0VAR_3) { VAR_3VAR_0VAR_3(VAR_3formatConvBufferVAR_3, VAR_3srcVAR_3, VAR_3srcWVAR_3, VAR_3palVAR_3); VAR_3srcVAR_3= VAR_3formatConvBufferVAR_3; } VAR_3elseVAR_3 VAR_3ifVAR_3 (VAR_3cVAR_3->VAR_3readLumPlanarVAR_3 && !VAR_3isAlphaVAR_3) { VAR_3cVAR_3->VAR_3readLumPlanarVAR_3(VAR_3formatConvBufferVAR_3, VAR_3src_inVAR_3, VAR_3srcWVAR_3); VAR_3srcVAR_3 = VAR_3formatConvBufferVAR_3; } VAR_3ifVAR_3 (!VAR_3cVAR_3->VAR_3hyscale_fastVAR_3) { VAR_3cVAR_3->VAR_3hyScaleVAR_3(VAR_3cVAR_3, VAR_3dstVAR_3, VAR_3dstWidthVAR_3, VAR_3srcVAR_3, VAR_3hLumFilterVAR_3, VAR_3hLumFilterPosVAR_3, VAR_3hLumFilterSizeVAR_3); } VAR_3elseVAR_3 { VAR_3cVAR_3->VAR_3hyscale_fastVAR_3(VAR_3cVAR_3, VAR_3dstVAR_3, VAR_3dstWidthVAR_3, VAR_3srcVAR_3, VAR_3srcWVAR_3, VAR_3xIncVAR_3); } VAR_3ifVAR_3 (VAR_3convertRangeVAR_3)
VAR_3convertRangeVAR_3(VAR_3dstVAR_3, VAR_3dstWidthVAR_3); }