FFmpeg
Loading...
Searching...
No Matches
vc1dsp_init.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/vc1dsp.h"
#include "vc1dsp.h"
#include "config.h"

Go to the source code of this file.

Macros

#define LOOP_FILTER4(EXT)
 
#define LOOP_FILTER816(EXT)
 
#define MSPEL_FUNC(OP, X, Y, SIZE, XMM)
 
#define MSPEL_FUNCS_SIZE(X, Y, SIZE, XMM)
 
#define MSPEL_FUNCS(X, Y, XMM)
 
#define ASSIGN_LF4(EXT)
 
#define ASSIGN_LF816(EXT)
 

Functions

void ff_vc1_h_loop_filter8_sse4 (uint8_t *src, ptrdiff_t stride, int pq)
 
static void vc1_h_loop_filter16_sse4 (uint8_t *src, ptrdiff_t stride, int pq)
 
void ff_put_vc1_chroma_mc8_nornd_ssse3 (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y)
 
void ff_avg_vc1_chroma_mc8_nornd_ssse3 (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h, int x, int y)
 
void ff_vc1_inv_trans_4x4_dc_sse2 (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_inv_trans_4x8_dc_sse2 (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_inv_trans_8x4_dc_sse2 (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_inv_trans_8x8_dc_sse2 (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
av_cold void ff_vc1dsp_init_x86 (VC1DSPContext *dsp)
 

Macro Definition Documentation

◆ LOOP_FILTER4

#define LOOP_FILTER4 ( EXT)
Value:
void ff_vc1_v_loop_filter4_ ## EXT(uint8_t *src, ptrdiff_t stride, int pq); \
void ff_vc1_h_loop_filter4_ ## EXT(uint8_t *src, ptrdiff_t stride, int pq);
#define stride
#define src
Definition vp8dsp.c:248

Definition at line 34 of file vc1dsp_init.c.

◆ LOOP_FILTER816

#define LOOP_FILTER816 ( EXT)
Value:
void ff_vc1_v_loop_filter8_ ## EXT(uint8_t *src, ptrdiff_t stride, int pq); \
void ff_vc1_h_loop_filter8_ ## EXT(uint8_t *src, ptrdiff_t stride, int pq); \
\
static void vc1_v_loop_filter16_ ## EXT(uint8_t *src, ptrdiff_t stride, int pq) \
{ \
ff_vc1_v_loop_filter8_ ## EXT(src, stride, pq); \
ff_vc1_v_loop_filter8_ ## EXT(src+8, stride, pq); \
} \
\
static void vc1_h_loop_filter16_ ## EXT(uint8_t *src, ptrdiff_t stride, int pq) \
{ \
ff_vc1_h_loop_filter8_ ## EXT(src, stride, pq); \
ff_vc1_h_loop_filter8_ ## EXT(src+8*stride, stride, pq); \
}

Definition at line 37 of file vc1dsp_init.c.

◆ MSPEL_FUNC

#define MSPEL_FUNC ( OP,
X,
Y,
SIZE,
XMM )
Value:
void ff_vc1_ ## OP ## _mspel_mc ## X ## Y ## _ ## SIZE ##_ ## XMM \
(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd); \
dsp->OP ## _vc1_mspel_pixels_tab[SIZE == 8][X + 4 * Y] = \
ff_vc1_ ## OP ## _mspel_mc ## X ## Y## _ ## SIZE ##_ ## XMM
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
#define _
#define SIZE
#define Y
Definition boxblur.h:37
#define rnd
Definition checkasm.h:136
#define X
Definition f_ebur128.c:157
#define OP(gb, pixel, count)

Definition at line 78 of file vc1dsp_init.c.

◆ MSPEL_FUNCS_SIZE

#define MSPEL_FUNCS_SIZE ( X,
Y,
SIZE,
XMM )
Value:
MSPEL_FUNC(put, X, Y, SIZE, XMM); \
MSPEL_FUNC(avg, X, Y, SIZE, XMM)
#define avg(a, b, c, d)
#define MSPEL_FUNC(OP, X, Y, SIZE, XMM)
Definition vc1dsp_init.c:78

Definition at line 83 of file vc1dsp_init.c.

◆ MSPEL_FUNCS

#define MSPEL_FUNCS ( X,
Y,
XMM )
Value:
MSPEL_FUNCS_SIZE(X, Y, 8, XMM); \
MSPEL_FUNCS_SIZE(X, Y, 16, XMM)
#define MSPEL_FUNCS_SIZE(X, Y, SIZE, XMM)
Definition vc1dsp_init.c:83

Definition at line 86 of file vc1dsp_init.c.

Referenced by ff_vc1dsp_init_x86().

◆ ASSIGN_LF4

#define ASSIGN_LF4 ( EXT)
Value:
dsp->vc1_v_loop_filter4 = ff_vc1_v_loop_filter4_ ## EXT; \
dsp->vc1_h_loop_filter4 = ff_vc1_h_loop_filter4_ ## EXT

Referenced by ff_vc1dsp_init_x86().

◆ ASSIGN_LF816

#define ASSIGN_LF816 ( EXT)
Value:
dsp->vc1_v_loop_filter8 = ff_vc1_v_loop_filter8_ ## EXT; \
dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_ ## EXT; \
dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_ ## EXT; \
dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_ ## EXT

Referenced by ff_vc1dsp_init_x86().

Function Documentation

◆ ff_vc1_h_loop_filter8_sse4()

void ff_vc1_h_loop_filter8_sse4 ( uint8_t * src,
ptrdiff_t stride,
int pq )

◆ vc1_h_loop_filter16_sse4()

static void vc1_h_loop_filter16_sse4 ( uint8_t * src,
ptrdiff_t stride,
int pq )
static

Definition at line 59 of file vc1dsp_init.c.

Referenced by ff_vc1dsp_init_x86(), and vc1_h_loop_filter16_sse4().

◆ ff_put_vc1_chroma_mc8_nornd_ssse3()

void ff_put_vc1_chroma_mc8_nornd_ssse3 ( uint8_t * dst,
const uint8_t * src,
ptrdiff_t stride,
int h,
int x,
int y )

Referenced by ff_vc1dsp_init_x86().

◆ ff_avg_vc1_chroma_mc8_nornd_ssse3()

void ff_avg_vc1_chroma_mc8_nornd_ssse3 ( uint8_t * dst,
const uint8_t * src,
ptrdiff_t stride,
int h,
int x,
int y )

Referenced by ff_vc1dsp_init_x86().

◆ ff_vc1_inv_trans_4x4_dc_sse2()

void ff_vc1_inv_trans_4x4_dc_sse2 ( uint8_t * dest,
ptrdiff_t linesize,
int16_t * block )

Referenced by ff_vc1dsp_init_x86().

◆ ff_vc1_inv_trans_4x8_dc_sse2()

void ff_vc1_inv_trans_4x8_dc_sse2 ( uint8_t * dest,
ptrdiff_t linesize,
int16_t * block )

Referenced by ff_vc1dsp_init_x86().

◆ ff_vc1_inv_trans_8x4_dc_sse2()

void ff_vc1_inv_trans_8x4_dc_sse2 ( uint8_t * dest,
ptrdiff_t linesize,
int16_t * block )

Referenced by ff_vc1dsp_init_x86().

◆ ff_vc1_inv_trans_8x8_dc_sse2()

void ff_vc1_inv_trans_8x8_dc_sse2 ( uint8_t * dest,
ptrdiff_t linesize,
int16_t * block )

Referenced by ff_vc1dsp_init_x86().

◆ ff_vc1dsp_init_x86()

av_cold void ff_vc1dsp_init_x86 ( VC1DSPContext * dsp)

Definition at line 90 of file vc1dsp_init.c.

Referenced by ff_vc1dsp_init().