|
@@ -221,21 +221,6 @@ static void lumRangeFromJpeg16_c(int16_t *_dst, int width)
|
|
|
dst[i] = (dst[i]*(14071/4) + (33561947<<4)/4)>>12;
|
|
|
}
|
|
|
|
|
|
-static void hyscale_fast_c(SwsContext *c, int16_t *dst, int dstWidth,
|
|
|
- const uint8_t *src, int srcW, int xInc)
|
|
|
-{
|
|
|
- int i;
|
|
|
- unsigned int xpos = 0;
|
|
|
- for (i = 0; i < dstWidth; i++) {
|
|
|
- register unsigned int xx = xpos >> 16;
|
|
|
- register unsigned int xalpha = (xpos & 0xFFFF) >> 9;
|
|
|
- dst[i] = (src[xx] << 7) + (src[xx + 1] - src[xx]) * xalpha;
|
|
|
- xpos += xInc;
|
|
|
- }
|
|
|
- for (i=dstWidth-1; (i*xInc)>>16 >=srcW-1; i--)
|
|
|
- dst[i] = src[srcW-1]*128;
|
|
|
-}
|
|
|
-
|
|
|
// *** horizontal scale Y line to temp buffer
|
|
|
static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth,
|
|
|
const uint8_t *src_in[4],
|
|
@@ -273,25 +258,6 @@ static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth,
|
|
|
convertRange(dst, dstWidth);
|
|
|
}
|
|
|
|
|
|
-static void hcscale_fast_c(SwsContext *c, int16_t *dst1, int16_t *dst2,
|
|
|
- int dstWidth, const uint8_t *src1,
|
|
|
- const uint8_t *src2, int srcW, int xInc)
|
|
|
-{
|
|
|
- int i;
|
|
|
- unsigned int xpos = 0;
|
|
|
- for (i = 0; i < dstWidth; i++) {
|
|
|
- register unsigned int xx = xpos >> 16;
|
|
|
- register unsigned int xalpha = (xpos & 0xFFFF) >> 9;
|
|
|
- dst1[i] = (src1[xx] * (xalpha ^ 127) + src1[xx + 1] * xalpha);
|
|
|
- dst2[i] = (src2[xx] * (xalpha ^ 127) + src2[xx + 1] * xalpha);
|
|
|
- xpos += xInc;
|
|
|
- }
|
|
|
- for (i=dstWidth-1; (i*xInc)>>16 >=srcW-1; i--) {
|
|
|
- dst1[i] = src1[srcW-1]*128;
|
|
|
- dst2[i] = src2[srcW-1]*128;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
static av_always_inline void hcscale(SwsContext *c, int16_t *dst1,
|
|
|
int16_t *dst2, int dstWidth,
|
|
|
const uint8_t *src_in[4],
|
|
@@ -745,8 +711,8 @@ static av_cold void sws_init_swscale(SwsContext *c)
|
|
|
if (c->dstBpc <= 14) {
|
|
|
c->hyScale = c->hcScale = hScale8To15_c;
|
|
|
if (c->flags & SWS_FAST_BILINEAR) {
|
|
|
- c->hyscale_fast = hyscale_fast_c;
|
|
|
- c->hcscale_fast = hcscale_fast_c;
|
|
|
+ c->hyscale_fast = ff_hyscale_fast_c;
|
|
|
+ c->hcscale_fast = ff_hcscale_fast_c;
|
|
|
}
|
|
|
} else {
|
|
|
c->hyScale = c->hcScale = hScale8To19_c;
|