Go to the documentation of this file.
39 if (!prctx || !*prctx)
46 while (node !=
NULL) {
345 for (
int i = 0;
i < 2;
i++)
347 for (
int i = 0;
i < 2;
i++)
static void error(const char *err)
RasmContext * rasm_alloc(void)
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 default minimum maximum flags name is the option name
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
int rasm_new_labelf(RasmContext *rctx, char *s, size_t n, const char *fmt,...)
static RasmOp a64op_vecd(uint8_t n)
static RasmOp a64op_vecq(uint8_t n)
void rasm_free(RasmContext **prctx)
RasmNode * rasm_set_current_node(RasmContext *rctx, RasmNode *node)
This helper structure is used to mimic the assembler syntax for vector register modifiers.
RasmNode * rasm_get_current_node(RasmContext *rctx)
void * av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size, const uint8_t *elem_data)
Add an element of size elem_size to a dynamic array.
void rasm_annotate(RasmContext *rctx, const char *comment)
RasmNode * rasm_add_commentf(RasmContext *rctx, char *s, size_t n, const char *fmt,...)
static uint8_t a64op_vec_n(RasmOp op)
void a64op_vec_views(RasmOp op, AArch64VecViews *out)
Runtime assembler for AArch64.
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
RasmNode * rasm_add_label(RasmContext *rctx, int id)
RasmNode * rasm_add_func(RasmContext *rctx, int id, bool export, bool jumpable)
static RasmOp a64op_elem(RasmOp op, uint8_t idx)
static RasmOp a64op_vec8b(uint8_t n)
static RasmOp a64op_vec4h(uint8_t n)
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 int export(AVFilterContext *ctx, StreamContext *sc, int input)
static RasmOp a64op_vec2d(uint8_t n)
static RasmOp a64op_vecs(uint8_t n)
static RasmOp a64op_vecb(uint8_t n)
RasmNode * rasm_add_insn(RasmContext *rctx, int id, RasmOp op0, RasmOp op1, RasmOp op2, RasmOp op3)
static RasmOp a64op_vech(uint8_t n)
static RasmOp a64op_vec4s(uint8_t n)
int rasm_new_label(RasmContext *rctx, const char *name)
Allocate a new label ID with the given name.
void rasm_annotatef(RasmContext *rctx, char *s, size_t n, const char *fmt,...)
#define i(width, name, range_min, range_max)
static RasmOp a64op_vec2s(uint8_t n)
void rasm_annotate_next(RasmContext *rctx, const char *comment)
static RasmOp a64op_vec16b(uint8_t n)
RasmNode * rasm_add_directive(RasmContext *rctx, const char *text)
void rasm_annotate_nextf(RasmContext *rctx, char *s, size_t n, const char *fmt,...)
static int FUNC() comment(CodedBitstreamContext *ctx, RWContext *rw, JPEGRawComment *current)
int rasm_func_begin(RasmContext *rctx, const char *name, bool export, bool jumpable)
RasmNodeDirective directive
IDirect3DDxgiInterfaceAccess _COM_Outptr_ void ** p
static RasmNode * add_node(RasmContext *rctx, RasmNodeType type)
RasmNode * rasm_add_endfunc(RasmContext *rctx)
static RasmOp a64op_vec8h(uint8_t n)
RasmNode * rasm_add_comment(RasmContext *rctx, const char *comment)