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);
|
PUTRGBA(dst_2, py_2, pa_2, 0, 24);
|
||||||
|
|
||||||
LOADCHROMA(1);
|
LOADCHROMA(1);
|
||||||
PUTRGBA(dst_2, py_2, pa_1, 1, 24);
|
PUTRGBA(dst_2, py_2, pa_2, 1, 24);
|
||||||
PUTRGBA(dst_1, py_1, pa_2, 1, 24);
|
PUTRGBA(dst_1, py_1, pa_1, 1, 24);
|
||||||
|
|
||||||
LOADCHROMA(2);
|
LOADCHROMA(2);
|
||||||
PUTRGBA(dst_1, py_1, pa_1, 2, 24);
|
PUTRGBA(dst_1, py_1, pa_1, 2, 24);
|
||||||
PUTRGBA(dst_2, py_2, pa_2, 2, 24);
|
PUTRGBA(dst_2, py_2, pa_2, 2, 24);
|
||||||
|
|
||||||
LOADCHROMA(3);
|
LOADCHROMA(3);
|
||||||
PUTRGBA(dst_2, py_2, pa_1, 3, 24);
|
PUTRGBA(dst_2, py_2, pa_2, 3, 24);
|
||||||
PUTRGBA(dst_1, py_1, pa_2, 3, 24);
|
PUTRGBA(dst_1, py_1, pa_1, 3, 24);
|
||||||
pa_1 += 8; \
|
pa_1 += 8; \
|
||||||
pa_2 += 8; \
|
pa_2 += 8; \
|
||||||
ENDYUV2RGBLINE(8, 0)
|
ENDYUV2RGBLINE(8, 0)
|
||||||
@@ -282,8 +282,8 @@ ENDYUV2RGBLINE(8, 0)
|
|||||||
PUTRGBA(dst_2, py_2, pa_2, 0, 24);
|
PUTRGBA(dst_2, py_2, pa_2, 0, 24);
|
||||||
|
|
||||||
LOADCHROMA(1);
|
LOADCHROMA(1);
|
||||||
PUTRGBA(dst_2, py_2, pa_1, 1, 24);
|
PUTRGBA(dst_2, py_2, pa_2, 1, 24);
|
||||||
PUTRGBA(dst_1, py_1, pa_2, 1, 24);
|
PUTRGBA(dst_1, py_1, pa_1, 1, 24);
|
||||||
pa_1 += 4; \
|
pa_1 += 4; \
|
||||||
pa_2 += 4; \
|
pa_2 += 4; \
|
||||||
ENDYUV2RGBLINE(8, 1)
|
ENDYUV2RGBLINE(8, 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user