@ -48,14 +48,14 @@ static void hevc_copy_4w_lsx(const uint8_t *src, int32_t src_stride,
__m128i in0 , in1 , in2 , in3 ;
for ( ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x ,
src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x ,
src5 , src6 ) ;
src7 = LSX_VLDX ( src , src_stride_3x ) ;
src7 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvl_w , src1 , src0 , src3 , src2 , src5 , src4 , src7 , src6 ,
@ -98,12 +98,12 @@ static void hevc_copy_6w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 3 ) ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src7 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src7 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vsllwil_hu_bu , src0 , 6 , src1 , 6 , src2 , 6 , src3 , 6 ,
@ -163,14 +163,14 @@ static void hevc_copy_8w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 3 ) ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x ,
src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x ,
src5 , src6 ) ;
src7 = LSX_VLDX ( src , src_stride_3x ) ;
src7 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vsllwil_hu_bu , src0 , 6 , src1 , 6 , src2 , 6 , src3 , 6 ,
@ -215,12 +215,12 @@ static void hevc_copy_12w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 3 ) ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src7 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src7 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vsllwil_hu_bu , src0 , 6 , src1 , 6 , src2 , 6 , src3 , 6 ,
@ -288,14 +288,14 @@ static void hevc_copy_16w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 3 ) ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x ,
src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x ,
src5 , src6 ) ;
src7 = LSX_VLDX ( src , src_stride_3x ) ;
src7 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvh_b , zero , src0 , zero , src1 , zero , src2 , zero , src3 ,
in0_l , in1_l , in2_l , in3_l ) ;
@ -333,8 +333,8 @@ static void hevc_copy_16w_lsx(const uint8_t *src, int32_t src_stride,
}
if ( res ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
DUP4_ARG2 ( __lsx_vilvh_b , zero , src0 , zero , src1 , zero , src2 , zero , src3 ,
in0_l , in1_l , in2_l , in3_l ) ;
@ -373,13 +373,13 @@ static void hevc_copy_24w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( _src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , _src , src_stride , _src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , _src , src_stride , _src , src_stride_2x ,
src5 , src6 ) ;
src7 = LSX_VLDX ( _src , src_stride_3x ) ;
src7 = __lsx_vldx ( _src , src_stride_3x ) ;
_src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvh_b , zero , src0 , zero , src1 , zero , src2 , zero ,
@ -423,13 +423,13 @@ static void hevc_copy_32w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src2 , src4 ) ;
src6 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src2 , src4 ) ;
src6 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src1 = __lsx_vld ( _src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , _src , src_stride , _src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , _src , src_stride , _src , src_stride_2x ,
src3 , src5 ) ;
src7 = LSX_VLDX ( _src , src_stride_3x ) ;
src7 = __lsx_vldx ( _src , src_stride_3x ) ;
_src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvh_b , zero , src0 , zero , src1 , zero , src2 , zero ,
@ -623,12 +623,12 @@ static void hevc_hz_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
for ( ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src7 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src7 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG3 ( __lsx_vshuf_b , src1 , src0 , mask0 , src1 , src0 , mask1 , src1 ,
src0 , mask2 , src1 , src0 , mask3 , vec0 , vec1 , vec2 , vec3 ) ;
@ -668,7 +668,7 @@ static void hevc_hz_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
}
for ( ; res - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
src1 = LSX_VLDX ( src , src_stride ) ;
src1 = __lsx_vldx ( src , src_stride ) ;
DUP4_ARG3 ( __lsx_vshuf_b , src1 , src0 , mask0 , src1 , src0 , mask1 , src1 ,
src0 , mask2 , src1 , src0 , mask3 , vec0 , vec1 , vec2 , vec3 ) ;
dst0 = __lsx_vdp2_h_bu_b ( vec0 , filt0 ) ;
@ -709,8 +709,8 @@ static void hevc_hz_8t_8w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG3 ( __lsx_vshuf_b , src0 , src0 , mask0 , src0 , src0 , mask1 , src0 ,
@ -774,12 +774,12 @@ static void hevc_hz_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = 4 ; loop_cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src4 = __lsx_vld ( _src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , _src , src_stride , _src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , _src , src_stride , _src , src_stride_2x ,
src5 , src6 ) ;
src7 = LSX_VLDX ( _src , src_stride_3x ) ;
src7 = __lsx_vldx ( _src , src_stride_3x ) ;
src + = src_stride_4x ;
_src + = src_stride_4x ;
@ -1216,11 +1216,11 @@ static void hevc_vt_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
filt0 , filt1 , filt2 , filt3 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src + = src_stride_3x ;
DUP4_ARG2 ( __lsx_vilvl_b , src1 , src0 , src3 , src2 , src5 , src4 , src2 , src1 ,
src10_r , src32_r , src54_r , src21_r ) ;
@ -1231,13 +1231,13 @@ static void hevc_vt_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 3 ) ; loop_cnt - - ; ) {
src7 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src11 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x ,
src12 , src13 ) ;
src14 = LSX_VLDX ( src , src_stride_3x ) ;
src14 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvl_b , src7 , src6 , src8 , src7 , src9 , src8 , src10 , src9 ,
@ -1289,7 +1289,7 @@ static void hevc_vt_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
}
for ( ; res - - ; ) {
src7 = __lsx_vld ( src , 0 ) ;
src8 = LSX_VLDX ( src , src_stride ) ;
src8 = __lsx_vldx ( src , src_stride ) ;
DUP2_ARG2 ( __lsx_vilvl_b , src7 , src6 , src8 , src7 , src76_r , src87_r ) ;
src + = src_stride_2x ;
src8776 = __lsx_vilvl_d ( src87_r , src76_r ) ;
@ -1334,11 +1334,11 @@ static void hevc_vt_8t_8w_lsx(const uint8_t *src, int32_t src_stride,
filt0 , filt1 , filt2 , filt3 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src + = src_stride_3x ;
DUP4_ARG2 ( __lsx_vilvl_b , src1 , src0 , src3 , src2 , src5 , src4 , src2 , src1 ,
src10_r , src32_r , src54_r , src21_r ) ;
@ -1346,8 +1346,8 @@ static void hevc_vt_8t_8w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
src7 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvl_b , src7 , src6 , src8 , src7 , src9 , src8 , src10 ,
src9 , src76_r , src87_r , src98_r , src109_r ) ;
@ -1408,11 +1408,11 @@ static void hevc_vt_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
DUP4_ARG2 ( __lsx_vldrepl_h , filter , 0 , filter , 2 , filter , 4 , filter , 6 ,
filt0 , filt1 , filt2 , filt3 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src + = src_stride_3x ;
DUP4_ARG2 ( __lsx_vilvl_b , src1 , src0 , src3 , src2 , src5 , src4 , src2 , src1 ,
src10_r , src32_r , src54_r , src21_r ) ;
@ -1426,8 +1426,8 @@ static void hevc_vt_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
src7 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvl_b , src7 , src6 , src8 , src7 , src9 , src8 , src10 ,
src9 , src76_r , src87_r , src98_r , src109_r ) ;
@ -1520,12 +1520,12 @@ static void hevc_vt_8t_16multx4mult_lsx(const uint8_t *src,
dst_tmp = dst ;
src0 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src1 , src2 ) ;
src3 = LSX_VLDX ( src_tmp , src_stride_3x ) ;
src3 = __lsx_vldx ( src_tmp , src_stride_3x ) ;
src_tmp + = src_stride_4x ;
src4 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src5 , src6 ) ;
src_tmp + = src_stride_3x ;
DUP4_ARG2 ( __lsx_vilvl_b , src1 , src0 , src3 , src2 , src5 , src4 , src2 , src1 ,
@ -1537,9 +1537,9 @@ static void hevc_vt_8t_16multx4mult_lsx(const uint8_t *src,
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
src7 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src8 , src9 ) ;
src10 = LSX_VLDX ( src_tmp , src_stride_3x ) ;
src10 = __lsx_vldx ( src_tmp , src_stride_3x ) ;
src_tmp + = src_stride_4x ;
DUP4_ARG2 ( __lsx_vilvl_b , src7 , src6 , src8 , src7 , src9 , src8 ,
src10 , src9 , src76_r , src87_r , src98_r , src109_r ) ;
@ -1689,11 +1689,11 @@ static void hevc_hv_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
mask3 = __lsx_vaddi_bu ( mask0 , 6 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src + = src_stride_3x ;
DUP4_ARG3 ( __lsx_vshuf_b , src3 , src0 , mask0 , src3 , src0 , mask1 , src3 , src0 ,
@ -1729,8 +1729,8 @@ static void hevc_hv_8t_4w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = height > > 2 ; loop_cnt - - ; ) {
src7 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG3 ( __lsx_vshuf_b , src9 , src7 , mask0 , src9 , src7 , mask1 , src9 , src7 ,
@ -1830,12 +1830,12 @@ static void hevc_hv_8t_8multx1mult_lsx(const uint8_t *src,
src_tmp = src ;
dst_tmp = dst ;
src0 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src1 , src2 ) ;
src3 = LSX_VLDX ( src_tmp , src_stride_3x ) ;
src3 = __lsx_vldx ( src_tmp , src_stride_3x ) ;
src_tmp + = src_stride_4x ;
src4 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src5 , src6 ) ;
src_tmp + = src_stride_3x ;
@ -1978,12 +1978,12 @@ static void hevc_hv_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
dst_tmp = dst ;
src0 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src1 , src2 ) ;
src3 = LSX_VLDX ( src_tmp , src_stride_3x ) ;
src3 = __lsx_vldx ( src_tmp , src_stride_3x ) ;
src_tmp + = src_stride_4x ;
src4 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src5 , src6 ) ;
src_tmp + = src_stride_3x ;
@ -2077,11 +2077,11 @@ static void hevc_hv_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
mask7 = __lsx_vaddi_bu ( mask4 , 6 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src4 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src + = src_stride_3x ;
DUP4_ARG3 ( __lsx_vshuf_b , src3 , src0 , mask4 , src3 , src0 , mask5 , src3 , src0 ,
@ -2118,8 +2118,8 @@ static void hevc_hv_8t_12w_lsx(const uint8_t *src, int32_t src_stride,
for ( loop_cnt = height > > 2 ; loop_cnt - - ; ) {
src7 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP4_ARG3 ( __lsx_vshuf_b , src9 , src7 , mask4 , src9 , src7 , mask5 , src9 ,
@ -2285,14 +2285,14 @@ static void hevc_vt_4t_16w_lsx(const uint8_t *src,
DUP2_ARG2 ( __lsx_vldrepl_h , filter , 0 , filter , 2 , filt0 , filt1 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src + = src_stride_3x ;
DUP2_ARG2 ( __lsx_vilvl_b , src1 , src0 , src2 , src1 , src10_r , src21_r ) ;
DUP2_ARG2 ( __lsx_vilvh_b , src1 , src0 , src2 , src1 , src10_l , src21_l ) ;
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
src3 = __lsx_vld ( src , 0 ) ;
src4 = LSX_VLDX ( src , src_stride ) ;
src4 = __lsx_vldx ( src , src_stride ) ;
src + = src_stride_2x ;
DUP2_ARG2 ( __lsx_vilvl_b , src3 , src2 , src4 , src3 , src32_r , src43_r ) ;
DUP2_ARG2 ( __lsx_vilvh_b , src3 , src2 , src4 , src3 , src32_l , src43_l ) ;
@ -2309,7 +2309,7 @@ static void hevc_vt_4t_16w_lsx(const uint8_t *src,
dst + = dst_stride ;
src5 = __lsx_vld ( src , 0 ) ;
src2 = LSX_VLDX ( src , src_stride ) ;
src2 = __lsx_vldx ( src , src_stride ) ;
src + = src_stride_2x ;
DUP2_ARG2 ( __lsx_vilvl_b , src5 , src4 , src2 , src5 , src10_r , src21_r ) ;
DUP2_ARG2 ( __lsx_vilvh_b , src5 , src4 , src2 , src5 , src10_l , src21_l ) ;
@ -2353,19 +2353,19 @@ static void hevc_vt_4t_24w_lsx(const uint8_t *src,
DUP2_ARG2 ( __lsx_vldrepl_h , filter , 0 , filter , 2 , filt0 , filt1 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
DUP2_ARG2 ( __lsx_vilvl_b , src1 , src0 , src2 , src1 , src10_r , src21_r ) ;
DUP2_ARG2 ( __lsx_vilvh_b , src1 , src0 , src2 , src1 , src10_l , src21_l ) ;
src6 = __lsx_vld ( _src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , _src , src_stride , _src , src_stride_2x , src7 , src8 ) ;
DUP2_ARG2 ( __lsx_vldx , _src , src_stride , _src , src_stride_2x , src7 , src8 ) ;
src + = src_stride_3x ;
_src + = src_stride_3x ;
DUP2_ARG2 ( __lsx_vilvl_b , src7 , src6 , src8 , src7 , src76_r , src87_r ) ;
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
DUP2_ARG2 ( __lsx_vld , src , 0 , _src , 0 , src3 , src9 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , _src , src_stride , src4 , src10 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , _src , src_stride , src4 , src10 ) ;
src + = src_stride_2x ;
_src + = src_stride_2x ;
DUP2_ARG2 ( __lsx_vilvl_b , src3 , src2 , src4 , src3 , src32_r , src43_r ) ;
@ -2392,7 +2392,7 @@ static void hevc_vt_4t_24w_lsx(const uint8_t *src,
dst + = dst_stride ;
DUP2_ARG2 ( __lsx_vld , src , 0 , _src , 0 , src5 , src11 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , _src , src_stride , src2 , src8 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , _src , src_stride , src2 , src8 ) ;
src + = src_stride_2x ;
_src + = src_stride_2x ;
DUP2_ARG2 ( __lsx_vilvl_b , src5 , src4 , src2 , src5 , src10_r , src21_r ) ;
@ -2448,12 +2448,12 @@ static void hevc_vt_4t_32w_lsx(const uint8_t *src,
DUP2_ARG2 ( __lsx_vldrepl_h , filter , 0 , filter , 2 , filt0 , filt1 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
DUP2_ARG2 ( __lsx_vilvl_b , src1 , src0 , src2 , src1 , src10_r , src21_r ) ;
DUP2_ARG2 ( __lsx_vilvh_b , src1 , src0 , src2 , src1 , src10_l , src21_l ) ;
src6 = __lsx_vld ( _src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , _src , src_stride , _src , src_stride_2x , src7 , src8 ) ;
DUP2_ARG2 ( __lsx_vldx , _src , src_stride , _src , src_stride_2x , src7 , src8 ) ;
src + = src_stride_3x ;
_src + = src_stride_3x ;
DUP2_ARG2 ( __lsx_vilvl_b , src7 , src6 , src8 , src7 , src76_r , src87_r ) ;
@ -2461,7 +2461,7 @@ static void hevc_vt_4t_32w_lsx(const uint8_t *src,
for ( loop_cnt = ( height > > 2 ) ; loop_cnt - - ; ) {
DUP2_ARG2 ( __lsx_vld , src , 0 , _src , 0 , src3 , src9 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , _src , src_stride , src4 , src10 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , _src , src_stride , src4 , src10 ) ;
src + = src_stride_2x ;
_src + = src_stride_2x ;
DUP2_ARG2 ( __lsx_vilvl_b , src3 , src2 , src4 , src3 , src32_r , src43_r ) ;
@ -2493,7 +2493,7 @@ static void hevc_vt_4t_32w_lsx(const uint8_t *src,
dst + = dst_stride ;
DUP2_ARG2 ( __lsx_vld , src , 0 , _src , 0 , src5 , src11 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , _src , src_stride , src2 , src8 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , _src , src_stride , src2 , src8 ) ;
src + = src_stride_2x ;
_src + = src_stride_2x ;
DUP2_ARG2 ( __lsx_vilvl_b , src5 , src4 , src2 , src5 , src10_r , src21_r ) ;
@ -2560,9 +2560,9 @@ static void hevc_hv_4t_8x2_lsx(const uint8_t *src,
mask1 = __lsx_vaddi_bu ( mask0 , 2 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = LSX_VLDX ( src , src_stride_3x ) ;
src4 = LSX_VLDX ( src , src_stride_4x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src3 = __lsx_vldx ( src , src_stride_3x ) ;
src4 = __lsx_vldx ( src , src_stride_4x ) ;
DUP2_ARG3 ( __lsx_vshuf_b , src0 , src0 , mask0 , src0 , src0 , mask1 , vec0 , vec1 ) ;
DUP2_ARG3 ( __lsx_vshuf_b , src1 , src1 , mask0 , src1 , src1 , mask1 , vec2 , vec3 ) ;
@ -2627,10 +2627,10 @@ static void hevc_hv_4t_8multx4_lsx(const uint8_t *src, int32_t src_stride,
for ( cnt = width8mult ; cnt - - ; ) {
src0 = __lsx_vld ( src , 0 ) ;
DUP4_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src ,
DUP4_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src ,
src_stride_3x , src , src_stride_4x , src1 , src2 , src3 , src4 ) ;
src + = src_stride_4x ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src5 , src6 ) ;
src + = ( 8 - src_stride_4x ) ;
DUP2_ARG3 ( __lsx_vshuf_b , src0 , src0 , mask0 , src0 , src0 , mask1 ,
@ -2730,10 +2730,10 @@ static void hevc_hv_4t_8x6_lsx(const uint8_t *src,
mask1 = __lsx_vaddi_bu ( mask0 , 2 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP4_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src ,
DUP4_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src ,
src_stride_3x , src , src_stride_4x , src1 , src2 , src3 , src4 ) ;
src + = src_stride_4x ;
DUP4_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src ,
DUP4_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src ,
src_stride_3x , src , src_stride_4x , src5 , src6 , src7 , src8 ) ;
DUP4_ARG3 ( __lsx_vshuf_b , src0 , src0 , mask0 , src0 , src0 , mask1 , src1 , src1 ,
@ -2847,7 +2847,7 @@ static void hevc_hv_4t_8multx4mult_lsx(const uint8_t *src,
dst_tmp = dst ;
src0 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src1 , src2 ) ;
src_tmp + = src_stride_3x ;
@ -2869,9 +2869,9 @@ static void hevc_hv_4t_8multx4mult_lsx(const uint8_t *src,
for ( loop_cnt = height > > 2 ; loop_cnt - - ; ) {
src3 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src4 , src5 ) ;
src6 = LSX_VLDX ( src_tmp , src_stride_3x ) ;
src6 = __lsx_vldx ( src_tmp , src_stride_3x ) ;
src_tmp + = src_stride_4x ;
DUP2_ARG3 ( __lsx_vshuf_b , src3 , src3 , mask0 , src3 , src3 , mask1 ,
@ -2997,7 +2997,7 @@ static void hevc_hv_4t_12w_lsx(const uint8_t *src,
dst_tmp = dst ;
src0 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src1 , src2 ) ;
src_tmp + = src_stride_3x ;
@ -3016,9 +3016,9 @@ static void hevc_hv_4t_12w_lsx(const uint8_t *src,
for ( loop_cnt = 4 ; loop_cnt - - ; ) {
src3 = __lsx_vld ( src_tmp , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src_tmp , src_stride , src_tmp , src_stride_2x ,
DUP2_ARG2 ( __lsx_vldx , src_tmp , src_stride , src_tmp , src_stride_2x ,
src4 , src5 ) ;
src6 = LSX_VLDX ( src_tmp , src_stride_3x ) ;
src6 = __lsx_vldx ( src_tmp , src_stride_3x ) ;
src_tmp + = src_stride_4x ;
DUP2_ARG3 ( __lsx_vshuf_b , src3 , src3 , mask0 , src3 , src3 , mask1 ,
@ -3077,7 +3077,7 @@ static void hevc_hv_4t_12w_lsx(const uint8_t *src,
mask3 = __lsx_vaddi_bu ( mask2 , 2 ) ;
src0 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src1 , src2 ) ;
src + = src_stride_3x ;
DUP2_ARG3 ( __lsx_vshuf_b , src1 , src0 , mask2 , src1 , src0 , mask3 , vec0 , vec1 ) ;
DUP2_ARG3 ( __lsx_vshuf_b , src2 , src1 , mask2 , src2 , src1 , mask3 , vec2 , vec3 ) ;
@ -3090,12 +3090,12 @@ static void hevc_hv_4t_12w_lsx(const uint8_t *src,
for ( loop_cnt = 2 ; loop_cnt - - ; ) {
src3 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src4 , src5 ) ;
src6 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src4 , src5 ) ;
src6 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
src7 = __lsx_vld ( src , 0 ) ;
DUP2_ARG2 ( LSX_VLDX , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = LSX_VLDX ( src , src_stride_3x ) ;
DUP2_ARG2 ( __lsx_vldx , src , src_stride , src , src_stride_2x , src8 , src9 ) ;
src10 = __lsx_vldx ( src , src_stride_3x ) ;
src + = src_stride_4x ;
DUP2_ARG3 ( __lsx_vshuf_b , src7 , src3 , mask2 , src7 , src3 , mask3 ,
vec0 , vec1 ) ;