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

Go to the source code of this file.

Macros

#define UNI_W_MC_HV(PEL, WIDTH, TAP)
 

Functions

static av_always_inline void hevc_hv_8t_8x2_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val, int32_t width)
 
static void hevc_hv_8t_8w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_8t_16w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_8t_24w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_8t_32w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_8t_48w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_8t_64w_lsx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
 UNI_W_MC_HV (qpel, 8, 8)
 
 UNI_W_MC_HV (qpel, 16, 8)
 
 UNI_W_MC_HV (qpel, 24, 8)
 
 UNI_W_MC_HV (qpel, 32, 8)
 
 UNI_W_MC_HV (qpel, 48, 8)
 
 UNI_W_MC_HV (qpel, 64, 8)
 

Variables

static const uint8_t ff_hevc_mask_arr [16 *2]
 

Macro Definition Documentation

◆ UNI_W_MC_HV

#define UNI_W_MC_HV ( PEL,
WIDTH,
TAP )
Value:
void ff_hevc_put_hevc_uni_w_##PEL##_hv##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
const uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
int denom, \
int weight, \
int offset, \
intptr_t mx, \
intptr_t my, \
int width) \
{ \
const int8_t *filter_x = ff_hevc_##PEL##_filters[mx]; \
const int8_t *filter_y = ff_hevc_##PEL##_filters[my]; \
int shift = denom + 14 - 8; \
\
hevc_hv_##TAP##t_##WIDTH##w_lsx(src, src_stride, dst, dst_stride, filter_x,\
filter_y, height, weight, offset, shift); \
}
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
unsigned offset
Definition libaomenc.c:763
static int shift(int a, int b)
Definition bonk.c:261
#define WIDTH
Definition c93.c:45
const h264_weight_func weight
#define src
Definition vp8dsp.c:248
#define height
Definition dsp.h:89
#define width
Definition dsp.h:89

Definition at line 270 of file hevc_mc_uniw_lsx.c.

Function Documentation

◆ hevc_hv_8t_8x2_lsx()

static av_always_inline void hevc_hv_8t_8x2_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t weight,
int32_t offset,
int32_t rnd_val,
int32_t width )
static

◆ hevc_hv_8t_8w_lsx()

static void hevc_hv_8t_8w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t weight,
int32_t offset,
int32_t rnd_val )
static

Definition at line 210 of file hevc_mc_uniw_lsx.c.

◆ hevc_hv_8t_16w_lsx()

static void hevc_hv_8t_16w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t weight,
int32_t offset,
int32_t rnd_val )
static

Definition at line 220 of file hevc_mc_uniw_lsx.c.

◆ hevc_hv_8t_24w_lsx()

static void hevc_hv_8t_24w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t weight,
int32_t offset,
int32_t rnd_val )
static

Definition at line 230 of file hevc_mc_uniw_lsx.c.

◆ hevc_hv_8t_32w_lsx()

static void hevc_hv_8t_32w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t weight,
int32_t offset,
int32_t rnd_val )
static

Definition at line 240 of file hevc_mc_uniw_lsx.c.

◆ hevc_hv_8t_48w_lsx()

static void hevc_hv_8t_48w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t weight,
int32_t offset,
int32_t rnd_val )
static

Definition at line 250 of file hevc_mc_uniw_lsx.c.

◆ hevc_hv_8t_64w_lsx()

static void hevc_hv_8t_64w_lsx ( const uint8_t * src,
int32_t src_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t weight,
int32_t offset,
int32_t rnd_val )
static

Definition at line 260 of file hevc_mc_uniw_lsx.c.

◆ UNI_W_MC_HV() [1/6]

UNI_W_MC_HV ( qpel ,
8 ,
8  )

◆ UNI_W_MC_HV() [2/6]

UNI_W_MC_HV ( qpel ,
16 ,
8  )

◆ UNI_W_MC_HV() [3/6]

UNI_W_MC_HV ( qpel ,
24 ,
8  )

◆ UNI_W_MC_HV() [4/6]

UNI_W_MC_HV ( qpel ,
32 ,
8  )

◆ UNI_W_MC_HV() [5/6]

UNI_W_MC_HV ( qpel ,
48 ,
8  )

◆ UNI_W_MC_HV() [6/6]

UNI_W_MC_HV ( qpel ,
64 ,
8  )

Variable Documentation

◆ ff_hevc_mask_arr

const uint8_t ff_hevc_mask_arr[16 *2]
static
Initial value:
= {
0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8,
0, 1, 1, 2, 2, 3, 3, 4, 16, 17, 17, 18, 18, 19, 19, 20
}

Definition at line 26 of file hevc_mc_uniw_lsx.c.