27 unsigned int xpos = 0;
28 for (
i = 0;
i < dstWidth;
i++) {
29 register unsigned int xx = xpos >> 16;
30 register unsigned int xalpha = (xpos & 0xFFFF) >> 9;
31 dst[
i] = (
src[xx] << 7) + (
src[xx + 1] -
src[xx]) * xalpha;
34 for (
i=dstWidth-1; (
i*xInc)>>16 >=srcW-1;
i--)
35 dst[
i] =
src[srcW-1]*128;
40 const uint8_t *src2,
int srcW,
int xInc)
43 unsigned int xpos = 0;
44 for (
i = 0;
i < dstWidth;
i++) {
45 register unsigned int xx = xpos >> 16;
46 register unsigned int xalpha = (xpos & 0xFFFF) >> 9;
47 dst1[
i] = (
src1[xx] * (xalpha ^ 127) +
src1[xx + 1] * xalpha);
48 dst2[
i] = (src2[xx] * (xalpha ^ 127) + src2[xx + 1] * xalpha);
51 for (
i=dstWidth-1; (
i*xInc)>>16 >=srcW-1;
i--) {
52 dst1[
i] =
src1[srcW-1]*128;
53 dst2[
i] = src2[srcW-1]*128;
void ff_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)
void ff_hyscale_fast_c(SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src, int srcW, int xInc)