32#define MAX_BLOCK_SIZE 16
46#define randomize_buffers(buf0, buf1) \
48 static_assert(sizeof(buf0) == sizeof(buf1), "Incompatible buffers"); \
49 static_assert(!(sizeof(buf0) % 4), "Tail handling needed"); \
50 static_assert(sizeof(buf0[0]) == 1 && sizeof(buf1[0]) == 1, \
51 "Pointer arithmetic needs to be adapted"); \
52 for (size_t k = 0; k < sizeof(buf0); k += 4) { \
54 AV_WN32A(buf0 + k, r); \
55 AV_WN32A(buf1 + k, r); \
71#define TEST(NAME) { .name = #NAME, .offset = offsetof(CAVSDSPContext, NAME) }
72 TEST(put_cavs_qpel_pixels_tab),
73 TEST(avg_cavs_qpel_pixels_tab),
81 for (
unsigned j = 0; j < 2; ++j) {
84 for (
unsigned dxy = 0; dxy < 16; ++dxy) {
90 const uint8_t *
src0 = srcbuf0 + src_offset, *
src1 = srcbuf1 + src_offset;
91 uint8_t *dst0 = dstbuf0 + dst_offset, *dst1 = dstbuf1 + dst_offset;
95 dst1 += (blocksize - 1) *
stride;
96 dst0 += (blocksize - 1) *
stride;
108 if (memcmp(srcbuf0, srcbuf1,
sizeof(srcbuf0)) || memcmp(dstbuf0, dstbuf1,
sizeof(dstbuf0)))
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
#define i(width, name, range_min, range_max)
static const struct @213162273235257122266207155164174051374107224106 func_tab[]
av_cold void ff_cavsdsp_init(CAVSDSPContext *c)
Utility Preprocessor macros.
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
void(* qpel_mc_func)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
#define FF_ARRAY_ELEMS(a)
void checkasm_check_cavsdsp(void)
#define randomize_buffers(buf0, buf1)
static void check_cavs_qpeldsp(void)