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

Go to the source code of this file.

Macros

#define LASX_TRANSPOSE4x16(in_0, in_1, in_2, in_3, out_0, out_1, out_2, out_3)
 
#define LASX_IDCTROWCONDDC
 
#define LASX_IDCTCOLS
 

Functions

void ff_simple_idct_lasx (int16_t *block)
 
void ff_simple_idct_put_lasx (uint8_t *dst, ptrdiff_t dst_stride, int16_t *block)
 
void ff_simple_idct_add_lasx (uint8_t *dst, ptrdiff_t dst_stride, int16_t *block)
 

Macro Definition Documentation

◆ LASX_TRANSPOSE4x16

#define LASX_TRANSPOSE4x16 ( in_0,
in_1,
in_2,
in_3,
out_0,
out_1,
out_2,
out_3 )
Value:
{ \
__m256i temp_0, temp_1, temp_2, temp_3; \
__m256i temp_4, temp_5, temp_6, temp_7; \
DUP4_ARG3(__lasx_xvpermi_q, in_2, in_0, 0x20, in_2, in_0, 0x31, in_3, in_1,\
0x20, in_3, in_1, 0x31, temp_0, temp_1, temp_2, temp_3); \
DUP2_ARG2(__lasx_xvilvl_h, temp_1, temp_0, temp_3, temp_2, temp_4, temp_6);\
DUP2_ARG2(__lasx_xvilvh_h, temp_1, temp_0, temp_3, temp_2, temp_5, temp_7);\
DUP2_ARG2(__lasx_xvilvl_w, temp_6, temp_4, temp_7, temp_5, out_0, out_2); \
DUP2_ARG2(__lasx_xvilvh_w, temp_6, temp_4, temp_7, temp_5, out_1, out_3); \
}
char out_2
Definition yuv2rgb.c:459
char out_1
Definition yuv2rgb.c:459

Definition at line 25 of file simple_idct_lasx.c.

◆ LASX_IDCTROWCONDDC

#define LASX_IDCTROWCONDDC

◆ LASX_IDCTCOLS

#define LASX_IDCTCOLS

Function Documentation

◆ ff_simple_idct_lasx()

void ff_simple_idct_lasx ( int16_t * block)

Definition at line 177 of file simple_idct_lasx.c.

Referenced by ff_idctdsp_init_loongarch().

◆ ff_simple_idct_put_lasx()

void ff_simple_idct_put_lasx ( uint8_t * dst,
ptrdiff_t dst_stride,
int16_t * block )

Definition at line 200 of file simple_idct_lasx.c.

Referenced by ff_idctdsp_init_loongarch().

◆ ff_simple_idct_add_lasx()

void ff_simple_idct_add_lasx ( uint8_t * dst,
ptrdiff_t dst_stride,
int16_t * block )

Definition at line 234 of file simple_idct_lasx.c.

Referenced by ff_idctdsp_init_loongarch().