FFmpeg
Macros | Functions | Variables
hevc_mc_bi_lsx.c File Reference
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "hevcdsp_lsx.h"

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 void hevc_hv_4t_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, const int8_t *filter_x, const int8_t *filter_y, 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, 6, 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); \
}

Definition at line 2189 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, \
}

Definition at line 2216 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 2257 of file hevc_mc_bi_lsx.c.

Function Documentation

◆ hevc_bi_rnd_clip()

static av_always_inline __m128i hevc_bi_rnd_clip ( __m128i  in0,
__m128i  vec0,
__m128i  in1,
__m128i  vec1 
)
static

◆ 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 426 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 437 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 448 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 459 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 469 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 534 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 588 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 599 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 610 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 622 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 811 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 820 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 831 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 840 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 849 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 997 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 1007 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 1017 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 1027 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 1037 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 1047 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 1057 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 1160 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 1204 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 1293 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 1365 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 1472 of file hevc_mc_bi_lsx.c.

◆ hevc_hv_4t_6w_lsx()

static void hevc_hv_4t_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,
const int8_t *  filter_x,
const int8_t *  filter_y,
int32_t  height 
)
static

Definition at line 1483 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 1671 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 1742 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 1861 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 2133 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 2154 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 2169 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 2179 of file hevc_mc_bi_lsx.c.

◆ BI_MC_COPY() [1/9]

BI_MC_COPY ( )

◆ BI_MC_COPY() [2/9]

BI_MC_COPY ( )

◆ BI_MC_COPY() [3/9]

BI_MC_COPY ( )

◆ 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  ,
,
hz  ,
mx   
)

◆ BI_MC() [2/17]

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

◆ BI_MC() [3/17]

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

◆ BI_MC() [4/17]

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

◆ BI_MC() [5/17]

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

◆ BI_MC() [6/17]

BI_MC ( qpel  ,
,
,
,
vt  ,
my   
)

◆ BI_MC() [7/17]

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

◆ BI_MC() [8/17]

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

◆ BI_MC() [9/17]

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

◆ BI_MC() [10/17]

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

◆ BI_MC() [11/17]

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

◆ BI_MC() [12/17]

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

◆ BI_MC() [13/17]

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

◆ BI_MC() [14/17]

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

◆ BI_MC() [15/17]

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

◆ BI_MC() [16/17]

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

◆ BI_MC() [17/17]

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

◆ BI_MC_HV() [1/11]

BI_MC_HV ( qpel  ,
,
 
)

◆ BI_MC_HV() [2/11]

BI_MC_HV ( qpel  ,
16  ,
 
)

◆ BI_MC_HV() [3/11]

BI_MC_HV ( qpel  ,
24  ,
 
)

◆ BI_MC_HV() [4/11]

BI_MC_HV ( qpel  ,
32  ,
 
)

◆ BI_MC_HV() [5/11]

BI_MC_HV ( qpel  ,
48  ,
 
)

◆ BI_MC_HV() [6/11]

BI_MC_HV ( qpel  ,
64  ,
 
)

◆ BI_MC_HV() [7/11]

BI_MC_HV ( epel  ,
,
 
)

◆ BI_MC_HV() [8/11]

BI_MC_HV ( epel  ,
,
 
)

◆ BI_MC_HV() [9/11]

BI_MC_HV ( epel  ,
16  ,
 
)

◆ BI_MC_HV() [10/11]

BI_MC_HV ( epel  ,
24  ,
 
)

◆ BI_MC_HV() [11/11]

BI_MC_HV ( epel  ,
32  ,
 
)

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 hevc_hv_4t_6w_lsx(), hevc_hv_4t_8multx4_lsx(), hevc_hv_4t_8multx4mult_lsx(), hevc_hv_4t_8x2_lsx(), hevc_hv_4t_8x6_lsx(), hevc_hv_8t_8multx1mult_lsx(), hevc_hz_4t_24w_lsx(), hevc_hz_4t_32w_lsx(), hevc_hz_8t_16w_lsx(), and hevc_hz_8t_24w_lsx().

filter
void(* filter)(uint8_t *src, int stride, int qscale)
Definition: h263dsp.c:29
mx
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t mx
Definition: dsp.h:53
my
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t my
Definition: dsp.h:53
height
#define height
Definition: dsp.h:85
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
WIDTH
#define WIDTH
Definition: c93.c:44
MAX_PB_SIZE
#define MAX_PB_SIZE
Definition: dsp.h:32
_
#define _
width
#define width
Definition: dsp.h:85
src
#define src
Definition: vp8dsp.c:248