summaryrefslogtreecommitdiff
path: root/libavcodec/ppc
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2007-12-23 19:06:33 +0000
committerLuca Barbato <lu_zero@gentoo.org>2007-12-23 19:06:33 +0000
commit4049e0142df9fd5596d7d6e94973c1a2f9a19c83 (patch)
treee8578abfb66256b9d4548894821e99c0a05054ae /libavcodec/ppc
parentefc90ebfcbe19efc236eb9f17af0f67145ae3828 (diff)
Minor fix
Originally committed as revision 11310 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ppc')
-rw-r--r--libavcodec/ppc/h264_template_altivec.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/ppc/h264_template_altivec.c b/libavcodec/ppc/h264_template_altivec.c
index c4a98e9a9b..fd5e04ca17 100644
--- a/libavcodec/ppc/h264_template_altivec.c
+++ b/libavcodec/ppc/h264_template_altivec.c
@@ -166,8 +166,8 @@ void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src,
} else {
vec_u8_t vsrcDuc;
for (i = 0 ; i < h ; i++) {
- vsrcCuc = vec_ld(0, src);
- vsrcDuc = vec_ld(15, src);
+ vsrcCuc = vec_ld(stride + 0, src);
+ vsrcDuc = vec_ld(stride + 15, src);
vsrc1uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0);
CHROMA_MC8_ALTIVEC_CORE_SIMPLE
@@ -189,7 +189,10 @@ void PREFIX_h264_chroma_mc8_altivec(uint8_t * dst, uint8_t * src,
vsrcCuc = vec_ld(0, src);
vsrcDuc = vec_ld(15, src);
vsrc0uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm0);
- vsrc1uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm1);
+ if (reallyBadAlign)
+ vsrc1uc = vsrcDuc;
+ else
+ vsrc1uc = vec_perm(vsrcCuc, vsrcDuc, vsrcperm1);
CHROMA_MC8_ALTIVEC_CORE_SIMPLE
}