32#define randomize_buffers(buf, size) \
35 uint8_t *tmp_buf = (uint8_t *)buf;\
36 for (j = 0; j < size; j++) \
37 tmp_buf[j] = rnd() & 0xFF; \
40#define init_buffer(a0, a1, type, width)\
43 randomize_buffers(a0, width * sizeof(type));\
44 memcpy(a1, a0, width*sizeof(type));\
62 if (memcmp(dst0, dst1,
width))
79 uint8_t *diff0 =
av_malloc(aligned_width);
80 uint8_t *diff1 =
av_malloc(aligned_width);
82 const uint8_t *
diff, ptrdiff_t
w,
83 int *
left,
int *left_top);
124 if ((res0 & 0xFF) != (res1 & 0xFF) || memcmp(dst0, dst1,
width))
135 size_t align,
unsigned acc)
138 uint16_t *dst0, *dst1, *
src0, *
src1;
154 if ((res0 & 0xFFFF) != (res1 & 0xFFFF) || memcmp(dst0, dst1,
width *
sizeof(*dst0)))
169 const ptrdiff_t
width);
172 src_size = (
stride + 32) * 2;
193 int accRnd =
rnd() & 0xFF;
205 if (
check_func(
c.add_median_pred,
"add_median_pred"))
207 report(
"add_median_pred");
209 if (
check_func(
c.add_left_pred,
"add_left_pred_zero"))
211 report(
"add_left_pred_zero");
213 if (
check_func(
c.add_left_pred,
"add_left_pred_rnd_acc"))
215 report(
"add_left_pred_rnd_acc");
217 if (
check_func(
c.add_left_pred_int16,
"add_left_pred_int16"))
219 report(
"add_left_pred_int16");
221 if (
check_func(
c.add_gradient_pred,
"add_gradient_pred"))
223 report(
"add_gradient_pred");
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
static const uint8_t *BS_FUNC align(BSCTX *bc)
Skip bits to a byte boundary.
static int BS_FUNC left(const BSCTX *bc)
Return the number of the bits left in a buffer.
size_t av_cpu_max_align(void)
Get the maximum data alignment that may be required by FFmpeg.
#define init_buffer(a0, a1, type, width)
void checkasm_check_llviddsp(void)
static void check_add_bytes(LLVidDSPContext *c, int width, size_t aligned_width)
static void check_add_left_pred(LLVidDSPContext *c, int width, size_t aligned_width, int acc)
static void check_add_left_pred_16(LLVidDSPContext *c, unsigned mask, int width, size_t align, unsigned acc)
static void check_add_median_pred(LLVidDSPContext *c, int width, size_t aligned_width)
static void check_add_gradient_pred(LLVidDSPContext *c, int w, size_t align)
av_cold void ff_llviddsp_init(LLVidDSPContext *c)
static const uint16_t mask[17]
Utility Preprocessor macros.
Memory handling functions.
static av_always_inline int diff(const struct color_info *a, const struct color_info *b, const int trans_thresh)
static double b1(void *priv, double x, double y)
static double a0(void *priv, double x, double y)
static double b0(void *priv, double x, double y)
static double a1(void *priv, double x, double y)