|
FFmpeg
|
Go to the source code of this file.
Data Structures | |
| union | SwsOpPriv |
| Private data for each kernel. More... | |
| struct | SwsOpImpl |
| struct | SwsOpChain |
| Compiled "chain" of operations, which can be dispatched efficiently. More... | |
| struct | SwsImplParams |
| struct | SwsImplResult |
| struct | SwsOpEntry |
| struct | SwsOpTable |
| Copyright (C) 2025 Niklas Haas. More... | |
Macros | |
| #define | SWS_MAX_OPS 16 |
Typedefs | |
| typedef void(* | SwsFuncPtr) (void) |
| Per-kernel execution context. More... | |
Functions | |
| SwsOpChain * | ff_sws_op_chain_alloc (void) |
| void | ff_sws_op_chain_free_cb (void *chain) |
| static void | ff_sws_op_chain_free (SwsOpChain *chain) |
| int | ff_sws_op_chain_append (SwsOpChain *chain, SwsFuncPtr func, void(*free)(SwsOpPriv *), const SwsOpPriv *priv) |
| int | ff_sws_setup_shift (const SwsImplParams *params, SwsImplResult *out) |
| int | ff_sws_setup_scale (const SwsImplParams *params, SwsImplResult *out) |
| int | ff_sws_setup_clamp (const SwsImplParams *params, SwsImplResult *out) |
| int | ff_sws_setup_clear (const SwsImplParams *params, SwsImplResult *out) |
| static void | ff_op_priv_free (SwsOpPriv *priv) |
| static void | ff_op_priv_unref (SwsOpPriv *priv) |
| int | ff_sws_op_compile_tables (SwsContext *ctx, const SwsOpTable *const tables[], int num_tables, SwsOpList *ops, int ops_index, const int block_size, SwsOpChain *chain) |
| "Compile" a single op by looking it up in a list of fixed size op tables. More... | |
| #define SWS_MAX_OPS 16 |
Definition at line 85 of file ops_chain.h.
| typedef void(* SwsFuncPtr) (void) |
Per-kernel execution context.
Note: This struct is hard-coded in assembly, so do not change the layout.
Definition at line 70 of file ops_chain.h.
| SwsOpChain* ff_sws_op_chain_alloc | ( | void | ) |
Definition at line 29 of file ops_chain.c.
Referenced by aarch64_compile(), and compile().
| void ff_sws_op_chain_free_cb | ( | void * | chain | ) |
Definition at line 34 of file ops_chain.c.
Referenced by aarch64_compile(), compile(), and ff_sws_op_chain_free().
|
inlinestatic |
Definition at line 96 of file ops_chain.h.
Referenced by aarch64_compile(), and compile().
| int ff_sws_op_chain_append | ( | SwsOpChain * | chain, |
| SwsFuncPtr | func, | ||
| void(*)(SwsOpPriv *) | free, | ||
| const SwsOpPriv * | priv | ||
| ) |
Definition at line 48 of file ops_chain.c.
Referenced by aarch64_compile(), and ff_sws_op_compile_tables().
| int ff_sws_setup_shift | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Definition at line 268 of file ops_chain.c.
| int ff_sws_setup_scale | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Definition at line 274 of file ops_chain.c.
Referenced by aarch64_setup().
| int ff_sws_setup_clamp | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Definition at line 289 of file ops_chain.c.
Referenced by aarch64_setup().
| int ff_sws_setup_clear | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Definition at line 306 of file ops_chain.c.
Referenced by aarch64_setup(), and normalize_clear().
|
inlinestatic |
Definition at line 149 of file ops_chain.h.
Referenced by aarch64_setup_dither(), aarch64_setup_linear(), DECL_SETUP(), ff_setup_memdup(), setup_dither(), setup_filter_4x4_h(), setup_filter_h(), setup_filter_v(), and setup_linear().
|
inlinestatic |
Definition at line 154 of file ops_chain.h.
Referenced by DECL_SETUP().
| int ff_sws_op_compile_tables | ( | SwsContext * | ctx, |
| const SwsOpTable *const | tables[], | ||
| int | num_tables, | ||
| SwsOpList * | ops, | ||
| int | ops_index, | ||
| const int | block_size, | ||
| SwsOpChain * | chain | ||
| ) |
"Compile" a single op by looking it up in a list of fixed size op tables.
See op_match in ops_chain.c for details on how the matching works.
Returns 0 or a negative error code.
Definition at line 205 of file ops_chain.c.
Referenced by compile().
1.8.17