comparison postproc/rgb2rgb.c @ 12301:b80f95e24c96

attribute_used patch by (matthieu castet <castet.matthieu at free dot fr>)
author michael
date Mon, 26 Apr 2004 19:38:17 +0000
parents 9db8700a5a16
children 821f464b4d90
comparison
equal deleted inserted replaced
12300:95ea9f5f6f14 12301:b80f95e24c96
69 int srcStride3, int dstStride); 69 int srcStride3, int dstStride);
70 70
71 #ifdef ARCH_X86 71 #ifdef ARCH_X86
72 static const uint64_t mmx_null __attribute__((aligned(8))) = 0x0000000000000000ULL; 72 static const uint64_t mmx_null __attribute__((aligned(8))) = 0x0000000000000000ULL;
73 static const uint64_t mmx_one __attribute__((aligned(8))) = 0xFFFFFFFFFFFFFFFFULL; 73 static const uint64_t mmx_one __attribute__((aligned(8))) = 0xFFFFFFFFFFFFFFFFULL;
74 static const uint64_t mask32b __attribute__((aligned(8))) = 0x000000FF000000FFULL; 74 static const uint64_t mask32b attribute_used __attribute__((aligned(8))) = 0x000000FF000000FFULL;
75 static const uint64_t mask32g __attribute__((aligned(8))) = 0x0000FF000000FF00ULL; 75 static const uint64_t mask32g attribute_used __attribute__((aligned(8))) = 0x0000FF000000FF00ULL;
76 static const uint64_t mask32r __attribute__((aligned(8))) = 0x00FF000000FF0000ULL; 76 static const uint64_t mask32r attribute_used __attribute__((aligned(8))) = 0x00FF000000FF0000ULL;
77 static const uint64_t mask32 __attribute__((aligned(8))) = 0x00FFFFFF00FFFFFFULL; 77 static const uint64_t mask32 __attribute__((aligned(8))) = 0x00FFFFFF00FFFFFFULL;
78 static const uint64_t mask3216br __attribute__((aligned(8)))=0x00F800F800F800F8ULL; 78 static const uint64_t mask3216br __attribute__((aligned(8)))=0x00F800F800F800F8ULL;
79 static const uint64_t mask3216g __attribute__((aligned(8)))=0x0000FC000000FC00ULL; 79 static const uint64_t mask3216g __attribute__((aligned(8)))=0x0000FC000000FC00ULL;
80 static const uint64_t mask3215g __attribute__((aligned(8)))=0x0000F8000000F800ULL; 80 static const uint64_t mask3215g __attribute__((aligned(8)))=0x0000F8000000F800ULL;
81 static const uint64_t mul3216 __attribute__((aligned(8))) = 0x2000000420000004ULL; 81 static const uint64_t mul3216 __attribute__((aligned(8))) = 0x2000000420000004ULL;
82 static const uint64_t mul3215 __attribute__((aligned(8))) = 0x2000000820000008ULL; 82 static const uint64_t mul3215 __attribute__((aligned(8))) = 0x2000000820000008ULL;
83 static const uint64_t mask24b __attribute__((aligned(8))) = 0x00FF0000FF0000FFULL; 83 static const uint64_t mask24b attribute_used __attribute__((aligned(8))) = 0x00FF0000FF0000FFULL;
84 static const uint64_t mask24g __attribute__((aligned(8))) = 0xFF0000FF0000FF00ULL; 84 static const uint64_t mask24g attribute_used __attribute__((aligned(8))) = 0xFF0000FF0000FF00ULL;
85 static const uint64_t mask24r __attribute__((aligned(8))) = 0x0000FF0000FF0000ULL; 85 static const uint64_t mask24r attribute_used __attribute__((aligned(8))) = 0x0000FF0000FF0000ULL;
86 static const uint64_t mask24l __attribute__((aligned(8))) = 0x0000000000FFFFFFULL; 86 static const uint64_t mask24l __attribute__((aligned(8))) = 0x0000000000FFFFFFULL;
87 static const uint64_t mask24h __attribute__((aligned(8))) = 0x0000FFFFFF000000ULL; 87 static const uint64_t mask24h __attribute__((aligned(8))) = 0x0000FFFFFF000000ULL;
88 static const uint64_t mask24hh __attribute__((aligned(8))) = 0xffff000000000000ULL; 88 static const uint64_t mask24hh __attribute__((aligned(8))) = 0xffff000000000000ULL;
89 static const uint64_t mask24hhh __attribute__((aligned(8))) = 0xffffffff00000000ULL; 89 static const uint64_t mask24hhh __attribute__((aligned(8))) = 0xffffffff00000000ULL;
90 static const uint64_t mask24hhhh __attribute__((aligned(8))) = 0xffffffffffff0000ULL; 90 static const uint64_t mask24hhhh __attribute__((aligned(8))) = 0xffffffffffff0000ULL;
102 static const uint64_t red_15mask __attribute__((aligned(8))) = 0x00007c000000f800ULL; 102 static const uint64_t red_15mask __attribute__((aligned(8))) = 0x00007c000000f800ULL;
103 static const uint64_t green_15mask __attribute__((aligned(8)))= 0x000003e0000007e0ULL; 103 static const uint64_t green_15mask __attribute__((aligned(8)))= 0x000003e0000007e0ULL;
104 static const uint64_t blue_15mask __attribute__((aligned(8))) = 0x0000001f0000001fULL; 104 static const uint64_t blue_15mask __attribute__((aligned(8))) = 0x0000001f0000001fULL;
105 105
106 #ifdef FAST_BGR2YV12 106 #ifdef FAST_BGR2YV12
107 static const uint64_t bgr2YCoeff __attribute__((aligned(8))) = 0x000000210041000DULL; 107 static const uint64_t bgr2YCoeff attribute_used __attribute__((aligned(8))) = 0x000000210041000DULL;
108 static const uint64_t bgr2UCoeff __attribute__((aligned(8))) = 0x0000FFEEFFDC0038ULL; 108 static const uint64_t bgr2UCoeff attribute_used __attribute__((aligned(8))) = 0x0000FFEEFFDC0038ULL;
109 static const uint64_t bgr2VCoeff __attribute__((aligned(8))) = 0x00000038FFD2FFF8ULL; 109 static const uint64_t bgr2VCoeff attribute_used __attribute__((aligned(8))) = 0x00000038FFD2FFF8ULL;
110 #else 110 #else
111 static const uint64_t bgr2YCoeff __attribute__((aligned(8))) = 0x000020E540830C8BULL; 111 static const uint64_t bgr2YCoeff attribute_used __attribute__((aligned(8))) = 0x000020E540830C8BULL;
112 static const uint64_t bgr2UCoeff __attribute__((aligned(8))) = 0x0000ED0FDAC23831ULL; 112 static const uint64_t bgr2UCoeff attribute_used __attribute__((aligned(8))) = 0x0000ED0FDAC23831ULL;
113 static const uint64_t bgr2VCoeff __attribute__((aligned(8))) = 0x00003831D0E6F6EAULL; 113 static const uint64_t bgr2VCoeff attribute_used __attribute__((aligned(8))) = 0x00003831D0E6F6EAULL;
114 #endif 114 #endif
115 static const uint64_t bgr2YOffset __attribute__((aligned(8))) = 0x1010101010101010ULL; 115 static const uint64_t bgr2YOffset attribute_used __attribute__((aligned(8))) = 0x1010101010101010ULL;
116 static const uint64_t bgr2UVOffset __attribute__((aligned(8)))= 0x8080808080808080ULL; 116 static const uint64_t bgr2UVOffset attribute_used __attribute__((aligned(8)))= 0x8080808080808080ULL;
117 static const uint64_t w1111 __attribute__((aligned(8))) = 0x0001000100010001ULL; 117 static const uint64_t w1111 attribute_used __attribute__((aligned(8))) = 0x0001000100010001ULL;
118 118
119 #if 0 119 #if 0
120 static volatile uint64_t __attribute__((aligned(8))) b5Dither; 120 static volatile uint64_t __attribute__((aligned(8))) b5Dither;
121 static volatile uint64_t __attribute__((aligned(8))) g5Dither; 121 static volatile uint64_t __attribute__((aligned(8))) g5Dither;
122 static volatile uint64_t __attribute__((aligned(8))) g6Dither; 122 static volatile uint64_t __attribute__((aligned(8))) g6Dither;