FFmpeg
Macros | Functions | Variables
hevc_mc_uniw_msa.c File Reference
#include "libavutil/mips/generic_macros_msa.h"
#include "libavcodec/mips/hevcdsp_mips.h"
#include "libavcodec/mips/hevc_macros_msa.h"

Go to the source code of this file.

Macros

#define HEVC_UNIW_RND_CLIP2_MAX_SATU_H(in0_h, in1_h, wgt_w, offset_h, rnd_w, out0_h, out1_h)
 
#define HEVC_UNIW_RND_CLIP4_MAX_SATU_H(in0_h, in1_h, in2_h, in3_h, wgt_w, offset_h, rnd_w, out0_h, out1_h, out2_h, out3_h)
 
#define HEVC_FILT_8TAP_4W_SH(in0, in1, in2, in3, filt0, filt1, filt2, filt3, dst0, dst1)
 
#define UNIWGT_MC_COPY(WIDTH)
 
#define UNI_W_MC(PEL, DIR, WIDTH, TAP, DIR1, FILT_DIR)
 
#define UNI_W_MC_HV(PEL, WIDTH, TAP)
 

Functions

static void hevc_uniwgt_copy_4w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_6w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_8w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_12w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_16w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_24w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_32w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_48w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_uniwgt_copy_64w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_4w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_8w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_12w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_16w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_24w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_32w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_48w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_8t_64w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_4w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_8w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_12w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_16multx4mult_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val, int32_t weightmul16)
 
static void hevc_vt_uniwgt_8t_16w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_24w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_32w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_48w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_8t_64w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_uniwgt_8t_4w_msa (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_uniwgt_8t_8multx2mult_msa (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_uniwgt_8t_8w_msa (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_uniwgt_8t_12w_msa (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_uniwgt_8t_16w_msa (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_uniwgt_8t_24w_msa (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_uniwgt_8t_32w_msa (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_uniwgt_8t_48w_msa (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_uniwgt_8t_64w_msa (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_hz_uniwgt_4t_4x2_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_4x4_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_4x8multiple_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_4w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_6w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_8x2_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_8x4_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_8x6_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_8x8multiple_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_8w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_12w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_16w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_24w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hz_uniwgt_4t_32w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_4x2_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_4x4_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_4x8multiple_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_4w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_6w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_8x2_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_8x4_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_8x6_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_8x8mult_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_8w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_12w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_16w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_24w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_vt_uniwgt_4t_32w_msa (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int8_t *filter, int32_t height, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_uniwgt_4t_4x2_msa (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 weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_uniwgt_4t_4x4_msa (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 weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_uniwgt_4t_4multx8mult_msa (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_uniwgt_4t_4w_msa (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_uniwgt_4t_6w_msa (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_uniwgt_4t_8x2_msa (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 weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_uniwgt_4t_8multx4_msa (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 width8mult, int32_t weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_uniwgt_4t_8x6_msa (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 weight, int32_t offset, int32_t rnd_val)
 
static void hevc_hv_uniwgt_4t_8multx4mult_msa (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 width8mult)
 
static void hevc_hv_uniwgt_4t_8w_msa (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_uniwgt_4t_12w_msa (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_uniwgt_4t_16w_msa (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_uniwgt_4t_24w_msa (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_uniwgt_4t_32w_msa (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)
 
 UNIWGT_MC_COPY (4)
 
 UNIWGT_MC_COPY (6)
 
 UNIWGT_MC_COPY (8)
 
 UNIWGT_MC_COPY (12)
 
 UNIWGT_MC_COPY (16)
 
 UNIWGT_MC_COPY (24)
 
 UNIWGT_MC_COPY (32)
 
 UNIWGT_MC_COPY (48)
 
 UNIWGT_MC_COPY (64)
 
 UNI_W_MC (qpel, h, 4, 8, hz, mx)
 
 UNI_W_MC (qpel, h, 8, 8, hz, mx)
 
 UNI_W_MC (qpel, h, 12, 8, hz, mx)
 
 UNI_W_MC (qpel, h, 16, 8, hz, mx)
 
 UNI_W_MC (qpel, h, 24, 8, hz, mx)
 
 UNI_W_MC (qpel, h, 32, 8, hz, mx)
 
 UNI_W_MC (qpel, h, 48, 8, hz, mx)
 
 UNI_W_MC (qpel, h, 64, 8, hz, mx)
 
 UNI_W_MC (qpel, v, 4, 8, vt, my)
 
 UNI_W_MC (qpel, v, 8, 8, vt, my)
 
 UNI_W_MC (qpel, v, 12, 8, vt, my)
 
 UNI_W_MC (qpel, v, 16, 8, vt, my)
 
 UNI_W_MC (qpel, v, 24, 8, vt, my)
 
 UNI_W_MC (qpel, v, 32, 8, vt, my)
 
 UNI_W_MC (qpel, v, 48, 8, vt, my)
 
 UNI_W_MC (qpel, v, 64, 8, vt, my)
 
 UNI_W_MC (epel, h, 4, 4, hz, mx)
 
 UNI_W_MC (epel, h, 6, 4, hz, mx)
 
 UNI_W_MC (epel, h, 8, 4, hz, mx)
 
 UNI_W_MC (epel, h, 12, 4, hz, mx)
 
 UNI_W_MC (epel, h, 16, 4, hz, mx)
 
 UNI_W_MC (epel, h, 24, 4, hz, mx)
 
 UNI_W_MC (epel, h, 32, 4, hz, mx)
 
 UNI_W_MC (epel, v, 4, 4, vt, my)
 
 UNI_W_MC (epel, v, 6, 4, vt, my)
 
 UNI_W_MC (epel, v, 8, 4, vt, my)
 
 UNI_W_MC (epel, v, 12, 4, vt, my)
 
 UNI_W_MC (epel, v, 16, 4, vt, my)
 
 UNI_W_MC (epel, v, 24, 4, vt, my)
 
 UNI_W_MC (epel, v, 32, 4, vt, my)
 
 UNI_W_MC_HV (qpel, 4, 8)
 
 UNI_W_MC_HV (qpel, 8, 8)
 
 UNI_W_MC_HV (qpel, 12, 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)
 
 UNI_W_MC_HV (epel, 4, 4)
 
 UNI_W_MC_HV (epel, 6, 4)
 
 UNI_W_MC_HV (epel, 8, 4)
 
 UNI_W_MC_HV (epel, 12, 4)
 
 UNI_W_MC_HV (epel, 16, 4)
 
 UNI_W_MC_HV (epel, 24, 4)
 
 UNI_W_MC_HV (epel, 32, 4)
 

Variables

static const uint8_t ff_hevc_mask_arr [16 *2]
 

Macro Definition Documentation

◆ HEVC_UNIW_RND_CLIP2_MAX_SATU_H

#define HEVC_UNIW_RND_CLIP2_MAX_SATU_H (   in0_h,
  in1_h,
  wgt_w,
  offset_h,
  rnd_w,
  out0_h,
  out1_h 
)
Value:
{ \
v4i32 in0_r_m, in0_l_m, in1_r_m, in1_l_m; \
v8i16 zero = { 0 }; \
ILVRL_H2_SW(zero, in0_h, in0_r_m, in0_l_m); \
ILVRL_H2_SW(zero, in1_h, in1_r_m, in1_l_m); \
MUL4(in0_r_m, wgt_w, in0_l_m, wgt_w, in1_r_m, wgt_w, in1_l_m, wgt_w, \
in0_r_m, in0_l_m, in1_r_m, in1_l_m); \
SRAR_W4_SW(in0_r_m, in0_l_m, in1_r_m, in1_l_m, rnd_w); \
ADD4(in0_r_m, offset_h, in0_l_m, offset_h, in1_r_m, offset_h, in1_l_m, \
offset_h, in0_r_m, in0_l_m, in1_r_m, in1_l_m); \
CLIP_SW4_0_255(in0_r_m, in0_l_m, in1_r_m, in1_l_m); \
PCKEV_H2_SH(in0_l_m, in0_r_m, in1_l_m, in1_r_m, out0_h, out1_h); \
}

Definition at line 32 of file hevc_mc_uniw_msa.c.

◆ HEVC_UNIW_RND_CLIP4_MAX_SATU_H

#define HEVC_UNIW_RND_CLIP4_MAX_SATU_H (   in0_h,
  in1_h,
  in2_h,
  in3_h,
  wgt_w,
  offset_h,
  rnd_w,
  out0_h,
  out1_h,
  out2_h,
  out3_h 
)
Value:
{ \
HEVC_UNIW_RND_CLIP2_MAX_SATU_H(in0_h, in1_h, wgt_w, offset_h, rnd_w, \
out0_h, out1_h); \
HEVC_UNIW_RND_CLIP2_MAX_SATU_H(in2_h, in3_h, wgt_w, offset_h, rnd_w, \
out2_h, out3_h); \
}

Definition at line 49 of file hevc_mc_uniw_msa.c.

◆ HEVC_FILT_8TAP_4W_SH

#define HEVC_FILT_8TAP_4W_SH (   in0,
  in1,
  in2,
  in3,
  filt0,
  filt1,
  filt2,
  filt3,
  dst0,
  dst1 
)
Value:
{ \
v8i16 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; \
ILVRL_B2_SH(zero, in0, tmp0, tmp4); \
ILVRL_B2_SH(zero, in1, tmp1, tmp5); \
ILVRL_B2_SH(zero, in2, tmp2, tmp6); \
ILVRL_B2_SH(zero, in3, tmp3, tmp7); \
dst0 = __msa_dotp_s_w((v8i16) tmp0, (v8i16) filt0); \
dst1 = __msa_dotp_s_w((v8i16) tmp4, (v8i16) filt0); \
DPADD_SH2_SW(tmp1, tmp5, filt1, filt1, dst0, dst1); \
DPADD_SH2_SW(tmp2, tmp6, filt2, filt2, dst0, dst1); \
DPADD_SH2_SW(tmp3, tmp7, filt3, filt3, dst0, dst1); \
}

Definition at line 59 of file hevc_mc_uniw_msa.c.

◆ UNIWGT_MC_COPY

#define UNIWGT_MC_COPY (   WIDTH)
Value:
void ff_hevc_put_hevc_uni_w_pel_pixels##WIDTH##_8_msa(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) \
{ \
int shift = denom + 14 - 8; \
hevc_uniwgt_copy_##WIDTH##w_msa(src, src_stride, dst, dst_stride, \
}

Definition at line 6221 of file hevc_mc_uniw_msa.c.

◆ UNI_W_MC

#define UNI_W_MC (   PEL,
  DIR,
  WIDTH,
  TAP,
  DIR1,
  FILT_DIR 
)
Value:
void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_msa(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 = ff_hevc_##PEL##_filters[FILT_DIR]; \
int shift = denom + 14 - 8; \
\
hevc_##DIR1##_uniwgt_##TAP##t_##WIDTH##w_msa(src, src_stride, dst, \
dst_stride, filter, height, \
}

Definition at line 6251 of file hevc_mc_uniw_msa.c.

◆ UNI_W_MC_HV

#define UNI_W_MC_HV (   PEL,
  WIDTH,
  TAP 
)
Value:
void ff_hevc_put_hevc_uni_w_##PEL##_hv##WIDTH##_8_msa(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_uniwgt_##TAP##t_##WIDTH##w_msa(src, src_stride, dst, dst_stride, \
filter_x, filter_y, height, \
}

Definition at line 6310 of file hevc_mc_uniw_msa.c.

Function Documentation

◆ hevc_uniwgt_copy_4w_msa()

static void hevc_uniwgt_copy_4w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 74 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_6w_msa()

static void hevc_uniwgt_copy_6w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 141 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_8w_msa()

static void hevc_uniwgt_copy_8w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 248 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_12w_msa()

static void hevc_uniwgt_copy_12w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 342 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_16w_msa()

static void hevc_uniwgt_copy_16w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 386 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_24w_msa()

static void hevc_uniwgt_copy_24w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 428 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_32w_msa()

static void hevc_uniwgt_copy_32w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 480 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_48w_msa()

static void hevc_uniwgt_copy_48w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 525 of file hevc_mc_uniw_msa.c.

◆ hevc_uniwgt_copy_64w_msa()

static void hevc_uniwgt_copy_64w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 581 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_4w_msa()

static void hevc_hz_uniwgt_8t_4w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 643 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_8w_msa()

static void hevc_hz_uniwgt_8t_8w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 765 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_12w_msa()

static void hevc_hz_uniwgt_8t_12w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 865 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_16w_msa()

static void hevc_hz_uniwgt_8t_16w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 944 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_24w_msa()

static void hevc_hz_uniwgt_8t_24w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1023 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_32w_msa()

static void hevc_hz_uniwgt_8t_32w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1124 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_48w_msa()

static void hevc_hz_uniwgt_8t_48w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1238 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_8t_64w_msa()

static void hevc_hz_uniwgt_8t_64w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1339 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_8t_4w_msa()

static void hevc_vt_uniwgt_8t_4w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1430 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_8t_8w_msa()

static void hevc_vt_uniwgt_8t_8w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1567 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_8t_24w_msa().

◆ hevc_vt_uniwgt_8t_12w_msa()

static void hevc_vt_uniwgt_8t_12w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1663 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_8t_16multx4mult_msa()

static void hevc_vt_uniwgt_8t_16multx4mult_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val,
int32_t  weightmul16 
)
static

◆ hevc_vt_uniwgt_8t_16w_msa()

static void hevc_vt_uniwgt_8t_16w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1933 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_8t_24w_msa()

static void hevc_vt_uniwgt_8t_24w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1948 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_8t_32w_msa()

static void hevc_vt_uniwgt_8t_32w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1966 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_8t_48w_msa()

static void hevc_vt_uniwgt_8t_48w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1981 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_8t_64w_msa()

static void hevc_vt_uniwgt_8t_64w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 1996 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_4w_msa()

static void hevc_hv_uniwgt_8t_4w_msa ( 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 2011 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_8multx2mult_msa()

static void hevc_hv_uniwgt_8t_8multx2mult_msa ( 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_uniwgt_8t_8w_msa()

static void hevc_hv_uniwgt_8t_8w_msa ( 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 2293 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_12w_msa()

static void hevc_hv_uniwgt_8t_12w_msa ( 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 2309 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_16w_msa()

static void hevc_hv_uniwgt_8t_16w_msa ( 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 2511 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_24w_msa()

static void hevc_hv_uniwgt_8t_24w_msa ( 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 2527 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_32w_msa()

static void hevc_hv_uniwgt_8t_32w_msa ( 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 2543 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_48w_msa()

static void hevc_hv_uniwgt_8t_48w_msa ( 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 2559 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_8t_64w_msa()

static void hevc_hv_uniwgt_8t_64w_msa ( 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 2575 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_4t_4x2_msa()

static void hevc_hz_uniwgt_4t_4x2_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 2591 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hz_uniwgt_4t_4w_msa().

◆ hevc_hz_uniwgt_4t_4x4_msa()

static void hevc_hz_uniwgt_4t_4x4_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 2640 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hz_uniwgt_4t_4w_msa().

◆ hevc_hz_uniwgt_4t_4x8multiple_msa()

static void hevc_hz_uniwgt_4t_4x8multiple_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 2698 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hz_uniwgt_4t_4w_msa().

◆ hevc_hz_uniwgt_4t_4w_msa()

static void hevc_hz_uniwgt_4t_4w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 2778 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_4t_6w_msa()

static void hevc_hz_uniwgt_4t_6w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 2801 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_4t_8x2_msa()

static void hevc_hz_uniwgt_4t_8x2_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 2918 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hz_uniwgt_4t_8w_msa().

◆ hevc_hz_uniwgt_4t_8x4_msa()

static void hevc_hz_uniwgt_4t_8x4_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 2974 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hz_uniwgt_4t_8w_msa().

◆ hevc_hz_uniwgt_4t_8x6_msa()

static void hevc_hz_uniwgt_4t_8x6_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3046 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hz_uniwgt_4t_8w_msa().

◆ hevc_hz_uniwgt_4t_8x8multiple_msa()

static void hevc_hz_uniwgt_4t_8x8multiple_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3141 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hz_uniwgt_4t_8w_msa().

◆ hevc_hz_uniwgt_4t_8w_msa()

static void hevc_hz_uniwgt_4t_8w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3258 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_4t_12w_msa()

static void hevc_hz_uniwgt_4t_12w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3284 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_4t_16w_msa()

static void hevc_hz_uniwgt_4t_16w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3389 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_4t_24w_msa()

static void hevc_hz_uniwgt_4t_24w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3507 of file hevc_mc_uniw_msa.c.

◆ hevc_hz_uniwgt_4t_32w_msa()

static void hevc_hz_uniwgt_4t_32w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3611 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_4t_4x2_msa()

static void hevc_vt_uniwgt_4t_4x2_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3734 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_4t_4w_msa().

◆ hevc_vt_uniwgt_4t_4x4_msa()

static void hevc_vt_uniwgt_4t_4x4_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3783 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_4t_4w_msa().

◆ hevc_vt_uniwgt_4t_4x8multiple_msa()

static void hevc_vt_uniwgt_4t_4x8multiple_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3840 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_4t_4w_msa().

◆ hevc_vt_uniwgt_4t_4w_msa()

static void hevc_vt_uniwgt_4t_4w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3926 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_4t_6w_msa()

static void hevc_vt_uniwgt_4t_6w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 3949 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_4t_8x2_msa()

static void hevc_vt_uniwgt_4t_8x2_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4058 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_4t_8w_msa().

◆ hevc_vt_uniwgt_4t_8x4_msa()

static void hevc_vt_uniwgt_4t_8x4_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4111 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_4t_8w_msa().

◆ hevc_vt_uniwgt_4t_8x6_msa()

static void hevc_vt_uniwgt_4t_8x6_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4177 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_4t_8w_msa().

◆ hevc_vt_uniwgt_4t_8x8mult_msa()

static void hevc_vt_uniwgt_4t_8x8mult_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4262 of file hevc_mc_uniw_msa.c.

Referenced by hevc_vt_uniwgt_4t_8w_msa().

◆ hevc_vt_uniwgt_4t_8w_msa()

static void hevc_vt_uniwgt_4t_8w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4374 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_4t_12w_msa()

static void hevc_vt_uniwgt_4t_12w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4400 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_4t_16w_msa()

static void hevc_vt_uniwgt_4t_16w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4563 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_4t_24w_msa()

static void hevc_vt_uniwgt_4t_24w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4679 of file hevc_mc_uniw_msa.c.

◆ hevc_vt_uniwgt_4t_32w_msa()

static void hevc_vt_uniwgt_4t_32w_msa ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int8_t *  filter,
int32_t  height,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4837 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_4t_4x2_msa()

static void hevc_hv_uniwgt_4t_4x2_msa ( 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  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 4971 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hv_uniwgt_4t_4w_msa().

◆ hevc_hv_uniwgt_4t_4x4_msa()

static void hevc_hv_uniwgt_4t_4x4_msa ( 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  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 5040 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hv_uniwgt_4t_4w_msa().

◆ hevc_hv_uniwgt_4t_4multx8mult_msa()

static void hevc_hv_uniwgt_4t_4multx8mult_msa ( 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 5118 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hv_uniwgt_4t_4w_msa().

◆ hevc_hv_uniwgt_4t_4w_msa()

static void hevc_hv_uniwgt_4t_4w_msa ( 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 5240 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_4t_6w_msa()

static void hevc_hv_uniwgt_4t_6w_msa ( 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 5266 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_4t_8x2_msa()

static void hevc_hv_uniwgt_4t_8x2_msa ( 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  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 5425 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hv_uniwgt_4t_8w_msa().

◆ hevc_hv_uniwgt_4t_8multx4_msa()

static void hevc_hv_uniwgt_4t_8multx4_msa ( 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  width8mult,
int32_t  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 5515 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hv_uniwgt_4t_16w_msa(), and hevc_hv_uniwgt_4t_8w_msa().

◆ hevc_hv_uniwgt_4t_8x6_msa()

static void hevc_hv_uniwgt_4t_8x6_msa ( 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  weight,
int32_t  offset,
int32_t  rnd_val 
)
static

Definition at line 5631 of file hevc_mc_uniw_msa.c.

Referenced by hevc_hv_uniwgt_4t_8w_msa().

◆ hevc_hv_uniwgt_4t_8multx4mult_msa()

static void hevc_hv_uniwgt_4t_8multx4mult_msa ( 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  width8mult 
)
static

◆ hevc_hv_uniwgt_4t_8w_msa()

static void hevc_hv_uniwgt_4t_8w_msa ( 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 5916 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_4t_12w_msa()

static void hevc_hv_uniwgt_4t_12w_msa ( 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 5947 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_4t_16w_msa()

static void hevc_hv_uniwgt_4t_16w_msa ( 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 6167 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_4t_24w_msa()

static void hevc_hv_uniwgt_4t_24w_msa ( 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 6189 of file hevc_mc_uniw_msa.c.

◆ hevc_hv_uniwgt_4t_32w_msa()

static void hevc_hv_uniwgt_4t_32w_msa ( 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 6205 of file hevc_mc_uniw_msa.c.

◆ UNIWGT_MC_COPY() [1/9]

UNIWGT_MC_COPY ( )

◆ UNIWGT_MC_COPY() [2/9]

UNIWGT_MC_COPY ( )

◆ UNIWGT_MC_COPY() [3/9]

UNIWGT_MC_COPY ( )

◆ UNIWGT_MC_COPY() [4/9]

UNIWGT_MC_COPY ( 12  )

◆ UNIWGT_MC_COPY() [5/9]

UNIWGT_MC_COPY ( 16  )

◆ UNIWGT_MC_COPY() [6/9]

UNIWGT_MC_COPY ( 24  )

◆ UNIWGT_MC_COPY() [7/9]

UNIWGT_MC_COPY ( 32  )

◆ UNIWGT_MC_COPY() [8/9]

UNIWGT_MC_COPY ( 48  )

◆ UNIWGT_MC_COPY() [9/9]

UNIWGT_MC_COPY ( 64  )

◆ UNI_W_MC() [1/30]

UNI_W_MC ( qpel  ,
h  ,
,
,
hz  ,
mx   
)

◆ UNI_W_MC() [2/30]

UNI_W_MC ( qpel  ,
h  ,
,
,
hz  ,
mx   
)

◆ UNI_W_MC() [3/30]

UNI_W_MC ( qpel  ,
h  ,
12  ,
,
hz  ,
mx   
)

◆ UNI_W_MC() [4/30]

UNI_W_MC ( qpel  ,
h  ,
16  ,
,
hz  ,
mx   
)

◆ UNI_W_MC() [5/30]

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

◆ UNI_W_MC() [6/30]

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

◆ UNI_W_MC() [7/30]

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

◆ UNI_W_MC() [8/30]

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

◆ UNI_W_MC() [9/30]

UNI_W_MC ( qpel  ,
,
,
,
vt  ,
my   
)

◆ UNI_W_MC() [10/30]

UNI_W_MC ( qpel  ,
,
,
,
vt  ,
my   
)

◆ UNI_W_MC() [11/30]

UNI_W_MC ( qpel  ,
,
12  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [12/30]

UNI_W_MC ( qpel  ,
,
16  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [13/30]

UNI_W_MC ( qpel  ,
,
24  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [14/30]

UNI_W_MC ( qpel  ,
,
32  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [15/30]

UNI_W_MC ( qpel  ,
,
48  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [16/30]

UNI_W_MC ( qpel  ,
,
64  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [17/30]

UNI_W_MC ( epel  ,
h  ,
,
,
hz  ,
mx   
)

◆ UNI_W_MC() [18/30]

UNI_W_MC ( epel  ,
h  ,
,
,
hz  ,
mx   
)

◆ UNI_W_MC() [19/30]

UNI_W_MC ( epel  ,
h  ,
,
,
hz  ,
mx   
)

◆ UNI_W_MC() [20/30]

UNI_W_MC ( epel  ,
h  ,
12  ,
,
hz  ,
mx   
)

◆ UNI_W_MC() [21/30]

UNI_W_MC ( epel  ,
h  ,
16  ,
,
hz  ,
mx   
)

◆ UNI_W_MC() [22/30]

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

◆ UNI_W_MC() [23/30]

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

◆ UNI_W_MC() [24/30]

UNI_W_MC ( epel  ,
,
,
,
vt  ,
my   
)

◆ UNI_W_MC() [25/30]

UNI_W_MC ( epel  ,
,
,
,
vt  ,
my   
)

◆ UNI_W_MC() [26/30]

UNI_W_MC ( epel  ,
,
,
,
vt  ,
my   
)

◆ UNI_W_MC() [27/30]

UNI_W_MC ( epel  ,
,
12  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [28/30]

UNI_W_MC ( epel  ,
,
16  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [29/30]

UNI_W_MC ( epel  ,
,
24  ,
,
vt  ,
my   
)

◆ UNI_W_MC() [30/30]

UNI_W_MC ( epel  ,
,
32  ,
,
vt  ,
my   
)

◆ UNI_W_MC_HV() [1/15]

UNI_W_MC_HV ( qpel  ,
,
 
)

◆ UNI_W_MC_HV() [2/15]

UNI_W_MC_HV ( qpel  ,
,
 
)

◆ UNI_W_MC_HV() [3/15]

UNI_W_MC_HV ( qpel  ,
12  ,
 
)

◆ UNI_W_MC_HV() [4/15]

UNI_W_MC_HV ( qpel  ,
16  ,
 
)

◆ UNI_W_MC_HV() [5/15]

UNI_W_MC_HV ( qpel  ,
24  ,
 
)

◆ UNI_W_MC_HV() [6/15]

UNI_W_MC_HV ( qpel  ,
32  ,
 
)

◆ UNI_W_MC_HV() [7/15]

UNI_W_MC_HV ( qpel  ,
48  ,
 
)

◆ UNI_W_MC_HV() [8/15]

UNI_W_MC_HV ( qpel  ,
64  ,
 
)

◆ UNI_W_MC_HV() [9/15]

UNI_W_MC_HV ( epel  ,
,
 
)

◆ UNI_W_MC_HV() [10/15]

UNI_W_MC_HV ( epel  ,
,
 
)

◆ UNI_W_MC_HV() [11/15]

UNI_W_MC_HV ( epel  ,
,
 
)

◆ UNI_W_MC_HV() [12/15]

UNI_W_MC_HV ( epel  ,
12  ,
 
)

◆ UNI_W_MC_HV() [13/15]

UNI_W_MC_HV ( epel  ,
16  ,
 
)

◆ UNI_W_MC_HV() [14/15]

UNI_W_MC_HV ( epel  ,
24  ,
 
)

◆ UNI_W_MC_HV() [15/15]

UNI_W_MC_HV ( epel  ,
32  ,
 
)

Variable Documentation

◆ ff_hevc_mask_arr

const uint8_t ff_hevc_mask_arr[16 *2]
static
filter
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce then the filter should push the output frames on the output link immediately As an exception to the previous rule if the input frame is enough to produce several output frames then the filter needs output only at least one per link The additional frames can be left buffered in the filter
Definition: filter_design.txt:228
width
#define width
weight
static int weight(int i, int blen, int offset)
Definition: diracdec.c:1562
shift
static int shift(int a, int b)
Definition: bonk.c:262
WIDTH
#define WIDTH
Definition: c93.c:44
height
#define height
offset
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 offset
Definition: writing_filters.txt:86
ILVRL_H2_SW
#define ILVRL_H2_SW(...)
Definition: generic_macros_msa.h:1509
zero
#define zero
Definition: regdef.h:64
_
#define _
src
INIT_CLIP pixel * src
Definition: h264pred_template.c:418