Go to the documentation of this file.
157 static
void buf_appendf(
char **pbuf,
size_t *prem, const
char *fmt, ...)
199 #define PARAM_FIELD(name) #name, offsetof(SwsAArch64OpImplParams, name), sizeof(((SwsAArch64OpImplParams *) 0)->name)
219 return diff < 0 ? -1 : 1;
241 return diff < 0 ? -1 : 1;
247 uint8_t
val = *(uint8_t *)
p;
248 buf_appendf(pbuf, prem,
"_%u",
val);
253 uint8_t
val = *(uint8_t *)
p;
254 buf_appendf(pbuf, prem,
"%u",
val);
263 return diff < 0 ? -1 : 1;
269 uint16_t
val = *(uint16_t *)
p;
270 buf_appendf(pbuf, prem,
"_%04x",
val);
275 uint16_t
val = *(uint16_t *)
p;
276 buf_appendf(pbuf, prem,
"0x%04x",
val);
285 return diff < 0 ? -1 : 1;
291 uint64_t
val = *(uint64_t *)
p;
292 buf_appendf(pbuf, prem,
"_%010" PRIx64,
val);
297 uint64_t
val = *(uint64_t *)
p;
298 buf_appendf(pbuf, prem,
"0x%010" PRIx64
"ULL",
val);
307 return diff < 0 ? -1 : 1;
static const ParamField field_dither_y_offset
static const char pixel_type_names[AARCH64_PIXEL_TYPE_NB][4]
The following structure is used to describe one field from SwsAArch64OpImplParams.
static int cmp_u40(void *pa, void *pb)
static const ParamField field_linear_fmla
static const char op_types[AARCH64_SWS_OP_TYPE_NB][32]
static void print_u8_name(char **pbuf, size_t *prem, void *p)
static int linear(InterplayACMContext *s, unsigned ind, unsigned col)
static int cmp_op(void *pa, void *pb)
static const char pixel_types[AARCH64_PIXEL_TYPE_NB][32]
This file is used both by sws_ops_aarch64 to generate ops_entries.c and by the standalone build-time ...
static const ParamField field_to_type
void(* print_val)(char **pbuf, size_t *prem, void *p)
static int cmp_pixel(void *pa, void *pb)
static const char * aarch64_op_type_name(SwsAArch64OpType op)
static const ParamField field_mask
@ AARCH64_SWS_OP_READ_NIBBLE
@ AARCH64_SWS_OP_SWAP_BYTES
@ AARCH64_SWS_OP_READ_BIT
static const ParamField field_shift
static double val(void *priv, double ch)
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
static const char * aarch64_pixel_type_name(SwsAArch64PixelType fmt)
static const ParamField field_type
@ AARCH64_SWS_OP_WRITE_NIBBLE
static const uint16_t dither[8][8]
static void print_pixel_val(char **pbuf, size_t *prem, void *p)
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.
static int cmp_u8(void *pa, void *pb)
#define av_assert0(cond)
assert() equivalent, that is always enabled.
static void print_u8_val(char **pbuf, size_t *prem, void *p)
static void print_op_val(char **pbuf, size_t *prem, void *p)
static const ParamField * op_fields[AARCH64_SWS_OP_TYPE_NB][MAX_LEVELS]
static void print_op_name(char **pbuf, size_t *prem, void *p)
static const ParamField field_op
static void print_u16_val(char **pbuf, size_t *prem, void *p)
int(* cmp_val)(void *pa, void *pb)
void(* print_str)(char **pbuf, size_t *prem, void *p)
@ AARCH64_SWS_OP_READ_PACKED
static const ParamField field_dither_size_log2
static void print_u40_name(char **pbuf, size_t *prem, void *p)
@ AARCH64_SWS_OP_WRITE_PLANAR
static int shift(int a, int b)
static const ParamField field_linear_mask
static av_always_inline int diff(const struct color_info *a, const struct color_info *b, const int trans_thresh)
@ AARCH64_SWS_OP_WRITE_BIT
@ AARCH64_SWS_OP_READ_PLANAR
static void print_u16_name(char **pbuf, size_t *prem, void *p)
static const ParamField field_block_size
#define PARAM_FIELD(name)
static void print_pixel_name(char **pbuf, size_t *prem, void *p)
static const char op_type_names[AARCH64_SWS_OP_TYPE_NB][16]
static void print_u40_val(char **pbuf, size_t *prem, void *p)
static const ParamField field_swizzle
static const ParamField field_pack
IDirect3DDxgiInterfaceAccess _COM_Outptr_ void ** p
static int cmp_u16(void *pa, void *pb)
@ AARCH64_SWS_OP_WRITE_PACKED
@ AARCH64_SWS_OP_PROCESS_RETURN
static const char * aarch64_op_type(SwsAArch64OpType op)
static const char * aarch64_pixel_type(SwsAArch64PixelType fmt)