swscale: fix off-by-one in second coefficient in bilinear filters.
If coefficient A is 12-bits xixed-point number "X", then the other coefficient is (1 << 12) - X, not (1 << 12) - X - 1.
This commit is contained in:
parent
7bf9e3391f
commit
4860625236
@ -353,7 +353,7 @@ yuv2mono_2_c_template(SwsContext *c, const int16_t *buf[2],
|
|||||||
{
|
{
|
||||||
const int16_t *buf0 = buf[0], *buf1 = buf[1];
|
const int16_t *buf0 = buf[0], *buf1 = buf[1];
|
||||||
const uint8_t * const d128 = dither_8x8_220[y & 7];
|
const uint8_t * const d128 = dither_8x8_220[y & 7];
|
||||||
int yalpha1 = 4095 - yalpha;
|
int yalpha1 = 4096 - yalpha;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < dstW; i += 8) {
|
for (i = 0; i < dstW; i += 8) {
|
||||||
@ -505,8 +505,8 @@ yuv2422_2_c_template(SwsContext *c, const int16_t *buf[2],
|
|||||||
const int16_t *buf0 = buf[0], *buf1 = buf[1],
|
const int16_t *buf0 = buf[0], *buf1 = buf[1],
|
||||||
*ubuf0 = ubuf[0], *ubuf1 = ubuf[1],
|
*ubuf0 = ubuf[0], *ubuf1 = ubuf[1],
|
||||||
*vbuf0 = vbuf[0], *vbuf1 = vbuf[1];
|
*vbuf0 = vbuf[0], *vbuf1 = vbuf[1];
|
||||||
int yalpha1 = 4095 - yalpha;
|
int yalpha1 = 4096 - yalpha;
|
||||||
int uvalpha1 = 4095 - uvalpha;
|
int uvalpha1 = 4096 - uvalpha;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < ((dstW + 1) >> 1); i++) {
|
for (i = 0; i < ((dstW + 1) >> 1); i++) {
|
||||||
@ -648,8 +648,8 @@ yuv2rgb48_2_c_template(SwsContext *c, const int32_t *buf[2],
|
|||||||
const int32_t *buf0 = buf[0], *buf1 = buf[1],
|
const int32_t *buf0 = buf[0], *buf1 = buf[1],
|
||||||
*ubuf0 = ubuf[0], *ubuf1 = ubuf[1],
|
*ubuf0 = ubuf[0], *ubuf1 = ubuf[1],
|
||||||
*vbuf0 = vbuf[0], *vbuf1 = vbuf[1];
|
*vbuf0 = vbuf[0], *vbuf1 = vbuf[1];
|
||||||
int yalpha1 = 4095 - yalpha;
|
int yalpha1 = 4096 - yalpha;
|
||||||
int uvalpha1 = 4095 - uvalpha;
|
int uvalpha1 = 4096 - uvalpha;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < ((dstW + 1) >> 1); i++) {
|
for (i = 0; i < ((dstW + 1) >> 1); i++) {
|
||||||
@ -995,8 +995,8 @@ yuv2rgb_2_c_template(SwsContext *c, const int16_t *buf[2],
|
|||||||
*vbuf0 = vbuf[0], *vbuf1 = vbuf[1],
|
*vbuf0 = vbuf[0], *vbuf1 = vbuf[1],
|
||||||
*abuf0 = hasAlpha ? abuf[0] : NULL,
|
*abuf0 = hasAlpha ? abuf[0] : NULL,
|
||||||
*abuf1 = hasAlpha ? abuf[1] : NULL;
|
*abuf1 = hasAlpha ? abuf[1] : NULL;
|
||||||
int yalpha1 = 4095 - yalpha;
|
int yalpha1 = 4096 - yalpha;
|
||||||
int uvalpha1 = 4095 - uvalpha;
|
int uvalpha1 = 4096 - uvalpha;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < ((dstW + 1) >> 1); i++) {
|
for (i = 0; i < ((dstW + 1) >> 1); i++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user