|
FFmpeg
|
Go to the source code of this file.
Macros | |
| #define | Q(N) ((AVRational64) { N, 1 }) |
| Copyright (C) 2025 Niklas Haas. More... | |
Functions | |
| static AVRational64 | ff_sws_pixel_expand (SwsPixelType from, SwsPixelType to) |
| static void | ff_sws_pack_op_decode (const SwsOp *op, uint64_t mask[4], int shift[4]) |
| int | ff_sws_op_list_split_at (SwsOpList *ops1, SwsOpList **ops2, int index) |
| Split an op list into two at the given index. More... | |
| int | ff_sws_op_list_split_planes (SwsOpList *ops1, SwsOpList **ops2, SwsCompMask planes) |
| Reduce an op list into a reduced subset that operates only on a given subset of planes. More... | |
| #define Q | ( | N | ) | ((AVRational64) { N, 1 }) |
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 29 of file ops_internal.h.
|
inlinestatic |
Definition at line 31 of file ops_internal.h.
Referenced by ff_sws_apply_op_q(), and ff_sws_op_list_optimize().
|
inlinestatic |
Definition at line 43 of file ops_internal.h.
Referenced by ff_sws_apply_op_q().
Split an op list into two at the given index.
The split will be mediated by a set of planar read/write operations, plus a swizzle (if necessary) to re-order only used components. If a split is performed, both output lists will be optimized before returning.
| ops1 | The first part of the split op list. Will be modified in-place. |
| ops2 | The second part of the split op list will be returned here, or NULL if no split was necessary. |
| index | The index of the operation to split before. The operation itself will be absent from ops1 and instead moved to the start of ops2. |
Returnse 0 or a negative error code.
Not all components may be needed; but we need the ones that are used to be contiguous for the write/read operations. So, first compress them into a linearly ascending list of components
Definition at line 1101 of file ops_optimizer.c.
Referenced by compile_subpass().
| int ff_sws_op_list_split_planes | ( | SwsOpList * | ops1, |
| SwsOpList ** | ops2, | ||
| SwsCompMask | planes | ||
| ) |
Reduce an op list into a reduced subset that operates only on a given subset of planes.
No effect if the output is not planar, or if the plane mask is empty or equal to all planes.
| ops1 | Updated in-place to contain only the selected planes. |
| ops2 | The removed remainder is returned here, or NULL if no-op. |
| planes | A mask of the plane indices to keep. |
Returns 0 or a negative error code.
Definition at line 824 of file ops_optimizer.c.
Referenced by compile_subpass().
1.8.17