|
|
|
@@ -2087,7 +2087,7 @@ static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth, |
|
|
|
} |
|
|
|
|
|
|
|
if (!c->hyscale_fast) { |
|
|
|
c->hScale(c, dst, dstWidth, src, hLumFilter, hLumFilterPos, hLumFilterSize); |
|
|
|
c->hyScale(c, dst, dstWidth, src, hLumFilter, hLumFilterPos, hLumFilterSize); |
|
|
|
} else { // fast bilinear upscale / crap downscale |
|
|
|
c->hyscale_fast(c, dst, dstWidth, src, srcW, xInc); |
|
|
|
} |
|
|
|
@@ -2125,8 +2125,8 @@ static av_always_inline void hcscale(SwsContext *c, int16_t *dst1, int16_t *dst2 |
|
|
|
} |
|
|
|
|
|
|
|
if (!c->hcscale_fast) { |
|
|
|
c->hScale(c, dst1, dstWidth, src1, hChrFilter, hChrFilterPos, hChrFilterSize); |
|
|
|
c->hScale(c, dst2, dstWidth, src2, hChrFilter, hChrFilterPos, hChrFilterSize); |
|
|
|
c->hcScale(c, dst1, dstWidth, src1, hChrFilter, hChrFilterPos, hChrFilterSize); |
|
|
|
c->hcScale(c, dst2, dstWidth, src2, hChrFilter, hChrFilterPos, hChrFilterSize); |
|
|
|
} else { // fast bilinear upscale / crap downscale |
|
|
|
c->hcscale_fast(c, dst1, dst2, dstWidth, src1, src2, srcW, xInc); |
|
|
|
} |
|
|
|
@@ -2789,16 +2789,16 @@ static av_cold void sws_init_swScale_c(SwsContext *c) |
|
|
|
|
|
|
|
if (c->srcBpc == 8) { |
|
|
|
if (c->dstBpc <= 10) { |
|
|
|
c->hScale = hScale8To15_c; |
|
|
|
c->hyScale = c->hcScale = hScale8To15_c; |
|
|
|
if (c->flags & SWS_FAST_BILINEAR) { |
|
|
|
c->hyscale_fast = hyscale_fast_c; |
|
|
|
c->hcscale_fast = hcscale_fast_c; |
|
|
|
} |
|
|
|
} else { |
|
|
|
c->hScale = hScale8To19_c; |
|
|
|
c->hyScale = c->hcScale = hScale8To19_c; |
|
|
|
} |
|
|
|
} else { |
|
|
|
c->hScale = c->dstBpc > 10 ? hScale16To19_c : hScale16To15_c; |
|
|
|
c->hyScale = c->hcScale = c->dstBpc > 10 ? hScale16To19_c : hScale16To15_c; |
|
|
|
} |
|
|
|
|
|
|
|
if (c->srcRange != c->dstRange && !isAnyRGB(c->dstFormat)) { |
|
|
|
|