Go to the documentation of this file.
29 static const uint32_t
pixel_mask[3] = { 0xffffffff, 0x01ff01ff, 0x03ff03ff };
31 #define SIZEOF_PIXEL ((bit_depth + 7) / 8)
32 #define BUF_SIZE (2 * 16 * (16 + 3 + 4))
34 #define randomize_buffers() \
36 uint32_t mask = pixel_mask[bit_depth - 8]; \
38 for (k = 0; k < BUF_SIZE; k += 4) { \
39 uint32_t r = rnd() & mask; \
40 AV_WN32A(buf0 + k, r); \
41 AV_WN32A(buf1 + k, r); \
43 AV_WN32A(dst0 + k, r); \
44 AV_WN32A(dst1 + k, r); \
48 #define src0 (buf0 + 3 * 2 * 16)
49 #define src1 (buf1 + 3 * 2 * 16)
61 for (
op = 0;
op < 2;
op++) {
63 const char *op_name =
op ?
"avg" :
"put";
67 for (
i = 0;
i < (
op ? 3 : 4);
i++) {
69 for (j = 0; j < 16; j++)
#define declare_func_emms(cpu_flags, ret,...)
static void bit_depth(AudioStatsContext *s, uint64_t mask, uint64_t imask, AVRational *depth)
static const uint32_t pixel_mask[3]
#define check_func(func,...)
static const struct twinvq_data tab
av_cold void ff_h264qpel_init(H264QpelContext *c, int bit_depth)
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.
#define LOCAL_ALIGNED_16(t, v,...)
void checkasm_check_h264qpel(void)
#define randomize_buffers()
void(* qpel_mc_func)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
#define i(width, name, range_min, range_max)
#define AV_CPU_FLAG_MMX
standard MMX
#define AV_CPU_FLAG_MMXEXT
SSE integer functions or AMD MMX ext.