mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
alpha/idctdsp: move disabled cruft out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
d5ba19e611
commit
95a2d705cd
@ -24,78 +24,6 @@
|
||||
#include "dsputil_alpha.h"
|
||||
#include "asm.h"
|
||||
|
||||
#if 0
|
||||
/* These functions were the base for the optimized assembler routines,
|
||||
and remain here for documentation purposes. */
|
||||
static void put_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels,
|
||||
ptrdiff_t line_size)
|
||||
{
|
||||
int i = 8;
|
||||
uint64_t clampmask = zap(-1, 0xaa); /* 0x00ff00ff00ff00ff */
|
||||
|
||||
do {
|
||||
uint64_t shorts0, shorts1;
|
||||
|
||||
shorts0 = ldq(block);
|
||||
shorts0 = maxsw4(shorts0, 0);
|
||||
shorts0 = minsw4(shorts0, clampmask);
|
||||
stl(pkwb(shorts0), pixels);
|
||||
|
||||
shorts1 = ldq(block + 4);
|
||||
shorts1 = maxsw4(shorts1, 0);
|
||||
shorts1 = minsw4(shorts1, clampmask);
|
||||
stl(pkwb(shorts1), pixels + 4);
|
||||
|
||||
pixels += line_size;
|
||||
block += 8;
|
||||
} while (--i);
|
||||
}
|
||||
|
||||
void add_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels,
|
||||
ptrdiff_t line_size)
|
||||
{
|
||||
int h = 8;
|
||||
/* Keep this function a leaf function by generating the constants
|
||||
manually (mainly for the hack value ;-). */
|
||||
uint64_t clampmask = zap(-1, 0xaa); /* 0x00ff00ff00ff00ff */
|
||||
uint64_t signmask = zap(-1, 0x33);
|
||||
signmask ^= signmask >> 1; /* 0x8000800080008000 */
|
||||
|
||||
do {
|
||||
uint64_t shorts0, pix0, signs0;
|
||||
uint64_t shorts1, pix1, signs1;
|
||||
|
||||
shorts0 = ldq(block);
|
||||
shorts1 = ldq(block + 4);
|
||||
|
||||
pix0 = unpkbw(ldl(pixels));
|
||||
/* Signed subword add (MMX paddw). */
|
||||
signs0 = shorts0 & signmask;
|
||||
shorts0 &= ~signmask;
|
||||
shorts0 += pix0;
|
||||
shorts0 ^= signs0;
|
||||
/* Clamp. */
|
||||
shorts0 = maxsw4(shorts0, 0);
|
||||
shorts0 = minsw4(shorts0, clampmask);
|
||||
|
||||
/* Next 4. */
|
||||
pix1 = unpkbw(ldl(pixels + 4));
|
||||
signs1 = shorts1 & signmask;
|
||||
shorts1 &= ~signmask;
|
||||
shorts1 += pix1;
|
||||
shorts1 ^= signs1;
|
||||
shorts1 = maxsw4(shorts1, 0);
|
||||
shorts1 = minsw4(shorts1, clampmask);
|
||||
|
||||
stl(pkwb(shorts0), pixels);
|
||||
stl(pkwb(shorts1), pixels + 4);
|
||||
|
||||
pixels += line_size;
|
||||
block += 8;
|
||||
} while (--h);
|
||||
}
|
||||
#endif
|
||||
|
||||
av_cold void ff_dsputil_init_alpha(DSPContext *c, AVCodecContext *avctx)
|
||||
{
|
||||
/* amask clears all bits that correspond to present features. */
|
||||
|
@ -33,6 +33,78 @@ void (*put_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels,
|
||||
void (*add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels,
|
||||
int line_size);
|
||||
|
||||
#if 0
|
||||
/* These functions were the base for the optimized assembler routines,
|
||||
and remain here for documentation purposes. */
|
||||
static void put_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels,
|
||||
ptrdiff_t line_size)
|
||||
{
|
||||
int i = 8;
|
||||
uint64_t clampmask = zap(-1, 0xaa); /* 0x00ff00ff00ff00ff */
|
||||
|
||||
do {
|
||||
uint64_t shorts0, shorts1;
|
||||
|
||||
shorts0 = ldq(block);
|
||||
shorts0 = maxsw4(shorts0, 0);
|
||||
shorts0 = minsw4(shorts0, clampmask);
|
||||
stl(pkwb(shorts0), pixels);
|
||||
|
||||
shorts1 = ldq(block + 4);
|
||||
shorts1 = maxsw4(shorts1, 0);
|
||||
shorts1 = minsw4(shorts1, clampmask);
|
||||
stl(pkwb(shorts1), pixels + 4);
|
||||
|
||||
pixels += line_size;
|
||||
block += 8;
|
||||
} while (--i);
|
||||
}
|
||||
|
||||
void add_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels,
|
||||
ptrdiff_t line_size)
|
||||
{
|
||||
int h = 8;
|
||||
/* Keep this function a leaf function by generating the constants
|
||||
manually (mainly for the hack value ;-). */
|
||||
uint64_t clampmask = zap(-1, 0xaa); /* 0x00ff00ff00ff00ff */
|
||||
uint64_t signmask = zap(-1, 0x33);
|
||||
signmask ^= signmask >> 1; /* 0x8000800080008000 */
|
||||
|
||||
do {
|
||||
uint64_t shorts0, pix0, signs0;
|
||||
uint64_t shorts1, pix1, signs1;
|
||||
|
||||
shorts0 = ldq(block);
|
||||
shorts1 = ldq(block + 4);
|
||||
|
||||
pix0 = unpkbw(ldl(pixels));
|
||||
/* Signed subword add (MMX paddw). */
|
||||
signs0 = shorts0 & signmask;
|
||||
shorts0 &= ~signmask;
|
||||
shorts0 += pix0;
|
||||
shorts0 ^= signs0;
|
||||
/* Clamp. */
|
||||
shorts0 = maxsw4(shorts0, 0);
|
||||
shorts0 = minsw4(shorts0, clampmask);
|
||||
|
||||
/* Next 4. */
|
||||
pix1 = unpkbw(ldl(pixels + 4));
|
||||
signs1 = shorts1 & signmask;
|
||||
shorts1 &= ~signmask;
|
||||
shorts1 += pix1;
|
||||
shorts1 ^= signs1;
|
||||
shorts1 = maxsw4(shorts1, 0);
|
||||
shorts1 = minsw4(shorts1, clampmask);
|
||||
|
||||
stl(pkwb(shorts0), pixels);
|
||||
stl(pkwb(shorts1), pixels + 4);
|
||||
|
||||
pixels += line_size;
|
||||
block += 8;
|
||||
} while (--h);
|
||||
}
|
||||
#endif
|
||||
|
||||
av_cold void ff_idctdsp_init_alpha(IDCTDSPContext *c, AVCodecContext *avctx,
|
||||
unsigned high_bit_depth)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user