FFmpeg
Macros | Functions
h264idct_lasx.c File Reference
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "h264dsp_lasx.h"
#include "libavcodec/bit_depth_template.c"

Go to the source code of this file.

Macros

#define AVC_ITRANS_H(in0, in1, in2, in3, out0, out1, out2, out3)
 
#define DC_DEST_STRIDE   16
 

Functions

void ff_h264_idct_add_lasx (uint8_t *dst, int16_t *src, int32_t dst_stride)
 
void ff_h264_idct8_addblk_lasx (uint8_t *dst, int16_t *src, int32_t dst_stride)
 
void ff_h264_idct4x4_addblk_dc_lasx (uint8_t *dst, int16_t *src, int32_t dst_stride)
 
void ff_h264_idct8_dc_addblk_lasx (uint8_t *dst, int16_t *src, int32_t dst_stride)
 
void ff_h264_idct_add16_lasx (uint8_t *dst, const int32_t *blk_offset, int16_t *block, int32_t dst_stride, const uint8_t nzc[15 *8])
 
void ff_h264_idct8_add4_lasx (uint8_t *dst, const int32_t *blk_offset, int16_t *block, int32_t dst_stride, const uint8_t nzc[15 *8])
 
void ff_h264_idct_add8_lasx (uint8_t **dst, const int32_t *blk_offset, int16_t *block, int32_t dst_stride, const uint8_t nzc[15 *8])
 
void ff_h264_idct_add8_422_lasx (uint8_t **dst, const int32_t *blk_offset, int16_t *block, int32_t dst_stride, const uint8_t nzc[15 *8])
 
void ff_h264_idct_add16_intra_lasx (uint8_t *dst, const int32_t *blk_offset, int16_t *block, int32_t dst_stride, const uint8_t nzc[15 *8])
 
void ff_h264_deq_idct_luma_dc_lasx (int16_t *dst, int16_t *src, int32_t de_qval)
 

Macro Definition Documentation

◆ AVC_ITRANS_H

#define AVC_ITRANS_H (   in0,
  in1,
  in2,
  in3,
  out0,
  out1,
  out2,
  out3 
)
Value:
{ \
__m256i tmp0_m, tmp1_m, tmp2_m, tmp3_m; \
\
tmp0_m = __lasx_xvadd_h(in0, in2); \
tmp1_m = __lasx_xvsub_h(in0, in2); \
tmp2_m = __lasx_xvsrai_h(in1, 1); \
tmp2_m = __lasx_xvsub_h(tmp2_m, in3); \
tmp3_m = __lasx_xvsrai_h(in3, 1); \
tmp3_m = __lasx_xvadd_h(in1, tmp3_m); \
\
LASX_BUTTERFLY_4_H(tmp0_m, tmp1_m, tmp2_m, tmp3_m, \
out0, out1, out2, out3); \
}

Definition at line 29 of file h264idct_lasx.c.

◆ DC_DEST_STRIDE

#define DC_DEST_STRIDE   16

Function Documentation

◆ ff_h264_idct_add_lasx()

void ff_h264_idct_add_lasx ( uint8_t *  dst,
int16_t *  src,
int32_t  dst_stride 
)

◆ ff_h264_idct8_addblk_lasx()

void ff_h264_idct8_addblk_lasx ( uint8_t *  dst,
int16_t *  src,
int32_t  dst_stride 
)

Definition at line 80 of file h264idct_lasx.c.

Referenced by ff_h264_idct8_add4_lasx(), and ff_h264dsp_init_loongarch().

◆ ff_h264_idct4x4_addblk_dc_lasx()

void ff_h264_idct4x4_addblk_dc_lasx ( uint8_t *  dst,
int16_t *  src,
int32_t  dst_stride 
)

◆ ff_h264_idct8_dc_addblk_lasx()

void ff_h264_idct8_dc_addblk_lasx ( uint8_t *  dst,
int16_t *  src,
int32_t  dst_stride 
)

Definition at line 259 of file h264idct_lasx.c.

Referenced by ff_h264_idct8_add4_lasx(), and ff_h264dsp_init_loongarch().

◆ ff_h264_idct_add16_lasx()

void ff_h264_idct_add16_lasx ( uint8_t *  dst,
const int32_t blk_offset,
int16_t *  block,
int32_t  dst_stride,
const uint8_t  nzc[15 *8] 
)

Definition at line 304 of file h264idct_lasx.c.

Referenced by ff_h264dsp_init_loongarch().

◆ ff_h264_idct8_add4_lasx()

void ff_h264_idct8_add4_lasx ( uint8_t *  dst,
const int32_t blk_offset,
int16_t *  block,
int32_t  dst_stride,
const uint8_t  nzc[15 *8] 
)

Definition at line 327 of file h264idct_lasx.c.

Referenced by ff_h264dsp_init_loongarch().

◆ ff_h264_idct_add8_lasx()

void ff_h264_idct_add8_lasx ( uint8_t **  dst,
const int32_t blk_offset,
int16_t *  block,
int32_t  dst_stride,
const uint8_t  nzc[15 *8] 
)

Definition at line 350 of file h264idct_lasx.c.

Referenced by ff_h264dsp_init_loongarch().

◆ ff_h264_idct_add8_422_lasx()

void ff_h264_idct_add8_422_lasx ( uint8_t **  dst,
const int32_t blk_offset,
int16_t *  block,
int32_t  dst_stride,
const uint8_t  nzc[15 *8] 
)

Definition at line 379 of file h264idct_lasx.c.

Referenced by ff_h264dsp_init_loongarch().

◆ ff_h264_idct_add16_intra_lasx()

void ff_h264_idct_add16_intra_lasx ( uint8_t *  dst,
const int32_t blk_offset,
int16_t *  block,
int32_t  dst_stride,
const uint8_t  nzc[15 *8] 
)

Definition at line 428 of file h264idct_lasx.c.

Referenced by ff_h264dsp_init_loongarch().

◆ ff_h264_deq_idct_luma_dc_lasx()

void ff_h264_deq_idct_luma_dc_lasx ( int16_t *  dst,
int16_t *  src,
int32_t  de_qval 
)

Definition at line 447 of file h264idct_lasx.c.

Referenced by ff_h264dsp_init_loongarch().