32 static const uint32_t
pixel_mask[3] = { 0xffffffff, 0x03ff03ff, 0x0fff0fff };
33 static const uint32_t
sao_size[5] = {8, 16, 32, 48, 64};
35 #define SIZEOF_PIXEL ((bit_depth + 7) / 8)
36 #define PIXEL_STRIDE (2*MAX_PB_SIZE + AV_INPUT_BUFFER_PADDING_SIZE)
37 #define BUF_SIZE (PIXEL_STRIDE * (64+2) * 2)
38 #define OFFSET_THRESH (1 << (bit_depth - 5))
39 #define OFFSET_LENGTH 5
41 #define randomize_buffers(buf0, buf1, size) \
43 uint32_t mask = pixel_mask[(bit_depth - 8) >> 1]; \
45 for (k = 0; k < size; k += 4) { \
46 uint32_t r = rnd() & mask; \
47 AV_WN32A(buf0 + k, r); \
48 AV_WN32A(buf1 + k, r); \
52 #define randomize_buffers2(buf, size) \
54 uint32_t max_offset = OFFSET_THRESH; \
56 if (bit_depth == 8) { \
57 for (k = 0; k < size; k++) { \
58 uint8_t r = rnd() % max_offset; \
62 for (k = 0; k < size; k++) { \
63 uint16_t r = rnd() % max_offset; \
77 int left_class =
rnd()%32;
79 for (
i = 0;
i <= 4;
i++) {
83 int16_t *sao_offset_val,
int sao_left_class,
int width,
int height);
110 for (
i = 0;
i <= 4;
i++) {
115 int16_t *sao_offset_val,
int eo,
int width,
int height);
static void bit_depth(AudioStatsContext *s, uint64_t mask, uint64_t imask, AVRational *depth)
Libavcodec external API header.
#define declare_func_emms(cpu_flags, ret,...)
#define check_func(func,...)
#define AV_CPU_FLAG_MMX
standard MMX
#define AV_INPUT_BUFFER_PADDING_SIZE
Required number of additionally allocated bytes at the end of the input bitstream for decoding.
#define randomize_buffers2(buf, size)
void checkasm_check_hevc_sao(void)
#define randomize_buffers(buf0, buf1, size)
static const uint32_t sao_size[5]
static const uint32_t pixel_mask[3]
static void check_sao_edge(HEVCDSPContext h, int bit_depth)
static void check_sao_band(HEVCDSPContext h, int bit_depth)
void ff_hevc_dsp_init(HEVCDSPContext *hevcdsp, int bit_depth)
#define LOCAL_ALIGNED_32(t, v,...)
static const uint8_t offset[127][2]