|
|
|
@ -629,23 +629,23 @@ POWERPC_PERF_START_COUNT(altivec_put_pixels16_num, 1); |
|
|
|
|
// all this is on a 7450, tuning for the 7450
|
|
|
|
|
#if 0 |
|
|
|
|
for (i = 0; i < h; i++) { |
|
|
|
|
pixelsv1 = vec_ld(0, (unsigned char*)pixels); |
|
|
|
|
pixelsv2 = vec_ld(16, (unsigned char*)pixels); |
|
|
|
|
pixelsv1 = vec_ld(0, pixels); |
|
|
|
|
pixelsv2 = vec_ld(16, pixels); |
|
|
|
|
vec_st(vec_perm(pixelsv1, pixelsv2, perm), |
|
|
|
|
0, (unsigned char*)block); |
|
|
|
|
0, block); |
|
|
|
|
pixels+=line_size; |
|
|
|
|
block +=line_size; |
|
|
|
|
} |
|
|
|
|
#else |
|
|
|
|
for (i = 0; i < h; i += 4) { |
|
|
|
|
pixelsv1 = vec_ld(0, (unsigned char*)pixels); |
|
|
|
|
pixelsv2 = vec_ld(15, (unsigned char*)pixels); |
|
|
|
|
pixelsv1B = vec_ld(line_size, (unsigned char*)pixels); |
|
|
|
|
pixelsv2B = vec_ld(15 + line_size, (unsigned char*)pixels); |
|
|
|
|
pixelsv1C = vec_ld(line_size_2, (unsigned char*)pixels); |
|
|
|
|
pixelsv2C = vec_ld(15 + line_size_2, (unsigned char*)pixels); |
|
|
|
|
pixelsv1D = vec_ld(line_size_3, (unsigned char*)pixels); |
|
|
|
|
pixelsv2D = vec_ld(15 + line_size_3, (unsigned char*)pixels); |
|
|
|
|
pixelsv1 = vec_ld( 0, pixels); |
|
|
|
|
pixelsv2 = vec_ld(15, pixels); |
|
|
|
|
pixelsv1B = vec_ld(line_size, pixels); |
|
|
|
|
pixelsv2B = vec_ld(15 + line_size, pixels); |
|
|
|
|
pixelsv1C = vec_ld(line_size_2, pixels); |
|
|
|
|
pixelsv2C = vec_ld(15 + line_size_2, pixels); |
|
|
|
|
pixelsv1D = vec_ld(line_size_3, pixels); |
|
|
|
|
pixelsv2D = vec_ld(15 + line_size_3, pixels); |
|
|
|
|
vec_st(vec_perm(pixelsv1, pixelsv2, perm), |
|
|
|
|
0, (unsigned char*)block); |
|
|
|
|
vec_st(vec_perm(pixelsv1B, pixelsv2B, perm), |
|
|
|
@ -673,8 +673,8 @@ POWERPC_PERF_DECLARE(altivec_avg_pixels16_num, 1); |
|
|
|
|
POWERPC_PERF_START_COUNT(altivec_avg_pixels16_num, 1); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < h; i++) { |
|
|
|
|
pixelsv1 = vec_ld(0, (unsigned char*)pixels); |
|
|
|
|
pixelsv2 = vec_ld(16, (unsigned char*)pixels); |
|
|
|
|
pixelsv1 = vec_ld( 0, pixels); |
|
|
|
|
pixelsv2 = vec_ld(16,pixels); |
|
|
|
|
blockv = vec_ld(0, block); |
|
|
|
|
pixelsv = vec_perm(pixelsv1, pixelsv2, perm); |
|
|
|
|
blockv = vec_avg(blockv,pixelsv); |
|
|
|
@ -701,8 +701,8 @@ POWERPC_PERF_START_COUNT(altivec_avg_pixels8_num, 1); |
|
|
|
|
int rightside = ((unsigned long)block & 0x0000000F); |
|
|
|
|
|
|
|
|
|
blockv = vec_ld(0, block); |
|
|
|
|
pixelsv1 = vec_ld(0, (unsigned char*)pixels); |
|
|
|
|
pixelsv2 = vec_ld(16, (unsigned char*)pixels); |
|
|
|
|
pixelsv1 = vec_ld( 0, pixels); |
|
|
|
|
pixelsv2 = vec_ld(16, pixels); |
|
|
|
|
pixelsv = vec_perm(pixelsv1, pixelsv2, vec_lvsl(0, pixels)); |
|
|
|
|
|
|
|
|
|
if (rightside) { |
|
|
|
|