[SCM] libav/experimental: ppc generic prefetch

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:52:11 UTC 2013


The following commit has been merged in the experimental branch:
commit a5db5bda07fa3cec06024d1e18fcbcb855a37d37
Author: Luca Barbato <lu_zero at gentoo.org>
Date:   Thu Oct 12 10:26:07 2006 +0000

    ppc generic prefetch
    
    Originally committed as revision 6669 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c
index 48076d2..b8502a0 100644
--- a/libavcodec/ppc/dsputil_ppc.c
+++ b/libavcodec/ppc/dsputil_ppc.c
@@ -249,10 +249,19 @@ long check_dcbzl_effect(void)
 }
 #endif
 
+static void prefetch_ppc(void *mem, int stride, int h)
+{
+    register const uint8_t *p = mem;
+    do {
+        asm volatile ("dcbt 0,%0" : : "r" (p));
+        p+= stride;
+    } while(--h);
+}
+
 void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
 {
     // Common optimizations whether Altivec is available or not
-
+    c->prefetch = prefetch_ppc;
     switch (check_dcbzl_effect()) {
         case 32:
             c->clear_blocks = clear_blocks_dcbz32_ppc;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list