Originally committed as revision 11311 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Luca Barbato 2007-12-23 19:07:21 +00:00
parent 4049e0142d
commit 9e052e8d28

View File

@ -155,49 +155,49 @@ void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src,
} else { } else {
const vec_s16_t vE = vec_add(vB, vC); const vec_s16_t vE = vec_add(vB, vC);
if (ABCD[2]) { // x == 0 B == 0 if (ABCD[2]) { // x == 0 B == 0
if (!loadSecond) {// -> !reallyBadAlign if (!loadSecond) {// -> !reallyBadAlign
for (i = 0 ; i < h ; i++) { for (i = 0 ; i < h ; i++) {
vsrcCuc = vec_ld(stride + 0, src); vsrcCuc = vec_ld(stride + 0, src);
vsrc1uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0); vsrc1uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0);
CHROMA_MC8_ALTIVEC_CORE_SIMPLE CHROMA_MC8_ALTIVEC_CORE_SIMPLE
vsrc0uc = vsrc1uc; vsrc0uc = vsrc1uc;
} }
} else { } else {
vec_u8_t vsrcDuc; vec_u8_t vsrcDuc;
for (i = 0 ; i < h ; i++) { for (i = 0 ; i < h ; i++) {
vsrcCuc = vec_ld(stride + 0, src); vsrcCuc = vec_ld(stride + 0, src);
vsrcDuc = vec_ld(stride + 15, src); vsrcDuc = vec_ld(stride + 15, src);
vsrc1uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0); vsrc1uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0);
CHROMA_MC8_ALTIVEC_CORE_SIMPLE CHROMA_MC8_ALTIVEC_CORE_SIMPLE
vsrc0uc = vsrc1uc; vsrc0uc = vsrc1uc;
}
} }
}
} else { // y == 0 C == 0 } else { // y == 0 C == 0
if (!loadSecond) {// -> !reallyBadAlign if (!loadSecond) {// -> !reallyBadAlign
for (i = 0 ; i < h ; i++) { for (i = 0 ; i < h ; i++) {
vsrcCuc = vec_ld(0, src); vsrcCuc = vec_ld(0, src);
vsrc0uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0); vsrc0uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm0);
vsrc1uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm1); vsrc1uc = vec_perm(vsrcCuc, vsrcCuc, vsrcperm1);
CHROMA_MC8_ALTIVEC_CORE_SIMPLE CHROMA_MC8_ALTIVEC_CORE_SIMPLE
} }
} else { } else {
vec_u8_t vsrcDuc; vec_u8_t vsrcDuc;
for (i = 0 ; i < h ; i++) { for (i = 0 ; i < h ; i++) {
vsrcCuc = vec_ld(0, src); vsrcCuc = vec_ld(0, src);
vsrcDuc = vec_ld(15, src); vsrcDuc = vec_ld(15, src);
vsrc0uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0); vsrc0uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0);
if (reallyBadAlign) if (reallyBadAlign)
vsrc1uc = vsrcDuc; vsrc1uc = vsrcDuc;
else else
vsrc1uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm1); vsrc1uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm1);
CHROMA_MC8_ALTIVEC_CORE_SIMPLE CHROMA_MC8_ALTIVEC_CORE_SIMPLE
}
} }
} }
}
} }
POWERPC_PERF_STOP_COUNT(PREFIX_h264_chroma_mc8_num, 1); POWERPC_PERF_STOP_COUNT(PREFIX_h264_chroma_mc8_num, 1);
} }