FFmpeg
|
Go to the source code of this file.
Data Structures | |
union | SwsConst |
struct | SwsComps |
struct | SwsReadWriteOp |
struct | SwsPackOp |
struct | SwsSwizzleOp |
struct | SwsConvertOp |
struct | SwsDitherOp |
struct | SwsLinearOp |
struct | SwsOp |
struct | SwsOpList |
Helper struct for representing a list of operations. More... | |
Macros | |
#define | SWS_SWIZZLE(X, Y, Z, W) ((SwsSwizzleOp) { .in = {X, Y, Z, W} }) |
#define | SWS_MASK(I, J) (1 << (5 * (I) + (J))) |
#define | SWS_MASK_OFF(I) SWS_MASK(I, 4) |
#define | SWS_MASK_ROW(I) (0x1F << (5 * (I))) |
#define | SWS_MASK_COL(J) (0x8421 << J) |
Functions | |
const char * | ff_sws_pixel_type_name (SwsPixelType type) |
int | ff_sws_pixel_type_size (SwsPixelType type) av_const |
bool | ff_sws_pixel_type_is_int (SwsPixelType type) av_const |
SwsPixelType | ff_sws_pixel_type_to_uint (SwsPixelType type) av_const |
uint32_t | ff_sws_linear_mask (SwsLinearOp) |
void | ff_sws_op_uninit (SwsOp *op) |
Frees any allocations associated with an SwsOp and sets it to {0}. More... | |
void | ff_sws_apply_op_q (const SwsOp *op, AVRational x[4]) |
Apply an operation to an AVRational. More... | |
SwsOpList * | ff_sws_op_list_alloc (void) |
void | ff_sws_op_list_free (SwsOpList **ops) |
SwsOpList * | ff_sws_op_list_duplicate (const SwsOpList *ops) |
Returns a duplicate of ops , or NULL on OOM. More... | |
int | ff_sws_op_list_max_size (const SwsOpList *ops) |
Returns the size of the largest pixel type used in ops . More... | |
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. More... | |
int | ff_sws_op_list_insert_at (SwsOpList *ops, int index, SwsOp *op) |
void | ff_sws_op_list_remove_at (SwsOpList *ops, int index, int count) |
void | ff_sws_op_list_print (void *log_ctx, int log_level, const SwsOpList *ops) |
Print out the contents of an operation list. More... | |
void | ff_sws_op_list_update_comps (SwsOpList *ops) |
Infer + propagate known information about components. More... | |
int | ff_sws_op_list_optimize (SwsOpList *ops) |
Fuse compatible and eliminate redundant operations, as well as replacing some operations with more efficient alternatives. More... | |
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. More... | |
enum SwsPixelType |
Copyright (C) 2025 Niklas Haas.
This file is part of FFmpeg.
FFmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
FFmpeg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with FFmpeg; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Enumerator | |
---|---|
SWS_PIXEL_NONE | |
SWS_PIXEL_U8 | |
SWS_PIXEL_U16 | |
SWS_PIXEL_U32 | |
SWS_PIXEL_F32 | |
SWS_PIXEL_TYPE_NB |
enum SwsOpType |
enum SwsCompFlags |
anonymous enum |
enum SwsOpCompileFlags |
const char* ff_sws_pixel_type_name | ( | SwsPixelType | type | ) |
Definition at line 49 of file ops.c.
Referenced by check_clear(), check_convert(), check_dither(), check_linear(), check_min_max(), check_read_write(), check_scale(), check_shift(), check_swizzle(), and ff_sws_op_list_print().
int ff_sws_pixel_type_size | ( | SwsPixelType | type | ) | const |
Definition at line 64 of file ops.c.
Referenced by check_clear(), check_convert(), check_scale(), compile(), ff_sws_apply_op_q(), ff_sws_op_list_max_size(), ff_sws_op_list_update_comps(), ff_sws_pack_op_decode(), ff_sws_pixel_expand(), ff_sws_pixel_type_to_uint(), ff_sws_solve_shuffle(), normalize_clear(), op_match(), rndq(), rw_pixel_bits(), and setup_swap_bytes().
bool ff_sws_pixel_type_is_int | ( | SwsPixelType | type | ) | const |
Definition at line 79 of file ops.c.
Referenced by check_clear(), check_convert(), check_dither(), check_linear(), check_scale(), check_shift(), ff_sws_apply_op_q(), ff_sws_op_list_optimize(), ff_sws_op_list_update_comps(), and rndq().
SwsPixelType ff_sws_pixel_type_to_uint | ( | SwsPixelType | type | ) | const |
uint32_t ff_sws_linear_mask | ( | SwsLinearOp | ) |
Definition at line 328 of file ops.c.
Referenced by extract_swizzle(), and ff_sws_op_list_optimize().
void ff_sws_op_uninit | ( | SwsOp * | op | ) |
Frees any allocations associated with an SwsOp and sets it to {0}.
void ff_sws_apply_op_q | ( | const SwsOp * | op, |
AVRational | x[4] | ||
) |
Apply an operation to an AVRational.
No-op for read/write operations.
Definition at line 122 of file ops.c.
Referenced by ff_sws_op_list_optimize(), and ff_sws_op_list_update_comps().
int ff_sws_op_list_max_size | ( | const SwsOpList * | ops | ) |
Definition at line 298 of file ops.c.
Referenced by ff_sws_op_list_append(), and ff_sws_op_list_optimize().
void ff_sws_op_list_remove_at | ( | SwsOpList * | ops, |
int | index, | ||
int | count | ||
) |
Definition at line 288 of file ops.c.
Referenced by ff_sws_op_list_optimize().
void ff_sws_op_list_print | ( | void * | log_ctx, |
int | log_level, | ||
const SwsOpList * | ops | ||
) |
void ff_sws_op_list_update_comps | ( | SwsOpList * | ops | ) |
Infer + propagate known information about components.
Called automatically when needed by the optimizer and compiler.
Definition at line 75 of file ops_optimizer.c.
Referenced by ff_sws_op_list_optimize().
int ff_sws_op_list_optimize | ( | SwsOpList * | ops | ) |
Fuse compatible and eliminate redundant operations, as well as replacing some operations with more efficient alternatives.
Definition at line 412 of file ops_optimizer.c.
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.
The first and last operations must be a read/write respectively. flags
is a list of SwsOpCompileFlags.
Note: ops
may be modified by this function.