Go to the documentation of this file.
21 #ifndef SWSCALE_OPS_DISPATCH_H
22 #define SWSCALE_OPS_DISPATCH_H
83 static_assert(
sizeof(
SwsOpExec) == 24 *
sizeof(
void *) +
85 16 *
sizeof(uint8_t) +
87 "SwsOpExec layout mismatch");
95 int bx_start,
int y_start,
int bx_end,
int y_end);
97 #define SWS_DECL_FUNC(NAME) \
98 void NAME(const SwsOpExec *, const void *, int, int, int, int)
int ff_sws_compile_pass(SwsGraph *graph, const SwsOpBackend *backend, SwsOpList **ops, int flags, SwsPass *input, SwsPass **output)
Resolves an operation list to a graph pass.
AVPixelFormat
Pixel format.
int ff_sws_ops_compile(SwsContext *ctx, const SwsOpBackend *backend, const SwsOpList *ops, SwsCompiledOp *out)
Attempt to compile a list of operations using a specific backend, or the best available backend if ba...
Represents a single filter pass in the scaling graph.
static void comp(unsigned char *dst, ptrdiff_t dst_stride, unsigned char *src, ptrdiff_t src_stride, int add)
ptrdiff_t in_bump[4]
Pointer bump, difference between stride and processed line size.
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce output
bool opaque
If opaque is true, then func_opaque, priv and free are directly forwarded as SwsPass....
int(* compile)(SwsContext *ctx, SwsOpList *ops, SwsCompiledOp *out)
Compile an operation list to an implementation chain.
void(* SwsOpFunc)(const SwsOpExec *exec, const void *priv, int bx_start, int y_start, int bx_end, int y_end)
Process a given range of pixel blocks.
enum AVPixelFormat hw_format
If NONE, backend only supports software frames.
int32_t * in_bump_y
Line bump; determines how many additional lines to advance (after incrementing normally to the next l...
static AVFormatContext * ctx
Copyright (C) 2026 Niklas Haas.
void ff_sws_compiled_op_unref(SwsCompiledOp *comp)
const SwsOpBackend *const ff_sws_op_backends[]
and forward the test the status of outputs and forward it to the corresponding return FFERROR_NOT_READY If the filters stores internally one or a few frame for some input
int32_t * in_offset_x
Pixel offset map; for horizontal scaling, in bytes.
void(* SwsPassFunc)(const SwsFrame *out, const SwsFrame *in, int y, int h, const SwsPass *pass)
Output h lines of filtered data.
Filter graph, which represents a 'baked' pixel format conversion.
Helper struct for representing a list of operations.
Main external API structure.