31 static const uint32_t
pixel_mask[3] = { 0xffffffff, 0x03ff03ff, 0x0fff0fff };
34 #define SIZEOF_PIXEL ((BIT_DEPTH + 7) / 8) 35 #define DST_BUF_SIZE (size * size * SIZEOF_PIXEL) 36 #define SRC_BUF_STRIDE 72 37 #define SRC_BUF_SIZE ((size + 7) * SRC_BUF_STRIDE * SIZEOF_PIXEL) 38 #define src (buf + 3 * SIZEOF_PIXEL * (SRC_BUF_STRIDE + 1)) 40 #define randomize_buffers() \ 42 uint32_t mask = pixel_mask[(BIT_DEPTH - 8) >> 1]; \ 44 for (k = 0; k < SRC_BUF_SIZE; k += 4) { \ 45 uint32_t r = rnd() & mask; \ 46 AV_WN32A(buf + k, r); \ 49 for (k = 0; k < DST_BUF_SIZE; k += 4) { \ 50 uint32_t r = rnd() & mask; \ 51 AV_WN32A(dst0 + k, r); \ 52 AV_WN32A(dst1 + k, r); \ 59 static const char *
const filter_names[4] = {
60 "8tap_smooth",
"8tap_regular",
"8tap_sharp",
"bilin" 62 static const char *
const subpel_names[2][2] = { {
"",
"h" }, {
"v",
"hv" } };
63 static const char *
const op_names[2] = {
"put",
"avg" };
74 ptrdiff_t dst_stride, ptrdiff_t ref_stride,
75 int h,
int mx,
int my);
77 for (op = 0; op < 2; op++) {
79 for (hsize = 0; hsize < 5; hsize++) {
80 int size = 64 >> hsize;
82 for (filter = 0; filter < 4; filter++) {
83 for (dx = 0; dx < 2; dx++) {
84 for (dy = 0; dy < 2; dy++) {
86 snprintf(str,
sizeof(str),
"%s_%s_%d%s", op_names[op],
87 filter_names[filter], size,
88 subpel_names[dy][dx]);
90 snprintf(str,
sizeof(str),
"%s%d", op_names[op], size);
94 int mx = dx ? 1 + (
rnd() % 14) : 0;
95 int my = dy ? 1 + (
rnd() % 14) : 0;
110 if (filter >= 1 && filter <= 2)
continue;
vp9_mc_func mc[5][4][2][2][2]
#define AV_CPU_FLAG_MMXEXT
SSE integer functions or AMD MMX ext.
common internal API header
static void filter(MpegAudioContext *s, int ch, const short *samples, int incr)
av_cold void ff_vp9dsp_init(VP9DSPContext *dsp)
#define declare_func_emms(cpu_flags, ret,...)
static void check_mc(void)
#define AV_CPU_FLAG_MMX
standard MMX
static const uint32_t pixel_mask[3]
#define check_func(func,...)
#define LOCAL_ALIGNED_32(t, v,...)
#define randomize_buffers()
static int op(uint8_t **dst, const uint8_t *dst_end, GetByteContext *gb, int pixel, int count, int *x, int width, int linesize)
Perform decode operation.
common internal and external API header
void checkasm_check_vp9dsp(void)