mirror of https://git.ffmpeg.org/ffmpeg.git
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 "dsputil_alpha.h"
|
||||||
#include "asm.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)
|
av_cold void ff_dsputil_init_alpha(DSPContext *c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
/* amask clears all bits that correspond to present features. */
|
/* 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,
|
void (*add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels,
|
||||||
int line_size);
|
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,
|
av_cold void ff_idctdsp_init_alpha(IDCTDSPContext *c, AVCodecContext *avctx,
|
||||||
unsigned high_bit_depth)
|
unsigned high_bit_depth)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue