# HG changeset patch # User diego # Date 1139444975 0 # Node ID 8084bcdb4898d454d6fd66868d7d56a3fd9a45b0 # Parent 492f442c11afa4da06b298b83c896f397525b23d Correct RGB vs. BGR confusion, the macros vec_mstrgb24 and vec_mstbgr24 each do the opposite of what they say. The vec_mstrgb24 and vec_mstbgr24 macros should be opposites and not perform the same things. patch by Alan Curry, pacman_at_world_dot_std_dot_com diff -r 492f442c11af -r 8084bcdb4898 postproc/yuv2rgb_altivec.c --- a/postproc/yuv2rgb_altivec.c Wed Feb 08 23:44:44 2006 +0000 +++ b/postproc/yuv2rgb_altivec.c Thu Feb 09 00:29:35 2006 +0000 @@ -142,7 +142,7 @@ y2 = vec_perm (o3,o2,perm_rgb_3); \ } while(0) -#define vec_mstrgb24(x0,x1,x2,ptr) \ +#define vec_mstbgr24(x0,x1,x2,ptr) \ do { \ typeof(x0) _0,_1,_2; \ vec_merge3 (x0,x1,x2,_0,_1,_2); \ @@ -151,7 +151,7 @@ vec_st (_2, 0, ptr++); \ } while (0); -#define vec_mstbgr24(x0,x1,x2,ptr) \ +#define vec_mstrgb24(x0,x1,x2,ptr) \ do { \ typeof(x0) _0,_1,_2; \ vec_merge3 (x2,x1,x0,_0,_1,_2); \ @@ -417,7 +417,7 @@ #define out_rgba(a,b,c,ptr) vec_mstrgb32(typeof(a),a,b,c,((typeof (a))AVV(0)),ptr) #define out_argb(a,b,c,ptr) vec_mstrgb32(typeof(a),((typeof (a))AVV(0)),a,b,c,ptr) #define out_rgb24(a,b,c,ptr) vec_mstrgb24(a,b,c,ptr) -#define out_bgr24(a,b,c,ptr) vec_mstbgr24(c,b,a,ptr) +#define out_bgr24(a,b,c,ptr) vec_mstbgr24(a,b,c,ptr) DEFCSP420_CVT (yuv2_abgr32, out_abgr) #if 1