[FFmpeg-devel] [PATCH] intreadwrite: Altivec implementations of	AV_COPY128 and AV_ZERO128.
    Reimar Döffinger 
    Reimar.Doeffinger at gmx.de
       
    Sun Mar  8 00:09:32 CET 2015
    
    
  
Slightly (ca. 4%?) faster and smaller ff_h264_decode_mb_cavlc
in my tests on a G4 7450.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
---
 libavutil/ppc/intreadwrite.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/libavutil/ppc/intreadwrite.h b/libavutil/ppc/intreadwrite.h
index 1ec349e..b68b40e 100644
--- a/libavutil/ppc/intreadwrite.h
+++ b/libavutil/ppc/intreadwrite.h
@@ -38,6 +38,16 @@
 
 #endif
 
+#if HAVE_ALTIVEC
+#include "util_altivec.h"
+#if HAVE_BIGENDIAN
+#define AV_COPY128(d, s) vec_st(vec_ld(0, (const unsigned char *)(s)), 0, (unsigned char *)(d))
+#else
+#define AV_COPY128(d, s) vec_vsx_st(vec_vsx_ld(0, (const unsigned char *)(s)), 0, (unsigned char *)(d))
+#endif
+#define AV_ZERO128(d) VEC_ST(vec_splat_u8(0), 0, (unsigned char *)(d))
+#endif
+
 #if HAVE_XFORM_ASM
 
 #if HAVE_BIGENDIAN
-- 
2.1.4
    
    
More information about the ffmpeg-devel
mailing list