FFmpeg
Loading...
Searching...
No Matches
vp8dsp_init.c File Reference

Go to the source code of this file.

Macros

#define TAP_W16(OPT, FILTERTYPE, TAPTYPE)
 
#define HVTAP(OPT, ALIGN, TAPNUMX, TAPNUMY, SIZE, MAXHEIGHT)
 
#define HVTAPSSE2(x, y, w)
 
#define HVBILIN(OPT, ALIGN, SIZE, MAXHEIGHT)
 
#define DECLARE_LOOP_FILTER(NAME)
 
#define VP8_LUMA_MC_FUNC(IDX, SIZE, OPT)
 
#define VP8_MC_FUNC(IDX, SIZE, OPT)
 
#define VP8_BILINEAR_MC_FUNC(IDX, SIZE, OPT)
 

Functions

void ff_put_vp8_epel8_h4_sse2 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel8_h6_sse2 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel8_v4_sse2 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel8_v6_sse2 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel4_h4_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel4_h6_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel4_v4_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel4_v6_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel8_h4_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel8_h6_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel8_v4_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_epel8_v6_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_bilinear8_h_sse2 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_bilinear4_h_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_bilinear8_h_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_bilinear8_v_sse2 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_bilinear4_v_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_bilinear8_v_ssse3 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_pixels8_sse2 (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_put_vp8_pixels16_sse (uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, ptrdiff_t srcstride, int height, int mx, int my)
 
void ff_vp8_idct_dc_add_sse2 (uint8_t *dst, int16_t block[16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add_sse4 (uint8_t *dst, int16_t block[16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add4y_sse2 (uint8_t *dst, int16_t block[4][16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add4uv_sse2 (uint8_t *dst, int16_t block[4][16], ptrdiff_t stride)
 
void ff_vp8_luma_dc_wht_sse2 (int16_t block[4][4][16], int16_t dc[16])
 
void ff_vp8_idct_add_sse (uint8_t *dst, int16_t block[16], ptrdiff_t stride)
 
av_cold void ff_vp78dsp_init_x86 (VP8DSPContext *c)
 
av_cold void ff_vp8dsp_init_x86 (VP8DSPContext *c)
 

Macro Definition Documentation

◆ TAP_W16

#define TAP_W16 ( OPT,
FILTERTYPE,
TAPTYPE )
Value:
static void ff_put_vp8_ ## FILTERTYPE ## 16_ ## TAPTYPE ## _ ## OPT( \
uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
ptrdiff_t srcstride, int height, int mx, int my) \
{ \
ff_put_vp8_ ## FILTERTYPE ## 8_ ## TAPTYPE ## _ ## OPT( \
dst, dststride, src, srcstride, height, mx, my); \
ff_put_vp8_ ## FILTERTYPE ## 8_ ## TAPTYPE ## _ ## OPT( \
dst + 8, dststride, src + 8, srcstride, height, mx, my); \
}
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t const uint8_t ptrdiff_t srcstride
Definition dsp.h:88
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
Definition dsp.h:57
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
Definition dsp.h:57
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
#define _
#define src
Definition vp8dsp.c:248
#define height
Definition dsp.h:89
#define OPT(name, field, help)
Definition vf_drawvg.c:2651

Definition at line 98 of file vp8dsp_init.c.

◆ HVTAP

#define HVTAP ( OPT,
ALIGN,
TAPNUMX,
TAPNUMY,
SIZE,
MAXHEIGHT )
Value:
static void ff_put_vp8_epel ## SIZE ## _h ## TAPNUMX ## v ## TAPNUMY ## _ ## OPT( \
uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
ptrdiff_t srcstride, int height, int mx, int my) \
{ \
LOCAL_ALIGNED(ALIGN, uint8_t, tmp, [SIZE * (MAXHEIGHT + TAPNUMY - 1)]); \
uint8_t *tmpptr = tmp + SIZE * (TAPNUMY / 2 - 1); \
src -= srcstride * (TAPNUMY / 2 - 1); \
ff_put_vp8_epel ## SIZE ## _h ## TAPNUMX ## _ ## OPT( \
tmp, SIZE, src, srcstride, height + TAPNUMY - 1, mx, my); \
ff_put_vp8_epel ## SIZE ## _v ## TAPNUMY ## _ ## OPT( \
dst, dststride, tmpptr, SIZE, height, mx, my); \
}
#define SIZE
#define ALIGN
Definition hashtable.c:32
static uint8_t tmp[40]
Definition aes_ctr.c:52

Definition at line 119 of file vp8dsp_init.c.

◆ HVTAPSSE2

#define HVTAPSSE2 ( x,
y,
w )
Value:
HVTAP(sse2, 16, x, y, w, 16) \
HVTAP(ssse3, 16, x, y, w, 16)
uint8_t w
Definition llvidencdsp.c:39
#define HVTAP(OPT, ALIGN, TAPNUMX, TAPNUMY, SIZE, MAXHEIGHT)

Definition at line 133 of file vp8dsp_init.c.

◆ HVBILIN

#define HVBILIN ( OPT,
ALIGN,
SIZE,
MAXHEIGHT )
Value:
static void ff_put_vp8_bilinear ## SIZE ## _hv_ ## OPT( \
uint8_t *dst, ptrdiff_t dststride, const uint8_t *src, \
ptrdiff_t srcstride, int height, int mx, int my) \
{ \
LOCAL_ALIGNED(ALIGN, uint8_t, tmp, [SIZE * (MAXHEIGHT + 2)]); \
ff_put_vp8_bilinear ## SIZE ## _h_ ## OPT( \
tmp, SIZE, src, srcstride, height + 1, mx, my); \
ff_put_vp8_bilinear ## SIZE ## _v_ ## OPT( \
dst, dststride, tmp, SIZE, height, mx, my); \
}

Definition at line 148 of file vp8dsp_init.c.

◆ DECLARE_LOOP_FILTER

#define DECLARE_LOOP_FILTER ( NAME)

Definition at line 177 of file vp8dsp_init.c.

◆ VP8_LUMA_MC_FUNC

#define VP8_LUMA_MC_FUNC ( IDX,
SIZE,
OPT )
Value:
c->put_vp8_epel_pixels_tab[IDX][0][2] = ff_put_vp8_epel ## SIZE ## _h6_ ## OPT; \
c->put_vp8_epel_pixels_tab[IDX][2][0] = ff_put_vp8_epel ## SIZE ## _v6_ ## OPT; \
c->put_vp8_epel_pixels_tab[IDX][2][2] = ff_put_vp8_epel ## SIZE ## _h6v6_ ## OPT
static double c[64]

Definition at line 217 of file vp8dsp_init.c.

Referenced by ff_vp78dsp_init_x86().

◆ VP8_MC_FUNC

#define VP8_MC_FUNC ( IDX,
SIZE,
OPT )
Value:
c->put_vp8_epel_pixels_tab[IDX][0][1] = ff_put_vp8_epel ## SIZE ## _h4_ ## OPT; \
c->put_vp8_epel_pixels_tab[IDX][1][0] = ff_put_vp8_epel ## SIZE ## _v4_ ## OPT; \
c->put_vp8_epel_pixels_tab[IDX][1][1] = ff_put_vp8_epel ## SIZE ## _h4v4_ ## OPT; \
c->put_vp8_epel_pixels_tab[IDX][1][2] = ff_put_vp8_epel ## SIZE ## _h6v4_ ## OPT; \
c->put_vp8_epel_pixels_tab[IDX][2][1] = ff_put_vp8_epel ## SIZE ## _h4v6_ ## OPT; \
VP8_LUMA_MC_FUNC(IDX, SIZE, OPT)

Definition at line 222 of file vp8dsp_init.c.

Referenced by ff_vp78dsp_init_x86().

◆ VP8_BILINEAR_MC_FUNC

#define VP8_BILINEAR_MC_FUNC ( IDX,
SIZE,
OPT )
Value:
c->put_vp8_bilinear_pixels_tab[IDX][0][1] = ff_put_vp8_bilinear ## SIZE ## _h_ ## OPT; \
c->put_vp8_bilinear_pixels_tab[IDX][0][2] = ff_put_vp8_bilinear ## SIZE ## _h_ ## OPT; \
c->put_vp8_bilinear_pixels_tab[IDX][1][0] = ff_put_vp8_bilinear ## SIZE ## _v_ ## OPT; \
c->put_vp8_bilinear_pixels_tab[IDX][1][1] = ff_put_vp8_bilinear ## SIZE ## _hv_ ## OPT; \
c->put_vp8_bilinear_pixels_tab[IDX][1][2] = ff_put_vp8_bilinear ## SIZE ## _hv_ ## OPT; \
c->put_vp8_bilinear_pixels_tab[IDX][2][0] = ff_put_vp8_bilinear ## SIZE ## _v_ ## OPT; \
c->put_vp8_bilinear_pixels_tab[IDX][2][1] = ff_put_vp8_bilinear ## SIZE ## _hv_ ## OPT; \
c->put_vp8_bilinear_pixels_tab[IDX][2][2] = ff_put_vp8_bilinear ## SIZE ## _hv_ ## OPT

Definition at line 230 of file vp8dsp_init.c.

Referenced by ff_vp78dsp_init_x86().

Function Documentation

◆ ff_put_vp8_epel8_h4_sse2()

void ff_put_vp8_epel8_h4_sse2 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel8_h6_sse2()

void ff_put_vp8_epel8_h6_sse2 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel8_v4_sse2()

void ff_put_vp8_epel8_v4_sse2 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel8_v6_sse2()

void ff_put_vp8_epel8_v6_sse2 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel4_h4_ssse3()

void ff_put_vp8_epel4_h4_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel4_h6_ssse3()

void ff_put_vp8_epel4_h6_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel4_v4_ssse3()

void ff_put_vp8_epel4_v4_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel4_v6_ssse3()

void ff_put_vp8_epel4_v6_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel8_h4_ssse3()

void ff_put_vp8_epel8_h4_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel8_h6_ssse3()

void ff_put_vp8_epel8_h6_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel8_v4_ssse3()

void ff_put_vp8_epel8_v4_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_epel8_v6_ssse3()

void ff_put_vp8_epel8_v6_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_bilinear8_h_sse2()

void ff_put_vp8_bilinear8_h_sse2 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_bilinear4_h_ssse3()

void ff_put_vp8_bilinear4_h_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_bilinear8_h_ssse3()

void ff_put_vp8_bilinear8_h_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_bilinear8_v_sse2()

void ff_put_vp8_bilinear8_v_sse2 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_bilinear4_v_ssse3()

void ff_put_vp8_bilinear4_v_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_bilinear8_v_ssse3()

void ff_put_vp8_bilinear8_v_ssse3 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

◆ ff_put_vp8_pixels8_sse2()

void ff_put_vp8_pixels8_sse2 ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

Referenced by ff_vp78dsp_init_x86().

◆ ff_put_vp8_pixels16_sse()

void ff_put_vp8_pixels16_sse ( uint8_t * dst,
ptrdiff_t dststride,
const uint8_t * src,
ptrdiff_t srcstride,
int height,
int mx,
int my )

Referenced by ff_vp78dsp_init_x86().

◆ ff_vp8_idct_dc_add_sse2()

void ff_vp8_idct_dc_add_sse2 ( uint8_t * dst,
int16_t block[16],
ptrdiff_t stride )

◆ ff_vp8_idct_dc_add_sse4()

void ff_vp8_idct_dc_add_sse4 ( uint8_t * dst,
int16_t block[16],
ptrdiff_t stride )

◆ ff_vp8_idct_dc_add4y_sse2()

void ff_vp8_idct_dc_add4y_sse2 ( uint8_t * dst,
int16_t block[4][16],
ptrdiff_t stride )

◆ ff_vp8_idct_dc_add4uv_sse2()

void ff_vp8_idct_dc_add4uv_sse2 ( uint8_t * dst,
int16_t block[4][16],
ptrdiff_t stride )

◆ ff_vp8_luma_dc_wht_sse2()

void ff_vp8_luma_dc_wht_sse2 ( int16_t block[4][4][16],
int16_t dc[16] )

◆ ff_vp8_idct_add_sse()

void ff_vp8_idct_add_sse ( uint8_t * dst,
int16_t block[16],
ptrdiff_t stride )

◆ ff_vp78dsp_init_x86()

av_cold void ff_vp78dsp_init_x86 ( VP8DSPContext * c)

Definition at line 241 of file vp8dsp_init.c.

Referenced by ff_vp78dsp_init().

◆ ff_vp8dsp_init_x86()

av_cold void ff_vp8dsp_init_x86 ( VP8DSPContext * c)

Definition at line 271 of file vp8dsp_init.c.