Go to the documentation of this file.
85 "First field of SwsConst should span the entire union");
122 struct { uint8_t
x,
y,
z,
w; };
126 #define SWS_SWIZZLE(X,Y,Z,W) ((SwsSwizzleOp) { .in = {X, Y, Z, W} })
155 #define SWS_MASK(I, J) (1 << (5 * (I) + (J)))
156 #define SWS_MASK_OFF(I) SWS_MASK(I, 4)
157 #define SWS_MASK_ROW(I) (0x1F << (5 * (I)))
158 #define SWS_MASK_COL(J) (0x8421 << J)
Represents a single filter pass in the scaling graph.
AVRational m[4][5]
Generalized 5x5 affine transformation: [ Out.x ] = [ A B C D E ] [ Out.y ] = [ F G H I J ] * [ x y z ...
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
int ff_sws_op_list_max_size(const SwsOpList *ops)
Returns the size of the largest pixel type used in ops.
int ff_sws_pixel_type_size(SwsPixelType type) av_const
SwsPixelType
Copyright (C) 2025 Niklas Haas.
void ff_sws_op_uninit(SwsOp *op)
Frees any allocations associated with an SwsOp and sets it to {0}.
SwsOpList * ff_sws_op_list_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 type
int ff_sws_op_list_append(SwsOpList *ops, SwsOp *op)
These will take over ownership of op and set it to {0}, even on failure.
int ff_sws_op_list_insert_at(SwsOpList *ops, int index, SwsOp *op)
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.
SwsOpList * ff_sws_op_list_duplicate(const SwsOpList *ops)
Returns a duplicate of ops, or NULL on OOM.
Rational number (pair of numerator and denominator).
bool ff_sws_pixel_type_is_int(SwsPixelType type) av_const
void ff_sws_op_list_free(SwsOpList **ops)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
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
void ff_sws_op_list_update_comps(SwsOpList *ops)
Infer + propagate known information about components.
int ff_sws_op_list_optimize(SwsOpList *ops)
Fuse compatible and eliminate redundant operations, as well as replacing some operations with more ef...
void ff_sws_apply_op_q(const SwsOp *op, AVRational x[4])
Apply an operation to an AVRational.
SwsPixelType ff_sws_pixel_type_to_uint(SwsPixelType type) av_const
int ff_sws_compile_pass(SwsGraph *graph, SwsOpList *ops, int flags, SwsFormat dst, SwsPass *input, SwsPass **output)
Resolves an operation list to a graph pass.
void ff_sws_op_list_print(void *log_ctx, int log_level, const SwsOpList *ops)
Print out the contents of an operation list.
const char * ff_sws_pixel_type_name(SwsPixelType type)
Filter graph, which represents a 'baked' pixel format conversion.
void ff_sws_op_list_remove_at(SwsOpList *ops, int index, int count)
Helper struct for representing a list of operations.
uint32_t ff_sws_linear_mask(SwsLinearOp)