|
FFmpeg
|
#include "libavutil/avassert.h"#include "libavutil/cpu.h"#include "libavutil/mathematics.h"#include "libavutil/mem.h"#include "libavutil/mem_internal.h"#include "libavutil/refstruct.h"#include "ops.h"#include "ops_internal.h"#include "ops_dispatch.h"#include "swscale_internal.h"Go to the source code of this file.
Data Structures | |
| struct | SwsOpPass |
| struct | CompileArgs |
Macros | |
| #define | RET(x) |
| Copyright (C) 2025 Niklas Haas. More... | |
Functions | |
| static int | compile_backend (SwsContext *ctx, const SwsOpBackend *backend, const SwsOpList *ops, SwsCompiledOp *out) |
| int | ff_sws_ops_compile (SwsContext *ctx, const SwsOpBackend *backend, const SwsOpList *ops, SwsCompiledOp *out) |
Attempt to compile a list of operations using a specific backend, or the best available backend if backend is NULL. More... | |
| void | ff_sws_compiled_op_unref (SwsCompiledOp *comp) |
| static void | op_pass_free (void *ptr) |
| static void | get_row_data (const SwsOpPass *p, const int y_dst, const uint8_t *in[4], uint8_t *out[4]) |
| static int | get_lines_in (const SwsOpPass *p, const int y, const int h, const int plane) |
| static size_t | pixel_bytes (size_t pixels, int pixel_bits, enum AVRounding rounding) |
| static size_t | safe_bytes_pad (int linesize, int plane_pad) |
| static size_t | safe_blocks_offset (size_t num_blocks, unsigned block_size, ptrdiff_t safe_offset, const int32_t *offset_bytes) |
| static int | op_pass_setup (const SwsFrame *out, const SwsFrame *in, const SwsPass *pass) |
| static void | copy_lines (uint8_t *dst, const size_t dst_stride, const uint8_t *src, const size_t src_stride, const int h, const size_t bytes) |
| static void | op_pass_run (const SwsFrame *out, const SwsFrame *in, const int y, const int h, const SwsPass *pass) |
| static int | rw_data_planes (const SwsOp *op) |
| static int | rw_pixel_bits (const SwsOp *op) |
| static void | align_pass (SwsPass *pass, int block_size, const int *over_rw, int pixel_bits) |
| static int | compile_single (const CompileArgs *args, const SwsOpList *ops, SwsPass *link, SwsPass *input, SwsPass **output) |
| static SwsCompMask | plane_mask_flags (const SwsOp *op, SwsCompFlags flags) |
| static int | compile_subpass (const CompileArgs *args, SwsOpList **pops, SwsPass *link, SwsPass *input, SwsPass **output) |
| int | ff_sws_compile_pass (SwsGraph *graph, const SwsOpBackend *backend, SwsOpList **pops, int flags, SwsPass *input, SwsPass **output) |
| Resolves an operation list to a graph pass. More... | |
| #define RET | ( | x | ) |
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 33 of file ops_dispatch.c.
|
static |
Definition at line 65 of file ops_dispatch.c.
Referenced by ff_sws_ops_compile().
| int ff_sws_ops_compile | ( | SwsContext * | ctx, |
| const SwsOpBackend * | backend, | ||
| const SwsOpList * | ops, | ||
| SwsCompiledOp * | out | ||
| ) |
Attempt to compile a list of operations using a specific backend, or the best available backend if backend is NULL.
Returns 0 on success, or a negative error code on failure.
Definition at line 106 of file ops_dispatch.c.
Referenced by check_ops(), and compile_single().
| void ff_sws_compiled_op_unref | ( | SwsCompiledOp * | comp | ) |
Definition at line 128 of file ops_dispatch.c.
Referenced by check_ops(), and op_pass_free().
|
static |
Definition at line 136 of file ops_dispatch.c.
Referenced by compile_single().
|
inlinestatic |
Definition at line 150 of file ops_dispatch.c.
Referenced by op_pass_run().
|
inlinestatic |
Definition at line 161 of file ops_dispatch.c.
Referenced by op_pass_run().
|
inlinestatic |
Definition at line 173 of file ops_dispatch.c.
Referenced by op_pass_setup().
|
static |
Definition at line 190 of file ops_dispatch.c.
Referenced by op_pass_setup().
|
static |
Definition at line 197 of file ops_dispatch.c.
Referenced by op_pass_setup().
Definition at line 207 of file ops_dispatch.c.
Referenced by compile_single().
|
static |
Definition at line 367 of file ops_dispatch.c.
Referenced by op_pass_run().
|
static |
To ensure safety, we need to consider the following:
Definition at line 378 of file ops_dispatch.c.
Referenced by compile_single().
|
static |
Definition at line 478 of file ops_dispatch.c.
Referenced by compile_single().
|
static |
Definition at line 485 of file ops_dispatch.c.
Referenced by compile_single().
|
static |
Definition at line 502 of file ops_dispatch.c.
Referenced by compile_single().
|
static |
Definition at line 527 of file ops_dispatch.c.
Referenced by compile_subpass().
|
static |
Definition at line 677 of file ops_dispatch.c.
Referenced by compile_subpass().
|
static |
Definition at line 689 of file ops_dispatch.c.
Referenced by ff_sws_compile_pass().
| int ff_sws_compile_pass | ( | SwsGraph * | graph, |
| const SwsOpBackend * | backend, | ||
| SwsOpList ** | ops, | ||
| int | flags, | ||
| SwsPass * | input, | ||
| SwsPass ** | output | ||
| ) |
Resolves an operation list to a graph pass.
The last op must be a write.
| backend | Force the use of a specific backend (Optional) |
| ops | Operations to compile. Ownership passes to this function, and will be set to NULL, even on failure. |
| flags | Set of SwsOpCompileFlags |
| input | The input for the compiled passes. (Optional) |
| output | The resulting final output pass will be stored here. Optional if using SWS_OP_FLAG_DRY_RUN. |
Definition at line 751 of file ops_dispatch.c.
Referenced by add_ops_convert_pass(), print_passes(), and register_all_uops().
1.8.17