43 uint64_t clampmask =
zap(-1, 0xaa);
46 uint64_t shorts0, shorts1;
49 shorts0 =
maxsw4(shorts0, 0);
50 shorts0 =
minsw4(shorts0, clampmask);
53 shorts1 =
ldq(block + 4);
54 shorts1 =
maxsw4(shorts1, 0);
55 shorts1 =
minsw4(shorts1, clampmask);
69 uint64_t clampmask =
zap(-1, 0xaa);
70 uint64_t signmask =
zap(-1, 0x33);
71 signmask ^= signmask >> 1;
74 uint64_t shorts0, pix0, signs0;
75 uint64_t shorts1, pix1, signs1;
78 shorts1 =
ldq(block + 4);
82 signs0 = shorts0 & signmask;
87 shorts0 =
maxsw4(shorts0, 0);
88 shorts0 =
minsw4(shorts0, clampmask);
92 signs1 = shorts1 & signmask;
96 shorts1 =
maxsw4(shorts1, 0);
97 shorts1 =
minsw4(shorts1, clampmask);
100 stl(
pkwb(shorts1), pixels + 4);
109 unsigned high_bit_depth)
120 if (!high_bit_depth && !avctx->
lowres &&
void ff_simple_idct_add_axp(uint8_t *dest, int line_size, int16_t *block)
Macro definitions for various function/variable attributes.
void ff_simple_idct_axp(int16_t *block)
void(* put_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
int lowres
low resolution decoding, 1-> 1/2 size, 2->1/4 size
#define FF_IDCT_SIMPLEALPHA
void(* put_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
void(* add_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
void add_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
av_cold void ff_idctdsp_init_alpha(IDCTDSPContext *c, AVCodecContext *avctx, unsigned high_bit_depth)
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
void put_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
void(* idct_add)(uint8_t *dest, int line_size, int16_t *block)
block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
void(* idct_put)(uint8_t *dest, int line_size, int16_t *block)
block -> idct -> clip to unsigned 8 bit -> dest.
main external API structure.
void ff_simple_idct_put_axp(uint8_t *dest, int line_size, int16_t *block)
void(* add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
void(* idct)(int16_t *block)