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

Go to the source code of this file.

Macros

#define AVC_HORZ_FILTER_SH(in0, in1, mask0, mask1, mask2)
 
#define AVC_DOT_SH3_SH(in0, in1, in2, coeff0, coeff1, coeff2)
 
#define QPEL8_H_LOWPASS(out_v)
 
#define QPEL8_V_LOWPASS(src0, src1, src2, src3, src4, src5, src6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5)
 
#define QPEL8_HV_LOWPASS_H(tmp)
 
#define QPEL8_HV_LOWPASS_V(src0, src1, src2, src3, src4, src5, temp0, temp1, temp2, temp3, temp4, temp5, out)
 

Functions

static av_always_inline void avc_luma_hv_qrt_and_aver_dst_16x16_lasx (uint8_t *src_x, uint8_t *src_y, uint8_t *dst, ptrdiff_t stride)
 
static av_always_inline void avc_luma_hv_qrt_16x16_lasx (uint8_t *src_x, uint8_t *src_y, uint8_t *dst, ptrdiff_t stride)
 
static av_always_inline void put_pixels8_8_inline_asm (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
static av_always_inline void avg_pixels8_8_lsx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
static av_always_inline void put_pixels8_l2_8_lsx (uint8_t *dst, const uint8_t *src, const uint8_t *half, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
static av_always_inline void avg_pixels8_l2_8_lsx (uint8_t *dst, const uint8_t *src, const uint8_t *half, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
static av_always_inline void put_pixels16_8_lsx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
static av_always_inline void avg_pixels16_8_lsx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
static av_always_inline void put_pixels16_l2_8_lsx (uint8_t *dst, const uint8_t *src, uint8_t *half, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
static av_always_inline void avg_pixels16_l2_8_lsx (uint8_t *dst, const uint8_t *src, uint8_t *half, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
static av_always_inline void put_h264_qpel8_h_lowpass_lasx (uint8_t *dst, const uint8_t *src, int dstStride, int srcStride)
 
static av_always_inline void put_h264_qpel8_v_lowpass_lasx (uint8_t *dst, uint8_t *src, int dstStride, int srcStride)
 
static av_always_inline void avg_h264_qpel8_v_lowpass_lasx (uint8_t *dst, uint8_t *src, int dstStride, int srcStride)
 
static av_always_inline void put_h264_qpel8_hv_lowpass_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
static av_always_inline void avg_h264_qpel8_h_lowpass_lasx (uint8_t *dst, const uint8_t *src, int dstStride, int srcStride)
 
static av_always_inline void avg_h264_qpel8_hv_lowpass_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
static av_always_inline void put_h264_qpel16_h_lowpass_lasx (uint8_t *dst, const uint8_t *src, int dstStride, int srcStride)
 
static av_always_inline void avg_h264_qpel16_h_lowpass_lasx (uint8_t *dst, const uint8_t *src, int dstStride, int srcStride)
 
static void put_h264_qpel16_v_lowpass_lasx (uint8_t *dst, const uint8_t *src, int dstStride, int srcStride)
 
static void avg_h264_qpel16_v_lowpass_lasx (uint8_t *dst, const uint8_t *src, int dstStride, int srcStride)
 
static void put_h264_qpel16_hv_lowpass_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
static void avg_h264_qpel16_hv_lowpass_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
 
void ff_put_h264_qpel8_mc00_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc10_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc20_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc30_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc01_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc11_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc21_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc31_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc02_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc12_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc22_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc32_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc03_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc13_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc23_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel8_mc33_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc00_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc10_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc20_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc30_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc11_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc21_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc31_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc02_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc12_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc22_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc32_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc13_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc23_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel8_mc33_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc00_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc10_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc20_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc30_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc01_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc11_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc21_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc31_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc02_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc12_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc22_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc32_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc03_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc13_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc23_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_put_h264_qpel16_mc33_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc00_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc10_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc20_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc30_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc01_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc11_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc21_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc31_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc02_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc12_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc22_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc32_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc03_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc13_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc23_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 
void ff_avg_h264_qpel16_mc33_lasx (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 

Variables

static const uint8_t luma_mask_arr [16 *6]
 

Macro Definition Documentation

◆ AVC_HORZ_FILTER_SH

#define AVC_HORZ_FILTER_SH (   in0,
  in1,
  mask0,
  mask1,
  mask2 
)
Value:
( { \
__m256i out0_m; \
__m256i tmp0_m; \
\
tmp0_m = __lasx_xvshuf_b(in1, in0, mask0); \
out0_m = __lasx_xvhaddw_h_b(tmp0_m, tmp0_m); \
tmp0_m = __lasx_xvshuf_b(in1, in0, mask1); \
out0_m = __lasx_xvdp2add_h_b(out0_m, minus5b, tmp0_m); \
tmp0_m = __lasx_xvshuf_b(in1, in0, mask2); \
out0_m = __lasx_xvdp2add_h_b(out0_m, plus20b, tmp0_m); \
\
out0_m; \
} )

Definition at line 38 of file h264qpel_lasx.c.

◆ AVC_DOT_SH3_SH

#define AVC_DOT_SH3_SH (   in0,
  in1,
  in2,
  coeff0,
  coeff1,
  coeff2 
)
Value:
( { \
__m256i out0_m; \
\
out0_m = __lasx_xvdp2_h_b(in0, coeff0); \
DUP2_ARG3(__lasx_xvdp2add_h_b, out0_m, in1, coeff1, out0_m,\
in2, coeff2, out0_m, out0_m); \
\
out0_m; \
} )

Definition at line 53 of file h264qpel_lasx.c.

◆ QPEL8_H_LOWPASS

#define QPEL8_H_LOWPASS (   out_v)
Value:
src00 = __lasx_xvld(src, - 2); \
src += srcStride; \
src10 = __lasx_xvld(src, - 2); \
src += srcStride; \
src00 = __lasx_xvpermi_q(src00, src10, 0x02); \
src01 = __lasx_xvshuf_b(src00, src00, (__m256i)mask1); \
src02 = __lasx_xvshuf_b(src00, src00, (__m256i)mask2); \
src03 = __lasx_xvshuf_b(src00, src00, (__m256i)mask3); \
src04 = __lasx_xvshuf_b(src00, src00, (__m256i)mask4); \
src05 = __lasx_xvshuf_b(src00, src00, (__m256i)mask5); \
DUP2_ARG2(__lasx_xvaddwl_h_bu, src02, src03, src01, src04, src02, src01);\
src00 = __lasx_xvaddwl_h_bu(src00, src05); \
src02 = __lasx_xvmul_h(src02, h_20); \
src01 = __lasx_xvmul_h(src01, h_5); \
src02 = __lasx_xvssub_h(src02, src01); \
src02 = __lasx_xvsadd_h(src02, src00); \
src02 = __lasx_xvsadd_h(src02, h_16); \
out_v = __lasx_xvssrani_bu_h(src02, src02, 5); \

Definition at line 980 of file h264qpel_lasx.c.

◆ QPEL8_V_LOWPASS

#define QPEL8_V_LOWPASS (   src0,
  src1,
  src2,
  src3,
  src4,
  src5,
  src6,
  tmp0,
  tmp1,
  tmp2,
  tmp3,
  tmp4,
  tmp5 
)
Value:
{ \
tmp0 = __lasx_xvpermi_q(src0, src1, 0x02); \
tmp1 = __lasx_xvpermi_q(src1, src2, 0x02); \
tmp2 = __lasx_xvpermi_q(src2, src3, 0x02); \
tmp3 = __lasx_xvpermi_q(src3, src4, 0x02); \
tmp4 = __lasx_xvpermi_q(src4, src5, 0x02); \
tmp5 = __lasx_xvpermi_q(src5, src6, 0x02); \
DUP2_ARG2(__lasx_xvaddwl_h_bu, tmp2, tmp3, tmp1, tmp4, tmp2, tmp1); \
tmp0 = __lasx_xvaddwl_h_bu(tmp0, tmp5); \
tmp2 = __lasx_xvmul_h(tmp2, h_20); \
tmp1 = __lasx_xvmul_h(tmp1, h_5); \
tmp2 = __lasx_xvssub_h(tmp2, tmp1); \
tmp2 = __lasx_xvsadd_h(tmp2, tmp0); \
tmp2 = __lasx_xvsadd_h(tmp2, h_16); \
tmp2 = __lasx_xvssrani_bu_h(tmp2, tmp2, 5); \
}

Definition at line 1033 of file h264qpel_lasx.c.

◆ QPEL8_HV_LOWPASS_H

#define QPEL8_HV_LOWPASS_H (   tmp)
Value:
{ \
src00 = __lasx_xvld(src, -2); \
src += srcStride; \
src10 = __lasx_xvld(src, -2); \
src += srcStride; \
src00 = __lasx_xvpermi_q(src00, src10, 0x02); \
src01 = __lasx_xvshuf_b(src00, src00, (__m256i)mask1); \
src02 = __lasx_xvshuf_b(src00, src00, (__m256i)mask2); \
src03 = __lasx_xvshuf_b(src00, src00, (__m256i)mask3); \
src04 = __lasx_xvshuf_b(src00, src00, (__m256i)mask4); \
src05 = __lasx_xvshuf_b(src00, src00, (__m256i)mask5); \
DUP2_ARG2(__lasx_xvaddwl_h_bu, src02, src03, src01, src04, src02, src01);\
src00 = __lasx_xvaddwl_h_bu(src00, src05); \
src02 = __lasx_xvmul_h(src02, h_20); \
src01 = __lasx_xvmul_h(src01, h_5); \
src02 = __lasx_xvssub_h(src02, src01); \
tmp = __lasx_xvsadd_h(src02, src00); \
}

Definition at line 1168 of file h264qpel_lasx.c.

◆ QPEL8_HV_LOWPASS_V

#define QPEL8_HV_LOWPASS_V (   src0,
  src1,
  src2,
  src3,
  src4,
  src5,
  temp0,
  temp1,
  temp2,
  temp3,
  temp4,
  temp5,
  out 
)
Value:
{ \
DUP2_ARG2(__lasx_xvaddwl_w_h, src2, src3, src1, src4, temp0, temp2); \
DUP2_ARG2(__lasx_xvaddwh_w_h, src2, src3, src1, src4, temp1, temp3); \
temp4 = __lasx_xvaddwl_w_h(src0, src5); \
temp5 = __lasx_xvaddwh_w_h(src0, src5); \
temp0 = __lasx_xvmul_w(temp0, w_20); \
temp1 = __lasx_xvmul_w(temp1, w_20); \
temp2 = __lasx_xvmul_w(temp2, w_5); \
temp3 = __lasx_xvmul_w(temp3, w_5); \
temp0 = __lasx_xvssub_w(temp0, temp2); \
temp1 = __lasx_xvssub_w(temp1, temp3); \
temp0 = __lasx_xvsadd_w(temp0, temp4); \
temp1 = __lasx_xvsadd_w(temp1, temp5); \
temp0 = __lasx_xvsadd_w(temp0, w_512); \
temp1 = __lasx_xvsadd_w(temp1, w_512); \
temp0 = __lasx_xvssrani_hu_w(temp0, temp0, 10); \
temp1 = __lasx_xvssrani_hu_w(temp1, temp1, 10); \
temp0 = __lasx_xvpackev_d(temp1, temp0); \
out = __lasx_xvssrani_bu_h(temp0, temp0, 0); \
}

Definition at line 1188 of file h264qpel_lasx.c.

Function Documentation

◆ avc_luma_hv_qrt_and_aver_dst_16x16_lasx()

static av_always_inline void avc_luma_hv_qrt_and_aver_dst_16x16_lasx ( uint8_t *  src_x,
uint8_t *  src_y,
uint8_t *  dst,
ptrdiff_t  stride 
)
static

◆ avc_luma_hv_qrt_16x16_lasx()

static av_always_inline void avc_luma_hv_qrt_16x16_lasx ( uint8_t *  src_x,
uint8_t *  src_y,
uint8_t *  dst,
ptrdiff_t  stride 
)
static

◆ put_pixels8_8_inline_asm()

static av_always_inline void put_pixels8_8_inline_asm ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)
static

Definition at line 317 of file h264qpel_lasx.c.

Referenced by ff_put_h264_qpel8_mc00_lasx().

◆ avg_pixels8_8_lsx()

static av_always_inline void avg_pixels8_8_lsx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)
static

Definition at line 360 of file h264qpel_lasx.c.

Referenced by ff_avg_h264_qpel8_mc00_lasx().

◆ put_pixels8_l2_8_lsx()

static av_always_inline void put_pixels8_l2_8_lsx ( uint8_t *  dst,
const uint8_t *  src,
const uint8_t *  half,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

◆ avg_pixels8_l2_8_lsx()

static av_always_inline void avg_pixels8_l2_8_lsx ( uint8_t *  dst,
const uint8_t *  src,
const uint8_t *  half,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

◆ put_pixels16_8_lsx()

static av_always_inline void put_pixels16_8_lsx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)
static

Definition at line 574 of file h264qpel_lasx.c.

Referenced by ff_put_h264_qpel16_mc00_lasx().

◆ avg_pixels16_8_lsx()

static av_always_inline void avg_pixels16_8_lsx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)
static

Definition at line 634 of file h264qpel_lasx.c.

Referenced by ff_avg_h264_qpel16_mc00_lasx().

◆ put_pixels16_l2_8_lsx()

static av_always_inline void put_pixels16_l2_8_lsx ( uint8_t *  dst,
const uint8_t *  src,
uint8_t *  half,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

◆ avg_pixels16_l2_8_lsx()

static av_always_inline void avg_pixels16_l2_8_lsx ( uint8_t *  dst,
const uint8_t *  src,
uint8_t *  half,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

◆ put_h264_qpel8_h_lowpass_lasx()

static av_always_inline void put_h264_qpel8_h_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

◆ put_h264_qpel8_v_lowpass_lasx()

static av_always_inline void put_h264_qpel8_v_lowpass_lasx ( uint8_t *  dst,
uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

◆ avg_h264_qpel8_v_lowpass_lasx()

static av_always_inline void avg_h264_qpel8_v_lowpass_lasx ( uint8_t *  dst,
uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

◆ put_h264_qpel8_hv_lowpass_lasx()

static av_always_inline void put_h264_qpel8_hv_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

◆ avg_h264_qpel8_h_lowpass_lasx()

static av_always_inline void avg_h264_qpel8_h_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

◆ avg_h264_qpel8_hv_lowpass_lasx()

static av_always_inline void avg_h264_qpel8_hv_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

◆ put_h264_qpel16_h_lowpass_lasx()

static av_always_inline void put_h264_qpel16_h_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

◆ avg_h264_qpel16_h_lowpass_lasx()

static av_always_inline void avg_h264_qpel16_h_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

Definition at line 1414 of file h264qpel_lasx.c.

Referenced by ff_avg_h264_qpel16_mc20_lasx().

◆ put_h264_qpel16_v_lowpass_lasx()

static void put_h264_qpel16_v_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

◆ avg_h264_qpel16_v_lowpass_lasx()

static void avg_h264_qpel16_v_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
int  dstStride,
int  srcStride 
)
static

Definition at line 1436 of file h264qpel_lasx.c.

Referenced by ff_avg_h264_qpel16_mc02_lasx().

◆ put_h264_qpel16_hv_lowpass_lasx()

static void put_h264_qpel16_hv_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

◆ avg_h264_qpel16_hv_lowpass_lasx()

static void avg_h264_qpel16_hv_lowpass_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  dstStride,
ptrdiff_t  srcStride 
)
static

Definition at line 1458 of file h264qpel_lasx.c.

Referenced by ff_avg_h264_qpel16_mc22_lasx().

◆ ff_put_h264_qpel8_mc00_lasx()

void ff_put_h264_qpel8_mc00_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1469 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc10_lasx()

void ff_put_h264_qpel8_mc10_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1477 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc20_lasx()

void ff_put_h264_qpel8_mc20_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1487 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc30_lasx()

void ff_put_h264_qpel8_mc30_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1493 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc01_lasx()

void ff_put_h264_qpel8_mc01_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1502 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc11_lasx()

void ff_put_h264_qpel8_mc11_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1511 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc21_lasx()

void ff_put_h264_qpel8_mc21_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1522 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc31_lasx()

void ff_put_h264_qpel8_mc31_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1534 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc02_lasx()

void ff_put_h264_qpel8_mc02_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1545 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc12_lasx()

void ff_put_h264_qpel8_mc12_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1551 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc22_lasx()

void ff_put_h264_qpel8_mc22_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1563 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc32_lasx()

void ff_put_h264_qpel8_mc32_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1569 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc03_lasx()

void ff_put_h264_qpel8_mc03_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1581 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc13_lasx()

void ff_put_h264_qpel8_mc13_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1590 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc23_lasx()

void ff_put_h264_qpel8_mc23_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1601 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel8_mc33_lasx()

void ff_put_h264_qpel8_mc33_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1613 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc00_lasx()

void ff_avg_h264_qpel8_mc00_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1624 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc10_lasx()

void ff_avg_h264_qpel8_mc10_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1632 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc20_lasx()

void ff_avg_h264_qpel8_mc20_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1641 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc30_lasx()

void ff_avg_h264_qpel8_mc30_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1647 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc11_lasx()

void ff_avg_h264_qpel8_mc11_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1656 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc21_lasx()

void ff_avg_h264_qpel8_mc21_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1667 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc31_lasx()

void ff_avg_h264_qpel8_mc31_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1679 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc02_lasx()

void ff_avg_h264_qpel8_mc02_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1690 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc12_lasx()

void ff_avg_h264_qpel8_mc12_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1696 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc22_lasx()

void ff_avg_h264_qpel8_mc22_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1708 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc32_lasx()

void ff_avg_h264_qpel8_mc32_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1714 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc13_lasx()

void ff_avg_h264_qpel8_mc13_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1726 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc23_lasx()

void ff_avg_h264_qpel8_mc23_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1737 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel8_mc33_lasx()

void ff_avg_h264_qpel8_mc33_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1749 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc00_lasx()

void ff_put_h264_qpel16_mc00_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1760 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc10_lasx()

void ff_put_h264_qpel16_mc10_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1768 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc20_lasx()

void ff_put_h264_qpel16_mc20_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1777 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc30_lasx()

void ff_put_h264_qpel16_mc30_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1783 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc01_lasx()

void ff_put_h264_qpel16_mc01_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1792 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc11_lasx()

void ff_put_h264_qpel16_mc11_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1801 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc21_lasx()

void ff_put_h264_qpel16_mc21_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1808 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc31_lasx()

void ff_put_h264_qpel16_mc31_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1820 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc02_lasx()

void ff_put_h264_qpel16_mc02_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1827 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc12_lasx()

void ff_put_h264_qpel16_mc12_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1833 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc22_lasx()

void ff_put_h264_qpel16_mc22_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1845 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc32_lasx()

void ff_put_h264_qpel16_mc32_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1851 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc03_lasx()

void ff_put_h264_qpel16_mc03_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1863 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc13_lasx()

void ff_put_h264_qpel16_mc13_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1872 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc23_lasx()

void ff_put_h264_qpel16_mc23_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1879 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_put_h264_qpel16_mc33_lasx()

void ff_put_h264_qpel16_mc33_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1891 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc00_lasx()

void ff_avg_h264_qpel16_mc00_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1898 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc10_lasx()

void ff_avg_h264_qpel16_mc10_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1906 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc20_lasx()

void ff_avg_h264_qpel16_mc20_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1915 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc30_lasx()

void ff_avg_h264_qpel16_mc30_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1921 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc01_lasx()

void ff_avg_h264_qpel16_mc01_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1930 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc11_lasx()

void ff_avg_h264_qpel16_mc11_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1939 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc21_lasx()

void ff_avg_h264_qpel16_mc21_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1947 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc31_lasx()

void ff_avg_h264_qpel16_mc31_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1959 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc02_lasx()

void ff_avg_h264_qpel16_mc02_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1967 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc12_lasx()

void ff_avg_h264_qpel16_mc12_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1973 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc22_lasx()

void ff_avg_h264_qpel16_mc22_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1985 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc32_lasx()

void ff_avg_h264_qpel16_mc32_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 1991 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc03_lasx()

void ff_avg_h264_qpel16_mc03_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 2003 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc13_lasx()

void ff_avg_h264_qpel16_mc13_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 2012 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc23_lasx()

void ff_avg_h264_qpel16_mc23_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 2020 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

◆ ff_avg_h264_qpel16_mc33_lasx()

void ff_avg_h264_qpel16_mc33_lasx ( uint8_t *  dst,
const uint8_t *  src,
ptrdiff_t  stride 
)

Definition at line 2032 of file h264qpel_lasx.c.

Referenced by ff_h264qpel_init_loongarch().

Variable Documentation

◆ luma_mask_arr

const uint8_t luma_mask_arr[16 *6]
static
Initial value:
= {
0, 5, 1, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12,
0, 5, 1, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12,
1, 4, 2, 5, 3, 6, 4, 7, 5, 8, 6, 9, 7, 10, 8, 11,
1, 4, 2, 5, 3, 6, 4, 7, 5, 8, 6, 9, 7, 10, 8, 11,
2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10,
2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10
}

Definition at line 28 of file h264qpel_lasx.c.

Referenced by avc_luma_hv_qrt_16x16_lasx(), and avc_luma_hv_qrt_and_aver_dst_16x16_lasx().

src
#define src
Definition: vp8dsp.c:255
src0
#define src0
Definition: h264pred.c:139
src1
#define src1
Definition: h264pred.c:140