|
FFmpeg
|
Go to the source code of this file.
Data Structures | |
| union | SwsPixel |
| struct | SwsFilterUOp |
| struct | SwsShiftUOp |
| struct | SwsSwizzleUOp |
| struct | SwsMoveUOp |
| struct | SwsPackUOp |
| struct | SwsClearUOp |
| struct | SwsLinearUOp |
| struct | SwsDitherUOp |
| union | SwsUOpParams |
| struct | SwsUOp |
| struct | SwsUOpList |
Macros | |
| #define | SWS_COMP(X) (1 << (X)) |
| #define | SWS_COMP_TEST(mask, X) (!!((mask) & SWS_COMP(X))) |
| #define | SWS_COMP_INV(mask) ((mask) ^ SWS_COMP_ALL) |
| #define | SWS_COMP_ELEMS(N) ((1 << (N)) - 1) |
| #define | SWS_COMP_MASK(X, Y, Z, W) |
| #define | SWS_UOP_MOVE_MAX 6 |
| #define | SWS_UOP_NAME_MAX 64 |
| Generate a unique name for a SwsUOp. More... | |
Typedefs | |
| typedef uint8_t | SwsCompMask |
| Bit-mask of components. More... | |
| typedef uint32_t | SwsUOpFlags |
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 |
| int | ff_sws_dither_height (const SwsDitherUOp *dither) |
| Computes (1 << size_log2) + MAX(y_offset). More... | |
| int | ff_sws_uop_cmp (const SwsUOp *a, const SwsUOp *b) |
| Compare two SwsUOps for equality (excluding constant data). More... | |
| static int | ff_sws_uop_cmp_v (const void *a, const void *b) |
| void | ff_sws_uop_name (const SwsUOp *op, char buf[SWS_UOP_NAME_MAX]) |
| SwsUOpList * | ff_sws_uop_list_alloc (void) |
| void | ff_sws_uop_list_free (SwsUOpList **ops) |
| int | ff_sws_uop_list_append (SwsUOpList *uops, SwsUOp *uop) |
| int | ff_sws_ops_translate (SwsContext *ctx, const SwsOpList *ops, SwsUOpFlags flags, SwsUOpList *uops) |
| Translate a list of operations down to micro-ops, which can be further optimized and then directly executed by backends. More... | |
| int | ff_sws_uops_macros_gen (char **out_str) |
| Generate a set of boilerplate C preprocessor macros for describing and programmatically iterating over all possible SwsUOps. More... | |
| #define SWS_COMP_INV | ( | mask | ) | ((mask) ^ SWS_COMP_ALL) |
| #define SWS_UOP_NAME_MAX 64 |
| typedef uint8_t SwsCompMask |
| typedef uint32_t SwsUOpFlags |
| enum SwsPixelType |
| enum SwsUOpFlagBits |
| enum SwsUOpType |
| const char* ff_sws_pixel_type_name | ( | SwsPixelType | type | ) |
Definition at line 62 of file ops.c.
Referenced by ff_sws_op_desc(), ff_sws_op_list_print(), and ff_sws_uop_name().
| int ff_sws_pixel_type_size | ( | SwsPixelType | type | ) | const |
Definition at line 77 of file ops.c.
Referenced by check_cast(), check_clear(), check_filter_fma(), check_scale(), compile(), convert_to_aarch64_impl(), ff_sws_apply_op_q(), ff_sws_op_list_max_size(), ff_sws_pixel_expand(), ff_sws_solve_shuffle(), get_planar_fmt(), pixel_is_1s(), pixel_type_to_int(), rndq(), rw_pixel_bits(), setup_filter_h(), and setup_filter_h_4x4().
| bool ff_sws_pixel_type_is_int | ( | SwsPixelType | type | ) | const |
Definition at line 92 of file ops.c.
Referenced by check_cast(), check_dither(), check_filter_fma(), check_linear(), check_scale(), exact_prod(), ff_sws_apply_op_q(), ff_sws_op_list_optimize(), ff_sws_op_list_update_comps(), ff_sws_uops_macros_gen(), and rndq().
| int ff_sws_dither_height | ( | const SwsDitherUOp * | dither | ) |
Computes (1 << size_log2) + MAX(y_offset).
The dither matrix attached to the SwsUOp is always pre-padded to this number of lines.
Definition at line 400 of file uops.c.
Referenced by DECL_SETUP(), and translate_dither_op().
Compare two SwsUOps for equality (excluding constant data).
Compare two SwsUOps for equality (excluding constant data).
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 32 of file uops.c.
Referenced by ff_sws_uop_cmp_v(), and ff_sws_uop_lookup().
|
inlinestatic |
Definition at line 224 of file uops.h.
Referenced by register_uop().
| void ff_sws_uop_name | ( | const SwsUOp * | op, |
| char | buf[SWS_UOP_NAME_MAX] | ||
| ) |
Definition at line 129 of file uops.c.
Referenced by compile(), ff_sws_uop_lookup(), generate_entry_args(), generate_entry_struct(), and print_ops().
| SwsUOpList* ff_sws_uop_list_alloc | ( | void | ) |
Definition at line 382 of file uops.c.
Referenced by compile(), print_ops(), and register_flags().
| void ff_sws_uop_list_free | ( | SwsUOpList ** | ops | ) |
Definition at line 368 of file uops.c.
Referenced by compile(), print_ops(), and register_flags().
| int ff_sws_uop_list_append | ( | SwsUOpList * | uops, |
| SwsUOp * | uop | ||
| ) |
Definition at line 387 of file uops.c.
Referenced by translate_dither_op(), translate_linear_op(), translate_move(), translate_op(), translate_rw_op(), and translate_swizzle().
| int ff_sws_ops_translate | ( | SwsContext * | ctx, |
| const SwsOpList * | ops, | ||
| SwsUOpFlags | flags, | ||
| SwsUOpList * | uops | ||
| ) |
Translate a list of operations down to micro-ops, which can be further optimized and then directly executed by backends.
Return 0 or a negative error code.
Definition at line 850 of file uops.c.
Referenced by compile(), print_ops(), and register_flags().
| int ff_sws_uops_macros_gen | ( | char ** | out_str | ) |
Generate a set of boilerplate C preprocessor macros for describing and programmatically iterating over all possible SwsUOps.
This function can be quite slow as it iterates over every possible combination of pixel formats and flags.
Returns 0 or a negative error code. On success, an allocated string is returned via out_str, and must be av_free()'d by the caller.
Additionally make sure planar reads/writes are always available for all formats, because checkasm depends on them to be able to verify the input/output of any other operations.
Definition at line 964 of file uops.c.
Referenced by main().
1.8.17