|
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. 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 | ) |
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 27 of file ops_chain.c.
Referenced by aarch64_compile(), compile_uops_c(), and compile_uops_x86().
| void ff_sws_op_chain_free_cb | ( | void * | chain | ) |
Definition at line 32 of file ops_chain.c.
Referenced by aarch64_compile(), 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(), compile_uops_c(), and compile_uops_x86().
| int ff_sws_op_chain_append | ( | SwsOpChain * | chain, |
| SwsFuncPtr | func, | ||
| void(*)(SwsOpPriv *) | free, | ||
| const SwsOpPriv * | priv | ||
| ) |
Definition at line 46 of file ops_chain.c.
Referenced by aarch64_compile(), and ff_sws_uop_lookup().
| int ff_sws_setup_scale | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Referenced by aarch64_setup().
| int ff_sws_setup_clamp | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Referenced by aarch64_setup().
| int ff_sws_setup_clear | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Referenced by aarch64_setup().
| int ff_sws_setup_scalar | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Definition at line 185 of file ops_chain.c.
| int ff_sws_setup_vec4 | ( | const SwsImplParams * | params, |
| SwsImplResult * | out | ||
| ) |
Definition at line 200 of file ops_chain.c.
|
inlinestatic |
Definition at line 144 of file ops_chain.h.
Referenced by aarch64_setup_dither(), aarch64_setup_linear(), DECL_SETUP(), setup_filter_h(), setup_filter_h_4x4(), setup_filter_v(), and setup_linear().
|
inlinestatic |
Definition at line 149 of file ops_chain.h.
Referenced by 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 116 of file ops_chain.c.
Referenced by compile_uops_c(), and compile_uops_x86().
1.8.17