39 static void put_pixels_clamped_mvi(
const int16_t *
block,
uint8_t *pixels,
43 uint64_t clampmask =
zap(-1, 0xaa);
46 uint64_t shorts0, shorts1;
49 shorts0 =
maxsw4(shorts0, 0);
50 shorts0 =
minsw4(shorts0, clampmask);
54 shorts1 =
maxsw4(shorts1, 0);
55 shorts1 =
minsw4(shorts1, clampmask);
63 void add_pixels_clamped_mvi(
const int16_t *
block,
uint8_t *pixels,
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;
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 &&
Macro definitions for various function/variable attributes.
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)
void put_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
void(* add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
void(* put_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size)
void ff_simple_idct_put_axp(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
void ff_simple_idct_axp(int16_t *block)
void ff_simple_idct_add_axp(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
typedef void(RENAME(mix_any_func_type))
main external API structure.
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
int lowres
low resolution decoding, 1-> 1/2 size, 2->1/4 size