FFmpeg
Functions
ops_impl_conv.c File Reference
#include "libavutil/error.h"
#include "libavutil/rational.h"
#include "libswscale/ops.h"
#include "ops_impl.h"

Go to the source code of this file.

Functions

static uint8_t sws_pixel_to_aarch64 (SwsPixelType type)
 NOTE: This file is #include'd directly by both the NEON backend and the sws_ops_aarch64 tool. More...
 
static int linear_index_from_sws_op (int idx)
 The column index order for SwsLinearOp.mask follows the affine transform order, where the offset is the last element. More...
 
static int convert_to_aarch64_impl (SwsContext *ctx, const SwsOpList *ops, int n, int block_size, SwsAArch64OpImplParams *out)
 Convert SwsOp to a SwsAArch64OpImplParams. More...
 

Function Documentation

◆ sws_pixel_to_aarch64()

static uint8_t sws_pixel_to_aarch64 ( SwsPixelType  type)
static

NOTE: This file is #include'd directly by both the NEON backend and the sws_ops_aarch64 tool.

Definition at line 32 of file ops_impl_conv.c.

Referenced by convert_to_aarch64_impl().

◆ linear_index_from_sws_op()

static int linear_index_from_sws_op ( int  idx)
static

The column index order for SwsLinearOp.mask follows the affine transform order, where the offset is the last element.

SwsAArch64LinearOpMask, on the other hand, follows execution order, where the offset is the first element.

Definition at line 49 of file ops_impl_conv.c.

Referenced by convert_to_aarch64_impl().

◆ convert_to_aarch64_impl()

static int convert_to_aarch64_impl ( SwsContext ctx,
const SwsOpList ops,
int  n,
int  block_size,
SwsAArch64OpImplParams out 
)
static

Convert SwsOp to a SwsAArch64OpImplParams.

Read the comments regarding SwsAArch64OpImplParams in ops_impl.h for more information.

Most SwsOp work on fields described by next->comps.unused. The few that don't will override this field later.

The different types of read operations have been split into their own SwsAArch64OpType to simplify the implementation.

The different types of write operations have been split into their own SwsAArch64OpType to simplify the implementation.

The out->linear.mask field packs the 4x5 matrix from SwsLinearOp as 2 bits per element: 00: m[i][j] == 0 01: m[i][j] == 1 11: m[i][j] is any other coefficient

Definition at line 59 of file ops_impl_conv.c.

Referenced by aarch64_compile(), and register_op().