mirror of https://git.ffmpeg.org/ffmpeg.git
Merge commit 'b045283f2126637477a597f184638ebef09bf898'
* commit 'b045283f2126637477a597f184638ebef09bf898': ppc: dsputil: Simplify some ifdeffed function definitions Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
eb680f2ab0
|
@ -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
|
/* Same as above, when dcbzl clears a whole 128 bytes cache line
|
||||||
* i.e. the PPC970 AKA G5. */
|
* i.e. the PPC970 AKA G5. */
|
||||||
#if HAVE_DCBZL
|
|
||||||
static void clear_blocks_dcbz128_ppc(int16_t *blocks)
|
static void clear_blocks_dcbz128_ppc(int16_t *blocks)
|
||||||
{
|
{
|
||||||
|
#if HAVE_DCBZL
|
||||||
register int misal = (unsigned long) blocks & 0x0000007f;
|
register int misal = (unsigned long) blocks & 0x0000007f;
|
||||||
register int i = 0;
|
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)
|
for (; i < sizeof(int16_t) * 6 * 64; i += 128)
|
||||||
__asm__ volatile ("dcbzl %0,%1" :: "b" (blocks), "r" (i) : "memory");
|
__asm__ volatile ("dcbzl %0,%1" :: "b" (blocks), "r" (i) : "memory");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
static void clear_blocks_dcbz128_ppc(int16_t *blocks)
|
|
||||||
{
|
|
||||||
memset(blocks, 0, sizeof(int16_t) * 6 * 64);
|
memset(blocks, 0, sizeof(int16_t) * 6 * 64);
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if HAVE_DCBZL
|
|
||||||
/* Check dcbz report how many bytes are set to 0 by dcbz. */
|
/* 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
|
/* update 24/06/2003: Replace dcbz by dcbzl to get the intended effect
|
||||||
* (Apple "fixed" dcbz). Unfortunately this cannot be used unless the
|
* (Apple "fixed" dcbz). Unfortunately this cannot be used unless the
|
||||||
* assembler knows about dcbzl ... */
|
* assembler knows about dcbzl ... */
|
||||||
static long check_dcbzl_effect(void)
|
static long check_dcbzl_effect(void)
|
||||||
{
|
{
|
||||||
|
long count = 0;
|
||||||
|
#if HAVE_DCBZL
|
||||||
register char *fakedata = av_malloc(1024);
|
register char *fakedata = av_malloc(1024);
|
||||||
register char *fakedata_middle;
|
register char *fakedata_middle;
|
||||||
register long zero = 0;
|
register long zero = 0;
|
||||||
register long i = 0;
|
register long i = 0;
|
||||||
long count = 0;
|
|
||||||
|
|
||||||
if (!fakedata)
|
if (!fakedata)
|
||||||
return 0L;
|
return 0L;
|
||||||
|
@ -126,15 +123,10 @@ static long check_dcbzl_effect(void)
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
av_free(fakedata);
|
av_free(fakedata);
|
||||||
|
#endif
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
static long check_dcbzl_effect(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
av_cold void ff_dsputil_init_ppc(DSPContext *c, AVCodecContext *avctx)
|
av_cold void ff_dsputil_init_ppc(DSPContext *c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue