Go to the documentation of this file.
45 int diff =
field->cmp_val((
void *) (((uintptr_t) pa) +
field->offset),
46 (
void *) (((uintptr_t) pb) +
field->offset));
130 buf_appendf(&buf, &
size,
"{");
134 void *
p = (
void *) (((uintptr_t) params) +
field->offset);
136 buf_appendf(&buf, &
size,
",");
137 buf_appendf(&buf, &
size,
" .%s = ",
field->name);
140 buf_appendf(&buf, &
size,
" }");
148 FILE *fp = (FILE *) opaque;
152 fprintf(fp,
"%s,\n", buf);
160 int main(
int argc,
char *argv[])
166 _setmode(_fileno(stdout), _O_BINARY);
181 printf(
" * This file is automatically generated. Do not edit manually.\n");
182 printf(
" * To regenerate, run: make fate-sws-ops-entries-aarch64 GEN=1\n");
static void error(const char *err)
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
__device__ int printf(const char *,...)
The following structure is used to describe one field from SwsAArch64OpImplParams.
void * av_tree_insert(AVTreeNode **tp, void *key, int(*cmp)(const void *key, const void *b), AVTreeNode **next)
Insert or remove an element.
int ff_sws_op_list_max_size(const SwsOpList *ops)
Returns the size of the largest pixel type used in ops.
struct AVTreeNode * av_tree_node_alloc(void)
Allocate an AVTreeNode.
void av_tree_enumerate(AVTreeNode *t, void *opaque, int(*cmp)(void *opaque, void *elem), int(*enu)(void *opaque, void *elem))
Apply enu(opaque, &elem) to all the elements in the tree in a given range.
void * av_memdup(const void *p, size_t size)
Duplicate a buffer with av_malloc().
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 av_assert0(cond)
assert() equivalent, that is always enabled.
static AVFormatContext * ctx
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 field
static const ParamField * op_fields[AARCH64_SWS_OP_TYPE_NB][MAX_LEVELS]
the definition of that something depends on the semantic of the filter The callback must examine the status of the filter s links and proceed accordingly The status of output links is stored in the status_in and status_out fields and tested by the then the processing requires a frame on this link and the filter is expected to make efforts in that direction The status of input links is stored by the fifo and status_out fields
static int aarch64_op_impl_cmp(const void *a, const void *b)
static int print_op(void *opaque, void *elem)
void av_tree_destroy(AVTreeNode *t)
static void copy(const float *p1, float *p2, const int length)
SwsContext * sws_alloc_context(void)
Allocate an empty SwsContext and set its fields to default values.
#define i(width, name, range_min, range_max)
static av_always_inline int diff(const struct color_info *a, const struct color_info *b, const int trans_thresh)
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
SwsAArch64LinearOp linear
int ff_sws_enum_op_lists(SwsContext *ctx, void *opaque, enum AVPixelFormat src_fmt, enum AVPixelFormat dst_fmt, int(*cb)(SwsContext *ctx, void *opaque, SwsOpList *ops))
Helper function to enumerate over all possible (optimized) operation lists, under the current set of ...
static int convert_to_aarch64_impl(SwsContext *ctx, const SwsOpList *ops, int n, int block_size, SwsAArch64OpImplParams *out)
Convert SwsOp to a SwsAArch64OpImplParams.
int main(int argc, char *argv[])
static int aarch64_collect_op(const SwsAArch64OpImplParams *params, struct AVTreeNode **root)
IDirect3DDxgiInterfaceAccess _COM_Outptr_ void ** p
static int register_op(SwsContext *ctx, void *opaque, SwsOpList *ops)
SwsAArch64OpImplParams describes the parameters for an SwsAArch64OpType operation.
void sws_free_context(SwsContext **ctx)
Free the context and everything associated with it, and write NULL to the provided pointer.
Helper struct for representing a list of operations.
static void serialize_op(char *buf, size_t size, const SwsAArch64OpImplParams *params)
Main external API structure.