FFmpeg
Loading...
Searching...
No Matches
qpeldsp_init.c File Reference
#include <stddef.h>
#include <stdint.h>
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/attributes_internal.h"
#include "libavutil/cpu.h"
#include "libavutil/mem_internal.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/qpeldsp.h"
#include "fpel.h"
#include "qpel.h"

Go to the source code of this file.

Macros

#define QPEL_H(OPNAME, RND, SIZE, UNUSED1, XMM, UNUSED2, UNUSED3, L2)
 
#define QPEL_V(OPNAME, RND, SIZE, UNUSED1, UNUSED2, XMM, UNUSED3, L2)
 
#define QPEL_HV(OPNAME, RND, SIZE, SIZEP1, HXMM, VXMM, HVXMM, L2)
 
#define QPEL3(MACRO, SIZE, SIZEP1, HXMM, VXMM, HVXMM, L2)
 
#define SET_QPEL_FUNC(OP, X, Y, SIZE, CPU, PREFIX)
 
#define SET_QPEL_FUNCS3(X, Y, SIZE, CPU, PREFIX)
 
#define SET_H_QPEL_FUNCS(SIZE, CPU, PREFIX)
 
#define SET_V_QPEL_FUNCS(SIZE, CPU, PREFIX)
 
#define SET_HV_QPEL_FUNCS(SIZE, CPU, PREFIX)
 

Functions

FF_VISIBILITY_PUSH_HIDDEN void ff_put_no_rnd_pixels8x8_l2_mmxext (uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
 
void ff_put_no_rnd_pixels16x16_l2_sse2 (uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
 
av_cold void ff_qpeldsp_init_x86 (QpelDSPContext *c)
 

Macro Definition Documentation

◆ QPEL_H

#define QPEL_H ( OPNAME,
RND,
SIZE,
UNUSED1,
XMM,
UNUSED2,
UNUSED3,
L2 )

Definition at line 44 of file qpeldsp_init.c.

◆ QPEL_V

#define QPEL_V ( OPNAME,
RND,
SIZE,
UNUSED1,
UNUSED2,
XMM,
UNUSED3,
L2 )

Definition at line 80 of file qpeldsp_init.c.

◆ QPEL_HV

#define QPEL_HV ( OPNAME,
RND,
SIZE,
SIZEP1,
HXMM,
VXMM,
HVXMM,
L2 )

Definition at line 115 of file qpeldsp_init.c.

◆ QPEL3

#define QPEL3 ( MACRO,
SIZE,
SIZEP1,
HXMM,
VXMM,
HVXMM,
L2 )
Value:
MACRO(put,, SIZE, SIZEP1, HXMM, VXMM, HVXMM, L2) \
MACRO(avg,, SIZE, SIZEP1, HXMM, VXMM, HVXMM, L2) \
MACRO(put_no_rnd, no_rnd_, SIZE, SIZEP1, HXMM, VXMM, HVXMM, L2)
#define SIZE
#define avg(a, b, c, d)

Definition at line 239 of file qpeldsp_init.c.

◆ SET_QPEL_FUNC

#define SET_QPEL_FUNC ( OP,
X,
Y,
SIZE,
CPU,
PREFIX )
Value:
c->OP ## _qpel_pixels_tab[SIZE == 8][X+4*Y] = PREFIX ## OP ## _qpel ## SIZE ## _mc ## X ## Y ## _ ## CPU
#define _
#define Y
Definition boxblur.h:37
#define X
Definition f_ebur128.c:157
#define OP(gb, pixel, count)
static double c[64]

Definition at line 251 of file qpeldsp_init.c.

◆ SET_QPEL_FUNCS3

#define SET_QPEL_FUNCS3 ( X,
Y,
SIZE,
CPU,
PREFIX )
Value:
SET_QPEL_FUNC(avg, X, Y, SIZE, CPU, PREFIX); \
SET_QPEL_FUNC(put, X, Y, SIZE, CPU, PREFIX); \
SET_QPEL_FUNC(put_no_rnd, X, Y, SIZE, CPU, PREFIX)
#define SET_QPEL_FUNC(OP, X, Y, SIZE, CPU, PREFIX)

Definition at line 254 of file qpeldsp_init.c.

◆ SET_H_QPEL_FUNCS

#define SET_H_QPEL_FUNCS ( SIZE,
CPU,
PREFIX )
Value:
SET_QPEL_FUNCS3(1, 0, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(2, 0, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(3, 0, SIZE, CPU, PREFIX)
#define SET_QPEL_FUNCS3(X, Y, SIZE, CPU, PREFIX)

Definition at line 259 of file qpeldsp_init.c.

Referenced by ff_qpeldsp_init_x86().

◆ SET_V_QPEL_FUNCS

#define SET_V_QPEL_FUNCS ( SIZE,
CPU,
PREFIX )
Value:
SET_QPEL_FUNCS3(0, 1, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(0, 2, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(0, 3, SIZE, CPU, PREFIX)

Definition at line 264 of file qpeldsp_init.c.

Referenced by ff_qpeldsp_init_x86().

◆ SET_HV_QPEL_FUNCS

#define SET_HV_QPEL_FUNCS ( SIZE,
CPU,
PREFIX )
Value:
SET_QPEL_FUNCS3(1, 1, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(1, 2, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(1, 3, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(2, 1, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(2, 2, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(2, 3, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(3, 1, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(3, 2, SIZE, CPU, PREFIX); \
SET_QPEL_FUNCS3(3, 3, SIZE, CPU, PREFIX)

Definition at line 269 of file qpeldsp_init.c.

Referenced by ff_qpeldsp_init_x86().

Function Documentation

◆ ff_put_no_rnd_pixels8x8_l2_mmxext()

FF_VISIBILITY_PUSH_HIDDEN void ff_put_no_rnd_pixels8x8_l2_mmxext ( uint8_t * dst,
const uint8_t * src1,
const uint8_t * src2,
ptrdiff_t dstStride,
ptrdiff_t src1Stride )

◆ ff_put_no_rnd_pixels16x16_l2_sse2()

void ff_put_no_rnd_pixels16x16_l2_sse2 ( uint8_t * dst,
const uint8_t * src1,
const uint8_t * src2,
ptrdiff_t dstStride,
ptrdiff_t src1Stride )

◆ ff_qpeldsp_init_x86()

av_cold void ff_qpeldsp_init_x86 ( QpelDSPContext * c)

Definition at line 280 of file qpeldsp_init.c.

Referenced by ff_qpeldsp_init().