FFmpeg
Macros | Functions | Variables
uops_backend.c File Reference
#include "libavutil/avassert.h"
#include "uops_tmpl.h"
#include "uops_tmpl.c"

Go to the source code of this file.

Macros

#define IS_FLOAT   0
 Copyright (C) 2026 Niklas Haas. More...
 
#define BIT_DEPTH   8
 
#define BIT_DEPTH   16
 
#define BIT_DEPTH   32
 
#define IS_FLOAT   1
 Copyright (C) 2026 Niklas Haas. More...
 
#define BIT_DEPTH   32
 
#define REF_ALL_UOPS(TYPE)
 

Functions

static void process (const SwsOpExec *exec, const void *priv, const int bx_start, const int y_start, int bx_end, int y_end)
 
static int compile (SwsContext *ctx, const SwsOpList *ops, SwsCompiledOp *out)
 

Variables

static const SwsOpTable op_table
 
const SwsOpBackend backend_c
 Copyright (C) 2025 Niklas Haas. More...
 

Macro Definition Documentation

◆ IS_FLOAT [1/2]

#define IS_FLOAT   0

Copyright (C) 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 We want to disable FP contraction because this is a reference backend that establishes a bit-exact reference result.

Definition at line 55 of file uops_backend.c.

◆ BIT_DEPTH [1/4]

#define BIT_DEPTH   8

Definition at line 56 of file uops_backend.c.

◆ BIT_DEPTH [2/4]

#define BIT_DEPTH   16

Definition at line 56 of file uops_backend.c.

◆ BIT_DEPTH [3/4]

#define BIT_DEPTH   32

Definition at line 56 of file uops_backend.c.

◆ IS_FLOAT [2/2]

#define IS_FLOAT   1

Copyright (C) 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 We want to disable FP contraction because this is a reference backend that establishes a bit-exact reference result.

Definition at line 55 of file uops_backend.c.

◆ BIT_DEPTH [4/4]

#define BIT_DEPTH   32

Definition at line 56 of file uops_backend.c.

◆ REF_ALL_UOPS

#define REF_ALL_UOPS (   TYPE)

Definition at line 62 of file uops_backend.c.

Function Documentation

◆ process()

static void process ( const SwsOpExec exec,
const void *  priv,
const int  bx_start,
const int  y_start,
int  bx_end,
int  y_end 
)
static

Definition at line 107 of file uops_backend.c.

Referenced by compile().

◆ compile()

static int compile ( SwsContext ctx,
const SwsOpList ops,
SwsCompiledOp out 
)
static

Definition at line 137 of file uops_backend.c.

Variable Documentation

◆ op_table

const SwsOpTable op_table
static
Initial value:
= {
.block_size = SWS_BLOCK_SIZE,
.entries = {
},
}

Definition at line 96 of file uops_backend.c.

Referenced by compile().

◆ backend_c

const SwsOpBackend backend_c
Initial value:
= {
.name = "c",
.flags = SWS_BACKEND_C,
.compile = compile,
.hw_format = AV_PIX_FMT_NONE,
}

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 192 of file uops_backend.c.

NULL
#define NULL
Definition: coverity.c:32
compile
static int compile(SwsContext *ctx, const SwsOpList *ops, SwsCompiledOp *out)
Definition: uops_backend.c:137
SWS_BLOCK_SIZE
#define SWS_BLOCK_SIZE
Copyright (C) 2026 Niklas Haas.
Definition: uops_tmpl.h:40
SWS_BACKEND_C
@ SWS_BACKEND_C
Template-based C reference implementation.
Definition: swscale.h:116
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:72