Go to the documentation of this file.
51 const int reorder_col[5] = { 1, 2, 3, 4, 0 };
52 return reorder_col[idx];
65 out->block_size = block_size;
72 for (
int i = 0;
i < 4;
i++) {
90 else if (
op->rw.frac == 3)
92 else if (
op->rw.packed &&
op->rw.elems != 1)
104 if (
op->rw.frac == 1)
106 else if (
op->rw.frac == 3)
108 else if (
op->rw.packed &&
op->rw.elems != 1)
139 switch (
op->rw.elems) {
140 case 1:
out->mask = 0x0001;
break;
141 case 2:
out->mask = 0x0011;
break;
142 case 3:
out->mask = 0x0111;
break;
143 case 4:
out->mask = 0x1111;
break;
184 out->shift =
op->c.u;
206 for (
int i = 0;
i < 4;
i++) {
211 for (
int j = 0; j < 5; j++) {
231 out->dither.size_log2 =
op->dither.size_log2;
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
int ff_sws_pixel_type_size(SwsPixelType type)
SwsPixelType
Copyright (C) 2025 Niklas Haas.
@ AARCH64_SWS_OP_READ_NIBBLE
@ AARCH64_SWS_OP_SWAP_BYTES
@ AARCH64_SWS_OP_READ_BIT
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
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.
@ AARCH64_SWS_OP_WRITE_NIBBLE
int flags
Flags modifying the (de)muxer behaviour.
static int op(uint8_t **dst, const uint8_t *dst_end, GetByteContext *gb, int pixel, int count, int *x, int width, int linesize)
Perform decode operation.
static AVFormatContext * ctx
#define LINEAR_MASK_SET(mask, idx, jdx, val)
@ AARCH64_SWS_OP_READ_PACKED
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 t...
@ AARCH64_SWS_OP_WRITE_PLANAR
#define i(width, name, range_min, range_max)
static AVRational av_make_q(int num, int den)
Create an AVRational.
SwsComps comps
Metadata about the operation's input/output components.
@ AARCH64_SWS_OP_WRITE_BIT
@ AARCH64_SWS_OP_READ_PLANAR
static int av_cmp_q(AVRational a, AVRational b)
Compare two rationals.
#define MASK_SET(mask, idx, val)
static int convert_to_aarch64_impl(SwsContext *ctx, const SwsOpList *ops, int n, int block_size, SwsAArch64OpImplParams *out)
Convert SwsOp to a SwsAArch64OpImplParams.
@ AARCH64_SWS_OP_WRITE_PACKED
SwsAArch64OpImplParams describes the parameters for an SwsAArch64OpType operation.
Helper struct for representing a list of operations.
Main external API structure.