FFmpeg
Macros | Functions
rv40dsp_init_arm.c File Reference
#include <stdint.h>
#include "libavutil/attributes.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/rv34dsp.h"
#include "libavutil/arm/cpu.h"

Go to the source code of this file.

Macros

#define DECL_QPEL3(type, w, pos)
 
#define DECL_QPEL2(w, pos)
 
#define DECL_QPEL_XY(x, y)
 
#define DECL_QPEL_Y(y)
 

Functions

 DECL_QPEL_Y (0)
 
 DECL_QPEL_Y (1)
 
 DECL_QPEL_Y (2)
 
 DECL_QPEL_Y (3)
 
void ff_put_rv40_chroma_mc8_neon (uint8_t *, const uint8_t *, ptrdiff_t, int, int, int)
 
void ff_put_rv40_chroma_mc4_neon (uint8_t *, const uint8_t *, ptrdiff_t, int, int, int)
 
void ff_avg_rv40_chroma_mc8_neon (uint8_t *, const uint8_t *, ptrdiff_t, int, int, int)
 
void ff_avg_rv40_chroma_mc4_neon (uint8_t *, const uint8_t *, ptrdiff_t, int, int, int)
 
void ff_rv40_weight_func_16_neon (uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t)
 
void ff_rv40_weight_func_8_neon (uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t)
 
int ff_rv40_h_loop_filter_strength_neon (uint8_t *src, ptrdiff_t stride, int beta, int beta2, int edge, int *p1, int *q1)
 
int ff_rv40_v_loop_filter_strength_neon (uint8_t *src, ptrdiff_t stride, int beta, int beta2, int edge, int *p1, int *q1)
 
void ff_rv40_h_weak_loop_filter_neon (uint8_t *src, ptrdiff_t stride, int filter_p1, int filter_q1, int alpha, int beta, int lim_p0q0, int lim_q1, int lim_p1)
 
void ff_rv40_v_weak_loop_filter_neon (uint8_t *src, ptrdiff_t stride, int filter_p1, int filter_q1, int alpha, int beta, int lim_p0q0, int lim_q1, int lim_p1)
 
static av_cold void rv40dsp_init_neon (RV34DSPContext *c)
 
av_cold void ff_rv40dsp_init_arm (RV34DSPContext *c)
 

Macro Definition Documentation

◆ DECL_QPEL3

#define DECL_QPEL3 (   type,
  w,
  pos 
)
Value:
void ff_ ## type ## _rv40_qpel ## w ## _mc ## pos ## _neon(uint8_t *dst, \
const uint8_t *src, \
ptrdiff_t stride)

Definition at line 28 of file rv40dsp_init_arm.c.

◆ DECL_QPEL2

#define DECL_QPEL2 (   w,
  pos 
)
Value:
DECL_QPEL3(put, w, pos); \
DECL_QPEL3(avg, w, pos)

Definition at line 33 of file rv40dsp_init_arm.c.

◆ DECL_QPEL_XY

#define DECL_QPEL_XY (   x,
 
)
Value:
DECL_QPEL2(16, x ## y); \
DECL_QPEL2(8, x ## y)

Definition at line 37 of file rv40dsp_init_arm.c.

◆ DECL_QPEL_Y

#define DECL_QPEL_Y (   y)
Value:
DECL_QPEL_XY(0, y); \
DECL_QPEL_XY(1, y); \
DECL_QPEL_XY(2, y); \
DECL_QPEL_XY(3, y); \

Definition at line 41 of file rv40dsp_init_arm.c.

Function Documentation

◆ DECL_QPEL_Y() [1/4]

DECL_QPEL_Y ( )

◆ DECL_QPEL_Y() [2/4]

DECL_QPEL_Y ( )

◆ DECL_QPEL_Y() [3/4]

DECL_QPEL_Y ( )

◆ DECL_QPEL_Y() [4/4]

DECL_QPEL_Y ( )

◆ ff_put_rv40_chroma_mc8_neon()

void ff_put_rv40_chroma_mc8_neon ( uint8_t *  ,
const uint8_t *  ,
ptrdiff_t  ,
int  ,
int  ,
int   
)

Referenced by rv40dsp_init_neon().

◆ ff_put_rv40_chroma_mc4_neon()

void ff_put_rv40_chroma_mc4_neon ( uint8_t *  ,
const uint8_t *  ,
ptrdiff_t  ,
int  ,
int  ,
int   
)

Referenced by rv40dsp_init_neon().

◆ ff_avg_rv40_chroma_mc8_neon()

void ff_avg_rv40_chroma_mc8_neon ( uint8_t *  ,
const uint8_t *  ,
ptrdiff_t  ,
int  ,
int  ,
int   
)

Referenced by rv40dsp_init_neon().

◆ ff_avg_rv40_chroma_mc4_neon()

void ff_avg_rv40_chroma_mc4_neon ( uint8_t *  ,
const uint8_t *  ,
ptrdiff_t  ,
int  ,
int  ,
int   
)

Referenced by rv40dsp_init_neon().

◆ ff_rv40_weight_func_16_neon()

void ff_rv40_weight_func_16_neon ( uint8_t *  ,
uint8_t *  ,
uint8_t *  ,
int  ,
int  ,
ptrdiff_t   
)

Referenced by rv40dsp_init_neon().

◆ ff_rv40_weight_func_8_neon()

void ff_rv40_weight_func_8_neon ( uint8_t *  ,
uint8_t *  ,
uint8_t *  ,
int  ,
int  ,
ptrdiff_t   
)

Referenced by rv40dsp_init_neon().

◆ ff_rv40_h_loop_filter_strength_neon()

int ff_rv40_h_loop_filter_strength_neon ( uint8_t *  src,
ptrdiff_t  stride,
int  beta,
int  beta2,
int  edge,
int *  p1,
int *  q1 
)

Referenced by rv40dsp_init_neon().

◆ ff_rv40_v_loop_filter_strength_neon()

int ff_rv40_v_loop_filter_strength_neon ( uint8_t *  src,
ptrdiff_t  stride,
int  beta,
int  beta2,
int  edge,
int *  p1,
int *  q1 
)

Referenced by rv40dsp_init_neon().

◆ ff_rv40_h_weak_loop_filter_neon()

void ff_rv40_h_weak_loop_filter_neon ( uint8_t *  src,
ptrdiff_t  stride,
int  filter_p1,
int  filter_q1,
int  alpha,
int  beta,
int  lim_p0q0,
int  lim_q1,
int  lim_p1 
)

Referenced by rv40dsp_init_neon().

◆ ff_rv40_v_weak_loop_filter_neon()

void ff_rv40_v_weak_loop_filter_neon ( uint8_t *  src,
ptrdiff_t  stride,
int  filter_p1,
int  filter_q1,
int  alpha,
int  beta,
int  lim_p0q0,
int  lim_q1,
int  lim_p1 
)

Referenced by rv40dsp_init_neon().

◆ rv40dsp_init_neon()

static av_cold void rv40dsp_init_neon ( RV34DSPContext c)
static

Definition at line 75 of file rv40dsp_init_arm.c.

Referenced by ff_rv40dsp_init_arm().

◆ ff_rv40dsp_init_arm()

av_cold void ff_rv40dsp_init_arm ( RV34DSPContext c)

Definition at line 144 of file rv40dsp_init_arm.c.

Referenced by ff_rv40dsp_init().

w
uint8_t w
Definition: llviddspenc.c:38
DECL_QPEL2
#define DECL_QPEL2(w, pos)
Definition: rv40dsp_init_arm.c:33
DECL_QPEL3
#define DECL_QPEL3(type, w, pos)
Definition: rv40dsp_init_arm.c:28
type
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
Definition: writing_filters.txt:86
DECL_QPEL_XY
#define DECL_QPEL_XY(x, y)
Definition: rv40dsp_init_arm.c:37
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
avg
#define avg(a, b, c, d)
Definition: colorspacedsp_template.c:28
stride
#define stride
Definition: h264pred_template.c:537
pos
unsigned int pos
Definition: spdifenc.c:414
src
#define src
Definition: vp8dsp.c:248