comparison libswscale/yuv2rgb_altivec.c @ 28739:d6b317bddd62

Make AltiVec code write alpha as 255 instead of 0 when converting to RGBA
author reimar
date Sun, 01 Mar 2009 11:35:00 +0000
parents 61e4dbf0da9e
children 1e56ea9937ce
comparison
equal deleted inserted replaced
28738:730912eb74d3 28739:d6b317bddd62
235 #define vec_packclp(x,y) \ 235 #define vec_packclp(x,y) \
236 (vector unsigned char)vec_packs \ 236 (vector unsigned char)vec_packs \
237 ((vector unsigned short)vec_max (x,((vector signed short) {0})), \ 237 ((vector unsigned short)vec_max (x,((vector signed short) {0})), \
238 (vector unsigned short)vec_max (y,((vector signed short) {0}))) 238 (vector unsigned short)vec_max (y,((vector signed short) {0})))
239 239
240 //#define out_pixels(a,b,c,ptr) vec_mstrgb32(__typeof__(a),((__typeof__ (a)){0}),a,a,a,ptr) 240 //#define out_pixels(a,b,c,ptr) vec_mstrgb32(__typeof__(a),((__typeof__ (a)){255}),a,a,a,ptr)
241 241
242 242
243 static inline void cvtyuvtoRGB (SwsContext *c, 243 static inline void cvtyuvtoRGB (SwsContext *c,
244 vector signed short Y, vector signed short U, vector signed short V, 244 vector signed short Y, vector signed short U, vector signed short V,
245 vector signed short *R, vector signed short *G, vector signed short *B) 245 vector signed short *R, vector signed short *G, vector signed short *B)
436 } \ 436 } \
437 return srcSliceH; \ 437 return srcSliceH; \
438 } 438 }
439 439
440 440
441 #define out_abgr(a,b,c,ptr) vec_mstrgb32(__typeof__(a),((__typeof__ (a)){0}),c,b,a,ptr) 441 #define out_abgr(a,b,c,ptr) vec_mstrgb32(__typeof__(a),((__typeof__ (a)){255}),c,b,a,ptr)
442 #define out_bgra(a,b,c,ptr) vec_mstrgb32(__typeof__(a),c,b,a,((__typeof__ (a)){0}),ptr) 442 #define out_bgra(a,b,c,ptr) vec_mstrgb32(__typeof__(a),c,b,a,((__typeof__ (a)){255}),ptr)
443 #define out_rgba(a,b,c,ptr) vec_mstrgb32(__typeof__(a),a,b,c,((__typeof__ (a)){0}),ptr) 443 #define out_rgba(a,b,c,ptr) vec_mstrgb32(__typeof__(a),a,b,c,((__typeof__ (a)){255}),ptr)
444 #define out_argb(a,b,c,ptr) vec_mstrgb32(__typeof__(a),((__typeof__ (a)){0}),a,b,c,ptr) 444 #define out_argb(a,b,c,ptr) vec_mstrgb32(__typeof__(a),((__typeof__ (a)){255}),a,b,c,ptr)
445 #define out_rgb24(a,b,c,ptr) vec_mstrgb24(a,b,c,ptr) 445 #define out_rgb24(a,b,c,ptr) vec_mstrgb24(a,b,c,ptr)
446 #define out_bgr24(a,b,c,ptr) vec_mstbgr24(a,b,c,ptr) 446 #define out_bgr24(a,b,c,ptr) vec_mstbgr24(a,b,c,ptr)
447 447
448 DEFCSP420_CVT (yuv2_abgr, out_abgr) 448 DEFCSP420_CVT (yuv2_abgr, out_abgr)
449 #if 1 449 #if 1