Browse Source

ppc generic prefetch

Originally committed as revision 6669 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Luca Barbato 19 years ago
parent
commit
a5db5bda07
1 changed files with 10 additions and 1 deletions
  1. +10
    -1
      libavcodec/ppc/dsputil_ppc.c

+ 10
- 1
libavcodec/ppc/dsputil_ppc.c View File

@@ -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;


Loading…
Cancel
Save