|
FFmpeg
|
#include <float.h>#include "libavutil/avassert.h"#include "libavutil/mem.h"#include "libavutil/x86/cpu.h"#include "../ops_chain.h"#include "../uops.h"#include "../uops_macros.h"Go to the source code of this file.
Macros | |
| #define | REF_ENTRY(EXT, NAME, ...) &op_##NAME##EXT, |
| #define | DECL_ENTRY(EXT, CHECK, SETUP, NAME, ...) |
| #define | DECL_OPS_COMMON(EXT, TYPE) |
| #define | REF_OPS_COMMON(EXT, TYPE) |
| #define | DECL_TABLE_U8(EXT, SIZE, FLAG) |
| #define | DECL_TABLE_U16(EXT, SIZE, FLAG) |
| #define | DECL_TABLE_U32(EXT, SIZE, FLAG) |
| #define | DECL_TABLE_F32(EXT, SIZE, FLAG) |
| #define | ASSIGN_SHUFFLE_FUNC(IN, OUT, EXT) |
Functions | |
| static int | setup_rw_packed (const SwsImplParams *params, SwsImplResult *out) |
| Copyright (C) 2025-2026 Niklas Haas. More... | |
| static int | setup_filter_v (const SwsImplParams *params, SwsImplResult *out) |
| static int | hscale_sizeof_weight (const SwsUOp *uop) |
| static int | setup_filter_h (const SwsImplParams *params, SwsImplResult *out) |
| static bool | check_filter_h_4x4 (const SwsImplParams *params) |
| static int | setup_filter_h_4x4 (const SwsImplParams *params, SwsImplResult *out) |
| static int | setup_scale (const SwsImplParams *params, SwsImplResult *out) |
| static int | setup_clear (const SwsImplParams *params, SwsImplResult *out) |
| static int | setup_dither (const SwsImplParams *params, SwsImplResult *out) |
| static int | setup_linear (const SwsImplParams *params, SwsImplResult *out) |
| static bool | uop_is_type_invariant (const SwsUOpType uop) |
| SWS_DECL_FUNC (ff_sws_process1_x86) | |
| SWS_DECL_FUNC (ff_sws_process2_x86) | |
| SWS_DECL_FUNC (ff_sws_process3_x86) | |
| SWS_DECL_FUNC (ff_sws_process4_x86) | |
| static int | movsize (const int bytes, const int mmsize) |
| static int | solve_shuffle (const SwsOpList *ops, int mmsize, SwsCompiledOp *out) |
| static uint32_t | expand32 (const SwsPixelType type, const SwsPixel value) |
| static void | normalize_clear (SwsUOp *uop) |
| static int | compile (SwsContext *ctx, const SwsOpList *ops, SwsCompiledOp *out) |
Variables | |
| static const SwsOpTable *const | tables [] |
| const SwsOpBackend | backend_x86 |
| #define DECL_OPS_COMMON | ( | EXT, | |
| TYPE | |||
| ) |
| #define REF_OPS_COMMON | ( | EXT, | |
| TYPE | |||
| ) |
|
static |
Copyright (C) 2025-2026 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
|
static |
|
static |
Definition at line 66 of file ops.c.
Referenced by setup_filter_h(), and setup_filter_h_4x4().
|
static |
|
static |
Otherwise, prefer it above a certain filter size. Empirically, this kernel seems to be faster whenever the reference/gather kernel crosses a breakpoint for the number of gathers needed, but this filter doesn't.
Tested on a Lunar Lake (Intel Core Ultra 7 258V) system.
|
static |
Desired memory layout: [w][taps][pixels_align][taps_align]
Example with taps_align=8, pixels_align=4: [a0, a1, ... a7] weights for pixel 0, taps 0..7 [b0, b1, ... b7] weights for pixel 1, taps 0..7 [c0, c1, ... c7] weights for pixel 2, taps 0..7 [d0, d1, ... d7] weights for pixel 3, taps 0..7 [a8, a9, ... a15] weights for pixel 0, taps 8..15 ... repeat for all taps, then move on to pixels 4..7, etc.
|
static |
|
static |
|
static |
|
static |
|
static |
| SWS_DECL_FUNC | ( | ff_sws_process1_x86 | ) |
| SWS_DECL_FUNC | ( | ff_sws_process2_x86 | ) |
| SWS_DECL_FUNC | ( | ff_sws_process3_x86 | ) |
| SWS_DECL_FUNC | ( | ff_sws_process4_x86 | ) |
|
static |
Definition at line 485 of file ops.c.
Referenced by solve_shuffle().
|
static |
|
static |
Definition at line 557 of file ops.c.
Referenced by normalize_clear().
|
static |
|
static |
|
static |
| const SwsOpBackend backend_x86 |
1.8.17