1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Merge commit 'b045283f2126637477a597f184638ebef09bf898'

* commit 'b045283f2126637477a597f184638ebef09bf898':
  ppc: dsputil: Simplify some ifdeffed function definitions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-03-20 21:44:51 +01:00
commit eb680f2ab0

View File

@ -74,9 +74,9 @@ static void clear_blocks_dcbz32_ppc(int16_t *blocks)
/* Same as above, when dcbzl clears a whole 128 bytes cache line
* i.e. the PPC970 AKA G5. */
#if HAVE_DCBZL
static void clear_blocks_dcbz128_ppc(int16_t *blocks)
{
#if HAVE_DCBZL
register int misal = (unsigned long) blocks & 0x0000007f;
register int i = 0;
@ -89,26 +89,23 @@ static void clear_blocks_dcbz128_ppc(int16_t *blocks)
for (; i < sizeof(int16_t) * 6 * 64; i += 128)
__asm__ volatile ("dcbzl %0,%1" :: "b" (blocks), "r" (i) : "memory");
}
}
#else
static void clear_blocks_dcbz128_ppc(int16_t *blocks)
{
memset(blocks, 0, sizeof(int16_t) * 6 * 64);
}
#endif
}
#if HAVE_DCBZL
/* Check dcbz report how many bytes are set to 0 by dcbz. */
/* update 24/06/2003: Replace dcbz by dcbzl to get the intended effect
* (Apple "fixed" dcbz). Unfortunately this cannot be used unless the
* assembler knows about dcbzl ... */
static long check_dcbzl_effect(void)
{
long count = 0;
#if HAVE_DCBZL
register char *fakedata = av_malloc(1024);
register char *fakedata_middle;
register long zero = 0;
register long i = 0;
long count = 0;
if (!fakedata)
return 0L;
@ -126,15 +123,10 @@ static long check_dcbzl_effect(void)
count++;
av_free(fakedata);
#endif
return count;
}
#else
static long check_dcbzl_effect(void)
{
return 0;
}
#endif
av_cold void ff_dsputil_init_ppc(DSPContext *c, AVCodecContext *avctx)
{