|
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 | SwsUOpEntry |
| struct | SwsUOpTable |
| Copyright (C) 2025 Niklas Haas. More... | |
Macros | |
| #define | SWS_MAX_OPS 16 |
Typedefs | |
| typedef void(* | SwsFuncPtr) (void) |
| Per-kernel execution context. | |
Functions | |
| SwsOpChain * | ff_sws_op_chain_alloc (void) |
| Copyright (C) 2025 Niklas Haas. | |
| 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_scalar (const SwsImplParams *params, SwsImplResult *out) |
| int | ff_sws_setup_vec4 (const SwsImplParams *params, SwsImplResult *out) |
| static void | ff_op_priv_free (SwsOpPriv *priv) |
| static void | ff_op_priv_unref (SwsOpPriv *priv) |
| int | ff_sws_uop_lookup (SwsContext *ctx, const SwsUOpTable *const tables[], int num_tables, const SwsUOp *uop, const int block_size, SwsOpChain *chain) |
| "Compile" a single uop by looking it up in a list of fixed size uop tables, in decreasing order of preference. | |
| #define SWS_MAX_OPS 16 |
Definition at line 85 of file ops_chain.h.
Referenced by ff_sws_op_chain_append().
| 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 | ) |
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
Definition at line 26 of file ops_chain.c.
Referenced by aarch64_compile_uops(), compile_uops_c(), and compile_uops_x86().
| void ff_sws_op_chain_free_cb | ( | void * | chain | ) |
Definition at line 31 of file ops_chain.c.
Referenced by aarch64_compile_uops(), compile_uops_c(), compile_uops_x86(), and ff_sws_op_chain_free().
|
inlinestatic |
Definition at line 96 of file ops_chain.h.
Referenced by aarch64_compile_uops(), compile_uops_c(), and compile_uops_x86().
| int ff_sws_op_chain_append | ( | SwsOpChain * | chain, |
| SwsFuncPtr | func, | ||
| void(* | free )(SwsOpPriv *), | ||
| const SwsOpPriv * | priv ) |
Definition at line 45 of file ops_chain.c.
Referenced by aarch64_compile_uops(), and ff_sws_uop_lookup().
| int ff_sws_setup_scalar | ( | const SwsImplParams * | params, |
| SwsImplResult * | out ) |
Definition at line 129 of file ops_chain.c.
Referenced by aarch64_setup().
| int ff_sws_setup_vec4 | ( | const SwsImplParams * | params, |
| SwsImplResult * | out ) |
Definition at line 144 of file ops_chain.c.
Referenced by aarch64_setup().
|
inlinestatic |
Definition at line 136 of file ops_chain.h.
Referenced by aarch64_setup_linear(), DECL_SETUP(), DECL_SETUP(), DECL_SETUP(), DECL_SETUP(), setup_filter_h(), setup_filter_h_4x4(), setup_filter_v(), and setup_linear().
|
inlinestatic |
Definition at line 141 of file ops_chain.h.
Referenced by aarch64_setup_dither(), DECL_SETUP(), DECL_SETUP(), DECL_SETUP(), and setup_dither().
| int ff_sws_uop_lookup | ( | SwsContext * | ctx, |
| const SwsUOpTable *const | tables[], | ||
| int | num_tables, | ||
| const SwsUOp * | uop, | ||
| const int | block_size, | ||
| SwsOpChain * | chain ) |
"Compile" a single uop by looking it up in a list of fixed size uop tables, in decreasing order of preference.
Returns 0 or a negative error code.
Definition at line 60 of file ops_chain.c.
Referenced by compile_uops_c(), and compile_uops_x86().