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

Go to the source code of this file.

Macros

#define BI_MC_COPY(WIDTH)
 
#define BI_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR)
 
#define BI_MC_HV(PEL, WIDTH, TAP)
 

Functions

static av_always_inline __m128i hevc_bi_rnd_clip (__m128i in0, __m128i vec0, __m128i in1, __m128i vec1)
 
static void hevc_bi_copy_4w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_6w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_8w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_12w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_16w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_24w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_32w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_48w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_bi_copy_64w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, int32_t height)
 
static void hevc_hz_8t_16w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_hz_8t_24w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_hz_8t_32w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_hz_8t_48w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_hz_8t_64w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static av_always_inline void hevc_vt_8t_8w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static av_always_inline void hevc_vt_8t_16multx2mult_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t width)
 
static void hevc_vt_8t_16w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_8t_24w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_8t_32w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_8t_48w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_8t_64w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static av_always_inline void hevc_hv_8t_8multx1mult_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t width)
 
static void hevc_hv_8t_8w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_8t_16w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_8t_24w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_8t_32w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_8t_48w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_8t_64w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hz_4t_24w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_hz_4t_32w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_4t_12w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_4t_16w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_4t_24w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static void hevc_vt_4t_32w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height)
 
static av_always_inline void hevc_hv_4t_8x2_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y)
 
static av_always_inline void hevc_hv_4t_8multx4_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t width8mult)
 
static av_always_inline void hevc_hv_4t_8x6_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y)
 
static av_always_inline void hevc_hv_4t_8multx4mult_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height, int32_t width)
 
static void hevc_hv_4t_8w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_4t_16w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_4t_24w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
static void hevc_hv_4t_32w_lsx (const uint8_t *src0_ptr, int32_t src_stride, const int16_t *src1_ptr, int32_t src2_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter_x, const int8_t *filter_y, int32_t height)
 
 BI_MC_COPY (4)
 
 BI_MC_COPY (6)
 
 BI_MC_COPY (8)
 
 BI_MC_COPY (12)
 
 BI_MC_COPY (16)
 
 BI_MC_COPY (24)
 
 BI_MC_COPY (32)
 
 BI_MC_COPY (48)
 
 BI_MC_COPY (64)
 
 BI_MC (qpel, h, 16, 8, hz, mx)
 
 BI_MC (qpel, h, 24, 8, hz, mx)
 
 BI_MC (qpel, h, 32, 8, hz, mx)
 
 BI_MC (qpel, h, 48, 8, hz, mx)
 
 BI_MC (qpel, h, 64, 8, hz, mx)
 
 BI_MC (qpel, v, 8, 8, vt, my)
 
 BI_MC (qpel, v, 16, 8, vt, my)
 
 BI_MC (qpel, v, 24, 8, vt, my)
 
 BI_MC (qpel, v, 32, 8, vt, my)
 
 BI_MC (qpel, v, 48, 8, vt, my)
 
 BI_MC (qpel, v, 64, 8, vt, my)
 
 BI_MC (epel, h, 24, 4, hz, mx)
 
 BI_MC (epel, h, 32, 4, hz, mx)
 
 BI_MC (epel, v, 12, 4, vt, my)
 
 BI_MC (epel, v, 16, 4, vt, my)
 
 BI_MC (epel, v, 24, 4, vt, my)
 
 BI_MC (epel, v, 32, 4, vt, my)
 
 BI_MC_HV (qpel, 8, 8)
 
 BI_MC_HV (qpel, 16, 8)
 
 BI_MC_HV (qpel, 24, 8)
 
 BI_MC_HV (qpel, 32, 8)
 
 BI_MC_HV (qpel, 48, 8)
 
 BI_MC_HV (qpel, 64, 8)
 
 BI_MC_HV (epel, 8, 4)
 
 BI_MC_HV (epel, 16, 4)
 
 BI_MC_HV (epel, 24, 4)
 
 BI_MC_HV (epel, 32, 4)
 

Variables

static const uint8_t ff_hevc_mask_arr [16 *2]
 

Macro Definition Documentation

◆ BI_MC_COPY

#define BI_MC_COPY ( WIDTH)
Value:
void ff_hevc_put_hevc_bi_pel_pixels##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
const uint8_t *src, \
ptrdiff_t src_stride, \
const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
int width) \
{ \
hevc_bi_copy_##WIDTH##w_lsx(src, src_stride, src_16bit, MAX_PB_SIZE, \
dst, dst_stride, height); \
}
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 MAX_PB_SIZE
Definition dsp.h:32
#define WIDTH
Definition c93.c:45
#define src
Definition vp8dsp.c:248
#define height
Definition dsp.h:89
#define width
Definition dsp.h:89

Definition at line 2085 of file hevc_mc_bi_lsx.c.

◆ BI_MC

#define BI_MC ( PEL,
DIR,
WIDTH,
TAP,
DIR1,
FILT_DIR )
Value:
void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
const uint8_t *src, \
ptrdiff_t src_stride, \
const int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
int width) \
{ \
const int8_t *filter = ff_hevc_##PEL##_filters[FILT_DIR]; \
\
hevc_##DIR1##_##TAP##t_##WIDTH##w_lsx(src, src_stride, src_16bit, \
MAX_PB_SIZE, dst, dst_stride, \
}
#define _
void(* filter)(uint8_t *src, ptrdiff_t stride, int qscale)
Definition h263dsp.c:29

Definition at line 2112 of file hevc_mc_bi_lsx.c.

◆ BI_MC_HV

#define BI_MC_HV ( PEL,
WIDTH,
TAP )
Value:
void ff_hevc_put_hevc_bi_##PEL##_hv##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
const uint8_t *src, \
ptrdiff_t src_stride, \
const int16_t *src_16bit, \
int height, \
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]; \
\
hevc_hv_##TAP##t_##WIDTH##w_lsx(src, src_stride, src_16bit, \
MAX_PB_SIZE, dst, dst_stride, \
filter_x, filter_y, height); \
}

Definition at line 2153 of file hevc_mc_bi_lsx.c.

Function Documentation

◆ hevc_bi_rnd_clip()

◆ hevc_bi_copy_4w_lsx()

static void hevc_bi_copy_4w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 45 of file hevc_mc_bi_lsx.c.

◆ hevc_bi_copy_6w_lsx()

static void hevc_bi_copy_6w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 130 of file hevc_mc_bi_lsx.c.

◆ hevc_bi_copy_8w_lsx()

static void hevc_bi_copy_8w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 226 of file hevc_mc_bi_lsx.c.

Referenced by hevc_bi_copy_24w_lsx().

◆ hevc_bi_copy_12w_lsx()

static void hevc_bi_copy_12w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 311 of file hevc_mc_bi_lsx.c.

◆ hevc_bi_copy_16w_lsx()

static void hevc_bi_copy_16w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

◆ hevc_bi_copy_24w_lsx()

static void hevc_bi_copy_24w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 472 of file hevc_mc_bi_lsx.c.

◆ hevc_bi_copy_32w_lsx()

static void hevc_bi_copy_32w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 483 of file hevc_mc_bi_lsx.c.

Referenced by hevc_bi_copy_48w_lsx(), and hevc_bi_copy_64w_lsx().

◆ hevc_bi_copy_48w_lsx()

static void hevc_bi_copy_48w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 494 of file hevc_mc_bi_lsx.c.

◆ hevc_bi_copy_64w_lsx()

static void hevc_bi_copy_64w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
int32_t height )
static

Definition at line 505 of file hevc_mc_bi_lsx.c.

◆ hevc_hz_8t_16w_lsx()

static void hevc_hz_8t_16w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 515 of file hevc_mc_bi_lsx.c.

Referenced by hevc_hz_8t_32w_lsx(), and hevc_hz_8t_48w_lsx().

◆ hevc_hz_8t_24w_lsx()

static void hevc_hz_8t_24w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 580 of file hevc_mc_bi_lsx.c.

◆ hevc_hz_8t_32w_lsx()

static void hevc_hz_8t_32w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 634 of file hevc_mc_bi_lsx.c.

Referenced by hevc_hz_8t_48w_lsx(), and hevc_hz_8t_64w_lsx().

◆ hevc_hz_8t_48w_lsx()

static void hevc_hz_8t_48w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 645 of file hevc_mc_bi_lsx.c.

◆ hevc_hz_8t_64w_lsx()

static void hevc_hz_8t_64w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 656 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_8t_8w_lsx()

static av_always_inline void hevc_vt_8t_8w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 668 of file hevc_mc_bi_lsx.c.

Referenced by hevc_vt_8t_24w_lsx().

◆ hevc_vt_8t_16multx2mult_lsx()

static av_always_inline void hevc_vt_8t_16multx2mult_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height,
int32_t width )
static

◆ hevc_vt_8t_16w_lsx()

static void hevc_vt_8t_16w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 857 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_8t_24w_lsx()

static void hevc_vt_8t_24w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 866 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_8t_32w_lsx()

static void hevc_vt_8t_32w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 877 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_8t_48w_lsx()

static void hevc_vt_8t_48w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 886 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_8t_64w_lsx()

static void hevc_vt_8t_64w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 895 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_8t_8multx1mult_lsx()

static av_always_inline void hevc_hv_8t_8multx1mult_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t width )
static

◆ hevc_hv_8t_8w_lsx()

static void hevc_hv_8t_8w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 1043 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_8t_16w_lsx()

static void hevc_hv_8t_16w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 1053 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_8t_24w_lsx()

static void hevc_hv_8t_24w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 1063 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_8t_32w_lsx()

static void hevc_hv_8t_32w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 1073 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_8t_48w_lsx()

static void hevc_hv_8t_48w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 1083 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_8t_64w_lsx()

static void hevc_hv_8t_64w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 1093 of file hevc_mc_bi_lsx.c.

◆ hevc_hz_4t_24w_lsx()

static void hevc_hz_4t_24w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1103 of file hevc_mc_bi_lsx.c.

◆ hevc_hz_4t_32w_lsx()

static void hevc_hz_4t_32w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1243 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_4t_12w_lsx()

static void hevc_vt_4t_12w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1287 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_4t_16w_lsx()

static void hevc_vt_4t_16w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1376 of file hevc_mc_bi_lsx.c.

Referenced by hevc_vt_4t_32w_lsx().

◆ hevc_vt_4t_24w_lsx()

static void hevc_vt_4t_24w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1448 of file hevc_mc_bi_lsx.c.

◆ hevc_vt_4t_32w_lsx()

static void hevc_vt_4t_32w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter,
int32_t height )
static

Definition at line 1555 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_4t_8x2_lsx()

static av_always_inline void hevc_hv_4t_8x2_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y )
static

Definition at line 1567 of file hevc_mc_bi_lsx.c.

Referenced by hevc_hv_4t_8w_lsx().

◆ hevc_hv_4t_8multx4_lsx()

static av_always_inline void hevc_hv_4t_8multx4_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t width8mult )
static

Definition at line 1638 of file hevc_mc_bi_lsx.c.

Referenced by hevc_hv_4t_16w_lsx(), and hevc_hv_4t_8w_lsx().

◆ hevc_hv_4t_8x6_lsx()

static av_always_inline void hevc_hv_4t_8x6_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y )
static

Definition at line 1757 of file hevc_mc_bi_lsx.c.

Referenced by hevc_hv_4t_8w_lsx().

◆ hevc_hv_4t_8multx4mult_lsx()

static av_always_inline void hevc_hv_4t_8multx4mult_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height,
int32_t width )
static

◆ hevc_hv_4t_8w_lsx()

static void hevc_hv_4t_8w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 2029 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_4t_16w_lsx()

static void hevc_hv_4t_16w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 2050 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_4t_24w_lsx()

static void hevc_hv_4t_24w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 2065 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_4t_32w_lsx()

static void hevc_hv_4t_32w_lsx ( const uint8_t * src0_ptr,
int32_t src_stride,
const int16_t * src1_ptr,
int32_t src2_stride,
uint8_t * dst,
int32_t dst_stride,
const int8_t * filter_x,
const int8_t * filter_y,
int32_t height )
static

Definition at line 2075 of file hevc_mc_bi_lsx.c.

◆ BI_MC_COPY() [1/9]

BI_MC_COPY ( 4 )

◆ BI_MC_COPY() [2/9]

BI_MC_COPY ( 6 )

◆ BI_MC_COPY() [3/9]

BI_MC_COPY ( 8 )

◆ BI_MC_COPY() [4/9]

BI_MC_COPY ( 12 )

◆ BI_MC_COPY() [5/9]

BI_MC_COPY ( 16 )

◆ BI_MC_COPY() [6/9]

BI_MC_COPY ( 24 )

◆ BI_MC_COPY() [7/9]

BI_MC_COPY ( 32 )

◆ BI_MC_COPY() [8/9]

BI_MC_COPY ( 48 )

◆ BI_MC_COPY() [9/9]

BI_MC_COPY ( 64 )

◆ BI_MC() [1/17]

BI_MC ( qpel ,
h ,
16 ,
8 ,
hz ,
mx  )

◆ BI_MC() [2/17]

BI_MC ( qpel ,
h ,
24 ,
8 ,
hz ,
mx  )

◆ BI_MC() [3/17]

BI_MC ( qpel ,
h ,
32 ,
8 ,
hz ,
mx  )

◆ BI_MC() [4/17]

BI_MC ( qpel ,
h ,
48 ,
8 ,
hz ,
mx  )

◆ BI_MC() [5/17]

BI_MC ( qpel ,
h ,
64 ,
8 ,
hz ,
mx  )

◆ BI_MC() [6/17]

BI_MC ( qpel ,
v ,
8 ,
8 ,
vt ,
my  )

◆ BI_MC() [7/17]

BI_MC ( qpel ,
v ,
16 ,
8 ,
vt ,
my  )

◆ BI_MC() [8/17]

BI_MC ( qpel ,
v ,
24 ,
8 ,
vt ,
my  )

◆ BI_MC() [9/17]

BI_MC ( qpel ,
v ,
32 ,
8 ,
vt ,
my  )

◆ BI_MC() [10/17]

BI_MC ( qpel ,
v ,
48 ,
8 ,
vt ,
my  )

◆ BI_MC() [11/17]

BI_MC ( qpel ,
v ,
64 ,
8 ,
vt ,
my  )

◆ BI_MC() [12/17]

BI_MC ( epel ,
h ,
24 ,
4 ,
hz ,
mx  )

◆ BI_MC() [13/17]

BI_MC ( epel ,
h ,
32 ,
4 ,
hz ,
mx  )

◆ BI_MC() [14/17]

BI_MC ( epel ,
v ,
12 ,
4 ,
vt ,
my  )

◆ BI_MC() [15/17]

BI_MC ( epel ,
v ,
16 ,
4 ,
vt ,
my  )

◆ BI_MC() [16/17]

BI_MC ( epel ,
v ,
24 ,
4 ,
vt ,
my  )

◆ BI_MC() [17/17]

BI_MC ( epel ,
v ,
32 ,
4 ,
vt ,
my  )

◆ BI_MC_HV() [1/10]

BI_MC_HV ( qpel ,
8 ,
8  )

◆ BI_MC_HV() [2/10]

BI_MC_HV ( qpel ,
16 ,
8  )

◆ BI_MC_HV() [3/10]

BI_MC_HV ( qpel ,
24 ,
8  )

◆ BI_MC_HV() [4/10]

BI_MC_HV ( qpel ,
32 ,
8  )

◆ BI_MC_HV() [5/10]

BI_MC_HV ( qpel ,
48 ,
8  )

◆ BI_MC_HV() [6/10]

BI_MC_HV ( qpel ,
64 ,
8  )

◆ BI_MC_HV() [7/10]

BI_MC_HV ( epel ,
8 ,
4  )

◆ BI_MC_HV() [8/10]

BI_MC_HV ( epel ,
16 ,
4  )

◆ BI_MC_HV() [9/10]

BI_MC_HV ( epel ,
24 ,
4  )

◆ BI_MC_HV() [10/10]

BI_MC_HV ( epel ,
32 ,
4  )

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_bi_lsx.c.

Referenced by common_hz_4t_12w_msa(), common_hz_4t_16w_msa(), common_hz_4t_24w_msa(), common_hz_4t_32w_msa(), common_hz_4t_4x16_msa(), common_hz_4t_4x2_msa(), common_hz_4t_4x4_msa(), common_hz_4t_4x8_msa(), common_hz_4t_6w_msa(), common_hz_4t_8x2mult_msa(), common_hz_4t_8x4mult_msa(), common_hz_8t_12w_msa(), common_hz_8t_16w_msa(), common_hz_8t_24w_msa(), common_hz_8t_32w_msa(), common_hz_8t_48w_msa(), common_hz_8t_4x16_msa(), common_hz_8t_4x4_msa(), common_hz_8t_4x8_msa(), common_hz_8t_64w_lsx(), common_hz_8t_64w_msa(), common_hz_8t_8w_msa(), hevc_hv_4t_12w_lsx(), hevc_hv_4t_12w_lsx(), hevc_hv_4t_12w_msa(), hevc_hv_4t_4multx8mult_msa(), hevc_hv_4t_4x2_msa(), hevc_hv_4t_4x4_msa(), hevc_hv_4t_6w_msa(), hevc_hv_4t_8mult_lsx(), hevc_hv_4t_8multx4_lsx(), hevc_hv_4t_8multx4_lsx(), hevc_hv_4t_8multx4_msa(), hevc_hv_4t_8multx4mult_lsx(), hevc_hv_4t_8multx4mult_lsx(), hevc_hv_4t_8multx4mult_msa(), hevc_hv_4t_8x2_lsx(), hevc_hv_4t_8x2_lsx(), hevc_hv_4t_8x2_lsx(), hevc_hv_4t_8x2_msa(), hevc_hv_4t_8x6_lsx(), hevc_hv_4t_8x6_lsx(), hevc_hv_4t_8x6_lsx(), hevc_hv_4t_8x6_msa(), hevc_hv_8t_12w_lsx(), hevc_hv_8t_12w_msa(), hevc_hv_8t_4w_lsx(), hevc_hv_8t_4w_msa(), hevc_hv_8t_8multx1mult_lsx(), hevc_hv_8t_8x2_lsx(), hevc_hv_8t_8x2_lsx(), hevc_hv_bi_4t_12w_msa(), hevc_hv_bi_4t_4multx8mult_msa(), hevc_hv_bi_4t_4x2_msa(), hevc_hv_bi_4t_4x4_msa(), hevc_hv_bi_4t_6w_msa(), hevc_hv_bi_4t_8multx4_msa(), hevc_hv_bi_4t_8multx4mult_msa(), hevc_hv_bi_4t_8x2_msa(), hevc_hv_bi_4t_8x6_msa(), hevc_hv_bi_8t_12w_msa(), hevc_hv_bi_8t_4w_msa(), hevc_hv_bi_8t_8multx1mult_msa(), hevc_hv_biwgt_4t_12w_msa(), hevc_hv_biwgt_4t_4multx8mult_msa(), hevc_hv_biwgt_4t_4x2_msa(), hevc_hv_biwgt_4t_4x4_msa(), hevc_hv_biwgt_4t_6w_msa(), hevc_hv_biwgt_4t_8multx4_msa(), hevc_hv_biwgt_4t_8multx4mult_msa(), hevc_hv_biwgt_4t_8x2_msa(), hevc_hv_biwgt_4t_8x6_msa(), hevc_hv_biwgt_8t_12w_msa(), hevc_hv_biwgt_8t_4w_msa(), hevc_hv_biwgt_8t_8multx2mult_msa(), hevc_hv_uni_4t_12w_msa(), hevc_hv_uni_4t_4multx8mult_msa(), hevc_hv_uni_4t_4x2_msa(), hevc_hv_uni_4t_4x4_msa(), hevc_hv_uni_4t_6w_msa(), hevc_hv_uni_4t_8multx4_msa(), hevc_hv_uni_4t_8multx4mult_msa(), hevc_hv_uni_4t_8x2_msa(), hevc_hv_uni_4t_8x6_msa(), hevc_hv_uni_8t_12w_msa(), hevc_hv_uni_8t_4w_msa(), hevc_hv_uni_8t_8multx2mult_msa(), hevc_hv_uniwgt_4t_12w_msa(), hevc_hv_uniwgt_4t_4multx8mult_msa(), hevc_hv_uniwgt_4t_4x2_msa(), hevc_hv_uniwgt_4t_4x4_msa(), hevc_hv_uniwgt_4t_6w_msa(), hevc_hv_uniwgt_4t_8multx4_msa(), hevc_hv_uniwgt_4t_8multx4mult_msa(), hevc_hv_uniwgt_4t_8x2_msa(), hevc_hv_uniwgt_4t_8x6_msa(), hevc_hv_uniwgt_8t_12w_msa(), hevc_hv_uniwgt_8t_4w_msa(), hevc_hv_uniwgt_8t_8multx2mult_msa(), hevc_hz_4t_12w_msa(), hevc_hz_4t_16w_msa(), hevc_hz_4t_24w_lsx(), hevc_hz_4t_24w_msa(), hevc_hz_4t_32w_lsx(), hevc_hz_4t_32w_lsx(), hevc_hz_4t_32w_msa(), hevc_hz_4t_4x2_msa(), hevc_hz_4t_4x4_msa(), hevc_hz_4t_4x8multiple_msa(), hevc_hz_4t_6w_msa(), hevc_hz_4t_8x2multiple_msa(), hevc_hz_4t_8x4multiple_msa(), hevc_hz_8t_12w_lsx(), hevc_hz_8t_12w_msa(), hevc_hz_8t_16w_lsx(), hevc_hz_8t_16w_lsx(), hevc_hz_8t_16w_msa(), hevc_hz_8t_24w_lsx(), hevc_hz_8t_24w_lsx(), hevc_hz_8t_24w_msa(), hevc_hz_8t_32w_lsx(), hevc_hz_8t_32w_msa(), hevc_hz_8t_48w_lsx(), hevc_hz_8t_48w_msa(), hevc_hz_8t_4w_lsx(), hevc_hz_8t_4w_msa(), hevc_hz_8t_64w_lsx(), hevc_hz_8t_64w_msa(), hevc_hz_8t_8w_lsx(), hevc_hz_8t_8w_msa(), hevc_hz_bi_4t_12w_msa(), hevc_hz_bi_4t_16w_msa(), hevc_hz_bi_4t_24w_msa(), hevc_hz_bi_4t_32w_msa(), hevc_hz_bi_4t_4x2_msa(), hevc_hz_bi_4t_4x4_msa(), hevc_hz_bi_4t_4x8multiple_msa(), hevc_hz_bi_4t_6w_msa(), hevc_hz_bi_4t_8x2_msa(), hevc_hz_bi_4t_8x4multiple_msa(), hevc_hz_bi_4t_8x6_msa(), hevc_hz_bi_8t_12w_msa(), hevc_hz_bi_8t_16w_msa(), hevc_hz_bi_8t_24w_msa(), hevc_hz_bi_8t_32w_msa(), hevc_hz_bi_8t_48w_msa(), hevc_hz_bi_8t_4w_msa(), hevc_hz_bi_8t_64w_msa(), hevc_hz_bi_8t_8w_msa(), hevc_hz_biwgt_4t_12w_msa(), hevc_hz_biwgt_4t_16w_msa(), hevc_hz_biwgt_4t_24w_msa(), hevc_hz_biwgt_4t_32w_msa(), hevc_hz_biwgt_4t_4x2_msa(), hevc_hz_biwgt_4t_4x4_msa(), hevc_hz_biwgt_4t_4x8multiple_msa(), hevc_hz_biwgt_4t_6w_msa(), hevc_hz_biwgt_4t_8x2_msa(), hevc_hz_biwgt_4t_8x4multiple_msa(), hevc_hz_biwgt_4t_8x6_msa(), hevc_hz_biwgt_8t_12w_msa(), hevc_hz_biwgt_8t_24w_msa(), hevc_hz_biwgt_8t_32w_msa(), hevc_hz_biwgt_8t_48w_msa(), hevc_hz_biwgt_8t_4w_msa(), hevc_hz_biwgt_8t_64w_msa(), hevc_hz_biwgt_8t_8w_msa(), hevc_hz_uniwgt_4t_12w_msa(), hevc_hz_uniwgt_4t_16w_msa(), hevc_hz_uniwgt_4t_24w_msa(), hevc_hz_uniwgt_4t_32w_msa(), hevc_hz_uniwgt_4t_4x2_msa(), hevc_hz_uniwgt_4t_4x4_msa(), hevc_hz_uniwgt_4t_4x8multiple_msa(), hevc_hz_uniwgt_4t_6w_msa(), hevc_hz_uniwgt_4t_8x2_msa(), hevc_hz_uniwgt_4t_8x4_msa(), hevc_hz_uniwgt_4t_8x6_msa(), hevc_hz_uniwgt_4t_8x8multiple_msa(), hevc_hz_uniwgt_8t_12w_msa(), hevc_hz_uniwgt_8t_16w_msa(), hevc_hz_uniwgt_8t_24w_msa(), hevc_hz_uniwgt_8t_32w_msa(), hevc_hz_uniwgt_8t_48w_msa(), hevc_hz_uniwgt_8t_4w_msa(), hevc_hz_uniwgt_8t_64w_msa(), and hevc_hz_uniwgt_8t_8w_msa().