swscale: Use alpha from the right row in yuva2rgba_c
Every other pixel had the alpha channel taken from the wrong
row.
This fixes bug 504.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 6e293d111f
)
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
@@ -264,16 +264,16 @@ YUV2RGBFUNC(yuva2rgba_c, uint32_t, 1)
|
||||
PUTRGBA(dst_2, py_2, pa_2, 0, 24);
|
||||
|
||||
LOADCHROMA(1);
|
||||
PUTRGBA(dst_2, py_2, pa_1, 1, 24);
|
||||
PUTRGBA(dst_1, py_1, pa_2, 1, 24);
|
||||
PUTRGBA(dst_2, py_2, pa_2, 1, 24);
|
||||
PUTRGBA(dst_1, py_1, pa_1, 1, 24);
|
||||
|
||||
LOADCHROMA(2);
|
||||
PUTRGBA(dst_1, py_1, pa_1, 2, 24);
|
||||
PUTRGBA(dst_2, py_2, pa_2, 2, 24);
|
||||
|
||||
LOADCHROMA(3);
|
||||
PUTRGBA(dst_2, py_2, pa_1, 3, 24);
|
||||
PUTRGBA(dst_1, py_1, pa_2, 3, 24);
|
||||
PUTRGBA(dst_2, py_2, pa_2, 3, 24);
|
||||
PUTRGBA(dst_1, py_1, pa_1, 3, 24);
|
||||
pa_1 += 8; \
|
||||
pa_2 += 8; \
|
||||
ENDYUV2RGBLINE(8, 0)
|
||||
@@ -282,8 +282,8 @@ ENDYUV2RGBLINE(8, 0)
|
||||
PUTRGBA(dst_2, py_2, pa_2, 0, 24);
|
||||
|
||||
LOADCHROMA(1);
|
||||
PUTRGBA(dst_2, py_2, pa_1, 1, 24);
|
||||
PUTRGBA(dst_1, py_1, pa_2, 1, 24);
|
||||
PUTRGBA(dst_2, py_2, pa_2, 1, 24);
|
||||
PUTRGBA(dst_1, py_1, pa_1, 1, 24);
|
||||
pa_1 += 4; \
|
||||
pa_2 += 4; \
|
||||
ENDYUV2RGBLINE(8, 1)
|
||||
|
Reference in New Issue
Block a user