30 #define randomize_buffers(buf, size) \
33 for (j = 0; j < size; j+=4) \
34 AV_WN32(buf + j, rnd()); \
39 {12,16,12}, {16,16,16}, {20,23,25}, {32,18,48}, {8,128,16}, {128,128,128}
42 #define MAX_STRIDE 128
43 #define MAX_HEIGHT 128
61 for (i = 0; i < 6; i ++) {
86 int lumStride,
int chromStride,
int srcStride);
92 for (i = 0; i < 6; i ++) {
95 memset(dst_u_0, 0, (
MAX_STRIDE/2) * MAX_HEIGHT);
96 memset(dst_u_1, 0, (
MAX_STRIDE/2) * MAX_HEIGHT);
97 memset(dst_v_0, 0, (
MAX_STRIDE/2) * MAX_HEIGHT);
98 memset(dst_v_1, 0, (
MAX_STRIDE/2) * MAX_HEIGHT);
104 if (memcmp(dst_y_0, dst_y_1,
MAX_STRIDE * MAX_HEIGHT) ||
105 memcmp(dst_u_0, dst_u_1, (
MAX_STRIDE/2) * MAX_HEIGHT) ||
106 memcmp(dst_v_0, dst_v_1, (
MAX_STRIDE/2) * MAX_HEIGHT))
119 report(
"shuffle_bytes_2103");
122 report(
"shuffle_bytes_0321");
125 report(
"shuffle_bytes_1230");
128 report(
"shuffle_bytes_3012");
131 report(
"shuffle_bytes_3210");
Memory handling functions.
static void check_shuffle_bytes(void *func, const char *report)
void(* shuffle_bytes_3210)(const uint8_t *src, uint8_t *dst, int src_size)
void(* uyvytoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
#define randomize_buffers(buf, size)
void checkasm_check_sw_rgb(void)
static void check_uyvy_to_422p(void)
av_cold void ff_sws_rgb2rgb_init(void)
void(* shuffle_bytes_1230)(const uint8_t *src, uint8_t *dst, int src_size)
static const uint8_t width[]
#define declare_func_emms(cpu_flags, ret,...)
static const struct @305 planes[]
#define AV_CPU_FLAG_MMX
standard MMX
void(* shuffle_bytes_3012)(const uint8_t *src, uint8_t *dst, int src_size)
#define check_func(func,...)
void(* shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, int src_size)
int(* func)(AVBPrint *dst, const char *in, const char *arg)
void(* shuffle_bytes_0321)(const uint8_t *src, uint8_t *dst, int src_size)
#define LOCAL_ALIGNED_32(t, v,...)
common internal and external API header