summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authorkostya <kostya@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-09 15:04:17 +0000
committerkostya <kostya@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-09 15:04:17 +0000
commit1e1a332bbf5db85aeb387c574eb5d44481b0e43c (patch)
tree03d9652490679c01daab45e2e768df9cda1ee8d9 /libswscale
parent1407950a2f0fff343fb8b821edc09b40c2fc9b23 (diff)
downloadmpv-1e1a332bbf5db85aeb387c574eb5d44481b0e43c.tar.bz2
mpv-1e1a332bbf5db85aeb387c574eb5d44481b0e43c.tar.xz
Remove 'offset' argument from PUTRGB* macros since it's unneeded and caused
pixel swapping during some YUV2RGB conversions. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29483 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/yuv2rgb.c132
1 files changed, 66 insertions, 66 deletions
diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c
index 96649296ff..b20fa7daf2 100644
--- a/libswscale/yuv2rgb.c
+++ b/libswscale/yuv2rgb.c
@@ -56,10 +56,10 @@ const int32_t ff_yuv2rgb_coeffs[8][4] = {
g = (void *)(c->table_gU[U] + c->table_gV[V]); \
b = (void *)c->table_bU[U];
-#define PUTRGB(dst,src,i,o) \
- Y = src[2*i+o]; \
+#define PUTRGB(dst,src,i) \
+ Y = src[2*i]; \
dst[2*i ] = r[Y] + g[Y] + b[Y]; \
- Y = src[2*i+1-o]; \
+ Y = src[2*i+1]; \
dst[2*i+1] = r[Y] + g[Y] + b[Y];
#define PUTRGB24(dst,src,i) \
@@ -74,10 +74,10 @@ const int32_t ff_yuv2rgb_coeffs[8][4] = {
Y = src[2*i+1]; \
dst[6*i+3] = b[Y]; dst[6*i+4] = g[Y]; dst[6*i+5] = r[Y];
-#define PUTRGBA(dst,ysrc,asrc,i,o,s) \
- Y = ysrc[2*i+o]; \
+#define PUTRGBA(dst,ysrc,asrc,i,s) \
+ Y = ysrc[2*i]; \
dst[2*i ] = r[Y] + g[Y] + b[Y] + (asrc[2*i ]<<s); \
- Y = ysrc[2*i+1-o]; \
+ Y = ysrc[2*i+1]; \
dst[2*i+1] = r[Y] + g[Y] + b[Y] + (asrc[2*i+1]<<s);
#define PUTRGB48(dst,src,i) \
@@ -167,84 +167,84 @@ ENDYUV2RGBFUNC()
YUV2RGBFUNC(yuv2rgb_c_32, uint32_t, 0)
LOADCHROMA(0);
- PUTRGB(dst_1,py_1,0,0);
- PUTRGB(dst_2,py_2,0,1);
+ PUTRGB(dst_1,py_1,0);
+ PUTRGB(dst_2,py_2,0);
LOADCHROMA(1);
- PUTRGB(dst_2,py_2,1,1);
- PUTRGB(dst_1,py_1,1,0);
+ PUTRGB(dst_2,py_2,1);
+ PUTRGB(dst_1,py_1,1);
LOADCHROMA(2);
- PUTRGB(dst_1,py_1,2,0);
- PUTRGB(dst_2,py_2,2,1);
+ PUTRGB(dst_1,py_1,2);
+ PUTRGB(dst_2,py_2,2);
LOADCHROMA(3);
- PUTRGB(dst_2,py_2,3,1);
- PUTRGB(dst_1,py_1,3,0);
+ PUTRGB(dst_2,py_2,3);
+ PUTRGB(dst_1,py_1,3);
ENDYUV2RGBLINE(8)
LOADCHROMA(0);
- PUTRGB(dst_1,py_1,0,0);
- PUTRGB(dst_2,py_2,0,1);
+ PUTRGB(dst_1,py_1,0);
+ PUTRGB(dst_2,py_2,0);
LOADCHROMA(1);
- PUTRGB(dst_2,py_2,1,1);
- PUTRGB(dst_1,py_1,1,0);
+ PUTRGB(dst_2,py_2,1);
+ PUTRGB(dst_1,py_1,1);
ENDYUV2RGBFUNC()
YUV2RGBFUNC(yuva2rgba_c, uint32_t, 1)
LOADCHROMA(0);
- PUTRGBA(dst_1,py_1,pa_1,0,0,24);
- PUTRGBA(dst_2,py_2,pa_2,0,1,24);
+ PUTRGBA(dst_1,py_1,pa_1,0,24);
+ PUTRGBA(dst_2,py_2,pa_2,0,24);
LOADCHROMA(1);
- PUTRGBA(dst_2,py_2,pa_1,1,1,24);
- PUTRGBA(dst_1,py_1,pa_2,1,0,24);
+ PUTRGBA(dst_2,py_2,pa_1,1,24);
+ PUTRGBA(dst_1,py_1,pa_2,1,24);
LOADCHROMA(2);
- PUTRGBA(dst_1,py_1,pa_1,2,0,24);
- PUTRGBA(dst_2,py_2,pa_2,2,1,24);
+ 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,1,24);
- PUTRGBA(dst_1,py_1,pa_2,3,0,24);
+ PUTRGBA(dst_2,py_2,pa_1,3,24);
+ PUTRGBA(dst_1,py_1,pa_2,3,24);
pa_1 += 8;\
pa_2 += 8;\
ENDYUV2RGBLINE(8)
LOADCHROMA(0);
- PUTRGBA(dst_1,py_1,pa_1,0,0,24);
- PUTRGBA(dst_2,py_2,pa_2,0,1,24);
+ PUTRGBA(dst_1,py_1,pa_1,0,24);
+ PUTRGBA(dst_2,py_2,pa_2,0,24);
LOADCHROMA(1);
- PUTRGBA(dst_2,py_2,pa_1,1,1,24);
- PUTRGBA(dst_1,py_1,pa_2,1,0,24);
+ PUTRGBA(dst_2,py_2,pa_1,1,24);
+ PUTRGBA(dst_1,py_1,pa_2,1,24);
ENDYUV2RGBFUNC()
YUV2RGBFUNC(yuva2argb_c, uint32_t, 1)
LOADCHROMA(0);
- PUTRGBA(dst_1,py_1,pa_1,0,0,0);
- PUTRGBA(dst_2,py_2,pa_2,0,1,0);
+ PUTRGBA(dst_1,py_1,pa_1,0,0);
+ PUTRGBA(dst_2,py_2,pa_2,0,0);
LOADCHROMA(1);
- PUTRGBA(dst_2,py_2,pa_2,1,1,0);
- PUTRGBA(dst_1,py_1,pa_1,1,0,0);
+ PUTRGBA(dst_2,py_2,pa_2,1,0);
+ PUTRGBA(dst_1,py_1,pa_1,1,0);
LOADCHROMA(2);
- PUTRGBA(dst_1,py_1,pa_1,2,0,0);
- PUTRGBA(dst_2,py_2,pa_2,2,1,0);
+ PUTRGBA(dst_1,py_1,pa_1,2,0);
+ PUTRGBA(dst_2,py_2,pa_2,2,0);
LOADCHROMA(3);
- PUTRGBA(dst_2,py_2,pa_2,3,1,0);
- PUTRGBA(dst_1,py_1,pa_1,3,0,0);
+ PUTRGBA(dst_2,py_2,pa_2,3,0);
+ PUTRGBA(dst_1,py_1,pa_1,3,0);
pa_1 += 8;\
pa_2 += 8;\
ENDYUV2RGBLINE(8)
LOADCHROMA(0);
- PUTRGBA(dst_1,py_1,pa_1,0,0,0);
- PUTRGBA(dst_2,py_2,pa_2,0,1,0);
+ PUTRGBA(dst_1,py_1,pa_1,0,0);
+ PUTRGBA(dst_2,py_2,pa_2,0,0);
LOADCHROMA(1);
- PUTRGBA(dst_2,py_2,pa_2,1,1,0);
- PUTRGBA(dst_1,py_1,pa_1,1,0,0);
+ PUTRGBA(dst_2,py_2,pa_2,1,0);
+ PUTRGBA(dst_1,py_1,pa_1,1,0);
ENDYUV2RGBFUNC()
YUV2RGBFUNC(yuv2rgb_c_24_rgb, uint8_t, 0)
@@ -304,40 +304,40 @@ ENDYUV2RGBFUNC()
// r, g, b, dst_1, dst_2
YUV2RGBFUNC(yuv2rgb_c_16, uint16_t, 0)
LOADCHROMA(0);
- PUTRGB(dst_1,py_1,0,0);
- PUTRGB(dst_2,py_2,0,1);
+ PUTRGB(dst_1,py_1,0);
+ PUTRGB(dst_2,py_2,0);
LOADCHROMA(1);
- PUTRGB(dst_2,py_2,1,1);
- PUTRGB(dst_1,py_1,1,0);
+ PUTRGB(dst_2,py_2,1);
+ PUTRGB(dst_1,py_1,1);
LOADCHROMA(2);
- PUTRGB(dst_1,py_1,2,0);
- PUTRGB(dst_2,py_2,2,1);
+ PUTRGB(dst_1,py_1,2);
+ PUTRGB(dst_2,py_2,2);
LOADCHROMA(3);
- PUTRGB(dst_2,py_2,3,1);
- PUTRGB(dst_1,py_1,3,0);
+ PUTRGB(dst_2,py_2,3);
+ PUTRGB(dst_1,py_1,3);
CLOSEYUV2RGBFUNC(8)
// This is exactly the same code as yuv2rgb_c_32 except for the types of
// r, g, b, dst_1, dst_2
YUV2RGBFUNC(yuv2rgb_c_8, uint8_t, 0)
LOADCHROMA(0);
- PUTRGB(dst_1,py_1,0,0);
- PUTRGB(dst_2,py_2,0,1);
+ PUTRGB(dst_1,py_1,0);
+ PUTRGB(dst_2,py_2,0);
LOADCHROMA(1);
- PUTRGB(dst_2,py_2,1,1);
- PUTRGB(dst_1,py_1,1,0);
+ PUTRGB(dst_2,py_2,1);
+ PUTRGB(dst_1,py_1,1);
LOADCHROMA(2);
- PUTRGB(dst_1,py_1,2,0);
- PUTRGB(dst_2,py_2,2,1);
+ PUTRGB(dst_1,py_1,2);
+ PUTRGB(dst_2,py_2,2);
LOADCHROMA(3);
- PUTRGB(dst_2,py_2,3,1);
- PUTRGB(dst_1,py_1,3,0);
+ PUTRGB(dst_2,py_2,3);
+ PUTRGB(dst_1,py_1,3);
CLOSEYUV2RGBFUNC(8)
// r, g, b, dst_1, dst_2
@@ -429,20 +429,20 @@ CLOSEYUV2RGBFUNC(4)
// r, g, b, dst_1, dst_2
YUV2RGBFUNC(yuv2rgb_c_4b, uint8_t, 0)
LOADCHROMA(0);
- PUTRGB(dst_1,py_1,0,0);
- PUTRGB(dst_2,py_2,0,1);
+ PUTRGB(dst_1,py_1,0);
+ PUTRGB(dst_2,py_2,0);
LOADCHROMA(1);
- PUTRGB(dst_2,py_2,1,1);
- PUTRGB(dst_1,py_1,1,0);
+ PUTRGB(dst_2,py_2,1);
+ PUTRGB(dst_1,py_1,1);
LOADCHROMA(2);
- PUTRGB(dst_1,py_1,2,0);
- PUTRGB(dst_2,py_2,2,1);
+ PUTRGB(dst_1,py_1,2);
+ PUTRGB(dst_2,py_2,2);
LOADCHROMA(3);
- PUTRGB(dst_2,py_2,3,1);
- PUTRGB(dst_1,py_1,3,0);
+ PUTRGB(dst_2,py_2,3);
+ PUTRGB(dst_1,py_1,3);
CLOSEYUV2RGBFUNC(8)
YUV2RGBFUNC(yuv2rgb_c_4b_ordered_dither, uint8_t, 0)