FFmpeg
Macros | Functions
hevcdsp_lsx.h File Reference
#include "libavcodec/hevcdsp.h"

Go to the source code of this file.

Macros

#define MC(PEL, DIR, WIDTH)
 
#define BI_MC(PEL, DIR, WIDTH)
 
#define UNI_MC(PEL, DIR, WIDTH)
 
#define UNI_W_MC(PEL, DIR, WIDTH)
 

Functions

 MC (pel, pixels, 4)
 
 MC (pel, pixels, 6)
 
 MC (pel, pixels, 8)
 
 MC (pel, pixels, 12)
 
 MC (pel, pixels, 16)
 
 MC (pel, pixels, 24)
 
 MC (pel, pixels, 32)
 
 MC (pel, pixels, 48)
 
 MC (pel, pixels, 64)
 
 MC (qpel, h, 4)
 
 MC (qpel, h, 8)
 
 MC (qpel, h, 12)
 
 MC (qpel, h, 16)
 
 MC (qpel, h, 24)
 
 MC (qpel, h, 32)
 
 MC (qpel, h, 48)
 
 MC (qpel, h, 64)
 
 MC (qpel, v, 4)
 
 MC (qpel, v, 8)
 
 MC (qpel, v, 12)
 
 MC (qpel, v, 16)
 
 MC (qpel, v, 24)
 
 MC (qpel, v, 32)
 
 MC (qpel, v, 48)
 
 MC (qpel, v, 64)
 
 MC (qpel, hv, 4)
 
 MC (qpel, hv, 8)
 
 MC (qpel, hv, 12)
 
 MC (qpel, hv, 16)
 
 MC (qpel, hv, 24)
 
 MC (qpel, hv, 32)
 
 MC (qpel, hv, 48)
 
 MC (qpel, hv, 64)
 
 MC (epel, h, 32)
 
 MC (epel, v, 16)
 
 MC (epel, v, 24)
 
 MC (epel, v, 32)
 
 MC (epel, hv, 8)
 
 MC (epel, hv, 12)
 
 MC (epel, hv, 16)
 
 MC (epel, hv, 24)
 
 MC (epel, hv, 32)
 
 BI_MC (pel, pixels, 4)
 
 BI_MC (pel, pixels, 6)
 
 BI_MC (pel, pixels, 8)
 
 BI_MC (pel, pixels, 12)
 
 BI_MC (pel, pixels, 16)
 
 BI_MC (pel, pixels, 24)
 
 BI_MC (pel, pixels, 32)
 
 BI_MC (pel, pixels, 48)
 
 BI_MC (pel, pixels, 64)
 
 BI_MC (qpel, h, 16)
 
 BI_MC (qpel, h, 24)
 
 BI_MC (qpel, h, 32)
 
 BI_MC (qpel, h, 48)
 
 BI_MC (qpel, h, 64)
 
 BI_MC (qpel, v, 8)
 
 BI_MC (qpel, v, 16)
 
 BI_MC (qpel, v, 24)
 
 BI_MC (qpel, v, 32)
 
 BI_MC (qpel, v, 48)
 
 BI_MC (qpel, v, 64)
 
 BI_MC (qpel, hv, 8)
 
 BI_MC (qpel, hv, 16)
 
 BI_MC (qpel, hv, 24)
 
 BI_MC (qpel, hv, 32)
 
 BI_MC (qpel, hv, 48)
 
 BI_MC (qpel, hv, 64)
 
 BI_MC (epel, h, 24)
 
 BI_MC (epel, h, 32)
 
 BI_MC (epel, v, 12)
 
 BI_MC (epel, v, 16)
 
 BI_MC (epel, v, 24)
 
 BI_MC (epel, v, 32)
 
 BI_MC (epel, hv, 6)
 
 BI_MC (epel, hv, 8)
 
 BI_MC (epel, hv, 16)
 
 BI_MC (epel, hv, 24)
 
 BI_MC (epel, hv, 32)
 
 UNI_MC (qpel, h, 64)
 
 UNI_MC (qpel, v, 24)
 
 UNI_MC (qpel, v, 32)
 
 UNI_MC (qpel, v, 48)
 
 UNI_MC (qpel, v, 64)
 
 UNI_MC (qpel, hv, 8)
 
 UNI_MC (qpel, hv, 16)
 
 UNI_MC (qpel, hv, 24)
 
 UNI_MC (qpel, hv, 32)
 
 UNI_MC (qpel, hv, 48)
 
 UNI_MC (qpel, hv, 64)
 
 UNI_MC (epel, v, 24)
 
 UNI_MC (epel, v, 32)
 
 UNI_MC (epel, hv, 8)
 
 UNI_MC (epel, hv, 12)
 
 UNI_MC (epel, hv, 16)
 
 UNI_MC (epel, hv, 24)
 
 UNI_MC (epel, hv, 32)
 
 UNI_W_MC (qpel, hv, 8)
 
 UNI_W_MC (qpel, hv, 16)
 
 UNI_W_MC (qpel, hv, 24)
 
 UNI_W_MC (qpel, hv, 32)
 
 UNI_W_MC (qpel, hv, 48)
 
 UNI_W_MC (qpel, hv, 64)
 
void ff_hevc_loop_filter_luma_h_8_lsx (uint8_t *src, ptrdiff_t stride, int32_t beta, int32_t *tc, uint8_t *p_is_pcm, uint8_t *q_is_pcm)
 
void ff_hevc_loop_filter_luma_v_8_lsx (uint8_t *src, ptrdiff_t stride, int32_t beta, int32_t *tc, uint8_t *p_is_pcm, uint8_t *q_is_pcm)
 
void ff_hevc_loop_filter_chroma_h_8_lsx (uint8_t *src, ptrdiff_t stride, int32_t *tc, uint8_t *p_is_pcm, uint8_t *q_is_pcm)
 
void ff_hevc_loop_filter_chroma_v_8_lsx (uint8_t *src, ptrdiff_t stride, int32_t *tc, uint8_t *p_is_pcm, uint8_t *q_is_pcm)
 
void ff_hevc_sao_edge_filter_8_lsx (uint8_t *dst, uint8_t *src, ptrdiff_t stride_dst, int16_t *sao_offset_val, int eo, int width, int height)
 
void ff_hevc_idct_4x4_lsx (int16_t *coeffs, int col_limit)
 
void ff_hevc_idct_8x8_lsx (int16_t *coeffs, int col_limit)
 
void ff_hevc_idct_16x16_lsx (int16_t *coeffs, int col_limit)
 
void ff_hevc_idct_32x32_lsx (int16_t *coeffs, int col_limit)
 

Macro Definition Documentation

◆ MC

#define MC (   PEL,
  DIR,
  WIDTH 
)
Value:
void ff_hevc_put_hevc_##PEL##_##DIR##WIDTH##_8_lsx(int16_t *dst, \
uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
intptr_t my, \
int width)

Definition at line 28 of file hevcdsp_lsx.h.

◆ BI_MC

#define BI_MC (   PEL,
  DIR,
  WIDTH 
)
Value:
void ff_hevc_put_hevc_bi_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
uint8_t *src, \
ptrdiff_t src_stride, \
int16_t *src_16bit, \
int height, \
intptr_t mx, \
intptr_t my, \
int width)

Definition at line 88 of file hevcdsp_lsx.h.

◆ UNI_MC

#define UNI_MC (   PEL,
  DIR,
  WIDTH 
)
Value:
void ff_hevc_put_hevc_uni_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t dst_stride, \
uint8_t *src, \
ptrdiff_t src_stride, \
int height, \
intptr_t mx, \
intptr_t my, \
int width)

Definition at line 145 of file hevcdsp_lsx.h.

◆ UNI_W_MC

#define UNI_W_MC (   PEL,
  DIR,
  WIDTH 
)
Value:
void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##WIDTH##_8_lsx(uint8_t *dst, \
ptrdiff_t \
dst_stride, \
uint8_t *src, \
ptrdiff_t \
src_stride, \
int height, \
int denom, \
int weight, \
int offset, \
intptr_t mx, \
intptr_t my, \
int width)

Definition at line 180 of file hevcdsp_lsx.h.

Function Documentation

◆ MC() [1/42]

MC ( pel  ,
pixels  ,
 
)

◆ MC() [2/42]

MC ( pel  ,
pixels  ,
 
)

◆ MC() [3/42]

MC ( pel  ,
pixels  ,
 
)

◆ MC() [4/42]

MC ( pel  ,
pixels  ,
12   
)

◆ MC() [5/42]

MC ( pel  ,
pixels  ,
16   
)

◆ MC() [6/42]

MC ( pel  ,
pixels  ,
24   
)

◆ MC() [7/42]

MC ( pel  ,
pixels  ,
32   
)

◆ MC() [8/42]

MC ( pel  ,
pixels  ,
48   
)

◆ MC() [9/42]

MC ( pel  ,
pixels  ,
64   
)

◆ MC() [10/42]

MC ( qpel  ,
h  ,
 
)

◆ MC() [11/42]

MC ( qpel  ,
h  ,
 
)

◆ MC() [12/42]

MC ( qpel  ,
h  ,
12   
)

◆ MC() [13/42]

MC ( qpel  ,
h  ,
16   
)

◆ MC() [14/42]

MC ( qpel  ,
h  ,
24   
)

◆ MC() [15/42]

MC ( qpel  ,
h  ,
32   
)

◆ MC() [16/42]

MC ( qpel  ,
h  ,
48   
)

◆ MC() [17/42]

MC ( qpel  ,
h  ,
64   
)

◆ MC() [18/42]

MC ( qpel  ,
,
 
)

◆ MC() [19/42]

MC ( qpel  ,
,
 
)

◆ MC() [20/42]

MC ( qpel  ,
,
12   
)

◆ MC() [21/42]

MC ( qpel  ,
,
16   
)

◆ MC() [22/42]

MC ( qpel  ,
,
24   
)

◆ MC() [23/42]

MC ( qpel  ,
,
32   
)

◆ MC() [24/42]

MC ( qpel  ,
,
48   
)

◆ MC() [25/42]

MC ( qpel  ,
,
64   
)

◆ MC() [26/42]

MC ( qpel  ,
hv  ,
 
)

◆ MC() [27/42]

MC ( qpel  ,
hv  ,
 
)

◆ MC() [28/42]

MC ( qpel  ,
hv  ,
12   
)

◆ MC() [29/42]

MC ( qpel  ,
hv  ,
16   
)

◆ MC() [30/42]

MC ( qpel  ,
hv  ,
24   
)

◆ MC() [31/42]

MC ( qpel  ,
hv  ,
32   
)

◆ MC() [32/42]

MC ( qpel  ,
hv  ,
48   
)

◆ MC() [33/42]

MC ( qpel  ,
hv  ,
64   
)

◆ MC() [34/42]

MC ( epel  ,
h  ,
32   
)

◆ MC() [35/42]

MC ( epel  ,
,
16   
)

◆ MC() [36/42]

MC ( epel  ,
,
24   
)

◆ MC() [37/42]

MC ( epel  ,
,
32   
)

◆ MC() [38/42]

MC ( epel  ,
hv  ,
 
)

◆ MC() [39/42]

MC ( epel  ,
hv  ,
12   
)

◆ MC() [40/42]

MC ( epel  ,
hv  ,
16   
)

◆ MC() [41/42]

MC ( epel  ,
hv  ,
24   
)

◆ MC() [42/42]

MC ( epel  ,
hv  ,
32   
)

◆ BI_MC() [1/37]

BI_MC ( pel  ,
pixels  ,
 
)

◆ BI_MC() [2/37]

BI_MC ( pel  ,
pixels  ,
 
)

◆ BI_MC() [3/37]

BI_MC ( pel  ,
pixels  ,
 
)

◆ BI_MC() [4/37]

BI_MC ( pel  ,
pixels  ,
12   
)

◆ BI_MC() [5/37]

BI_MC ( pel  ,
pixels  ,
16   
)

◆ BI_MC() [6/37]

BI_MC ( pel  ,
pixels  ,
24   
)

◆ BI_MC() [7/37]

BI_MC ( pel  ,
pixels  ,
32   
)

◆ BI_MC() [8/37]

BI_MC ( pel  ,
pixels  ,
48   
)

◆ BI_MC() [9/37]

BI_MC ( pel  ,
pixels  ,
64   
)

◆ BI_MC() [10/37]

BI_MC ( qpel  ,
h  ,
16   
)

◆ BI_MC() [11/37]

BI_MC ( qpel  ,
h  ,
24   
)

◆ BI_MC() [12/37]

BI_MC ( qpel  ,
h  ,
32   
)

◆ BI_MC() [13/37]

BI_MC ( qpel  ,
h  ,
48   
)

◆ BI_MC() [14/37]

BI_MC ( qpel  ,
h  ,
64   
)

◆ BI_MC() [15/37]

BI_MC ( qpel  ,
,
 
)

◆ BI_MC() [16/37]

BI_MC ( qpel  ,
,
16   
)

◆ BI_MC() [17/37]

BI_MC ( qpel  ,
,
24   
)

◆ BI_MC() [18/37]

BI_MC ( qpel  ,
,
32   
)

◆ BI_MC() [19/37]

BI_MC ( qpel  ,
,
48   
)

◆ BI_MC() [20/37]

BI_MC ( qpel  ,
,
64   
)

◆ BI_MC() [21/37]

BI_MC ( qpel  ,
hv  ,
 
)

◆ BI_MC() [22/37]

BI_MC ( qpel  ,
hv  ,
16   
)

◆ BI_MC() [23/37]

BI_MC ( qpel  ,
hv  ,
24   
)

◆ BI_MC() [24/37]

BI_MC ( qpel  ,
hv  ,
32   
)

◆ BI_MC() [25/37]

BI_MC ( qpel  ,
hv  ,
48   
)

◆ BI_MC() [26/37]

BI_MC ( qpel  ,
hv  ,
64   
)

◆ BI_MC() [27/37]

BI_MC ( epel  ,
h  ,
24   
)

◆ BI_MC() [28/37]

BI_MC ( epel  ,
h  ,
32   
)

◆ BI_MC() [29/37]

BI_MC ( epel  ,
,
12   
)

◆ BI_MC() [30/37]

BI_MC ( epel  ,
,
16   
)

◆ BI_MC() [31/37]

BI_MC ( epel  ,
,
24   
)

◆ BI_MC() [32/37]

BI_MC ( epel  ,
,
32   
)

◆ BI_MC() [33/37]

BI_MC ( epel  ,
hv  ,
 
)

◆ BI_MC() [34/37]

BI_MC ( epel  ,
hv  ,
 
)

◆ BI_MC() [35/37]

BI_MC ( epel  ,
hv  ,
16   
)

◆ BI_MC() [36/37]

BI_MC ( epel  ,
hv  ,
24   
)

◆ BI_MC() [37/37]

BI_MC ( epel  ,
hv  ,
32   
)

◆ UNI_MC() [1/18]

UNI_MC ( qpel  ,
h  ,
64   
)

◆ UNI_MC() [2/18]

UNI_MC ( qpel  ,
,
24   
)

◆ UNI_MC() [3/18]

UNI_MC ( qpel  ,
,
32   
)

◆ UNI_MC() [4/18]

UNI_MC ( qpel  ,
,
48   
)

◆ UNI_MC() [5/18]

UNI_MC ( qpel  ,
,
64   
)

◆ UNI_MC() [6/18]

UNI_MC ( qpel  ,
hv  ,
 
)

◆ UNI_MC() [7/18]

UNI_MC ( qpel  ,
hv  ,
16   
)

◆ UNI_MC() [8/18]

UNI_MC ( qpel  ,
hv  ,
24   
)

◆ UNI_MC() [9/18]

UNI_MC ( qpel  ,
hv  ,
32   
)

◆ UNI_MC() [10/18]

UNI_MC ( qpel  ,
hv  ,
48   
)

◆ UNI_MC() [11/18]

UNI_MC ( qpel  ,
hv  ,
64   
)

◆ UNI_MC() [12/18]

UNI_MC ( epel  ,
,
24   
)

◆ UNI_MC() [13/18]

UNI_MC ( epel  ,
,
32   
)

◆ UNI_MC() [14/18]

UNI_MC ( epel  ,
hv  ,
 
)

◆ UNI_MC() [15/18]

UNI_MC ( epel  ,
hv  ,
12   
)

◆ UNI_MC() [16/18]

UNI_MC ( epel  ,
hv  ,
16   
)

◆ UNI_MC() [17/18]

UNI_MC ( epel  ,
hv  ,
24   
)

◆ UNI_MC() [18/18]

UNI_MC ( epel  ,
hv  ,
32   
)

◆ UNI_W_MC() [1/6]

UNI_W_MC ( qpel  ,
hv  ,
 
)

◆ UNI_W_MC() [2/6]

UNI_W_MC ( qpel  ,
hv  ,
16   
)

◆ UNI_W_MC() [3/6]

UNI_W_MC ( qpel  ,
hv  ,
24   
)

◆ UNI_W_MC() [4/6]

UNI_W_MC ( qpel  ,
hv  ,
32   
)

◆ UNI_W_MC() [5/6]

UNI_W_MC ( qpel  ,
hv  ,
48   
)

◆ UNI_W_MC() [6/6]

UNI_W_MC ( qpel  ,
hv  ,
64   
)

◆ ff_hevc_loop_filter_luma_h_8_lsx()

void ff_hevc_loop_filter_luma_h_8_lsx ( uint8_t *  src,
ptrdiff_t  stride,
int32_t  beta,
int32_t tc,
uint8_t *  p_is_pcm,
uint8_t *  q_is_pcm 
)

Definition at line 26 of file hevc_lpf_sao_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_loop_filter_luma_v_8_lsx()

void ff_hevc_loop_filter_luma_v_8_lsx ( uint8_t *  src,
ptrdiff_t  stride,
int32_t  beta,
int32_t tc,
uint8_t *  p_is_pcm,
uint8_t *  q_is_pcm 
)

Definition at line 438 of file hevc_lpf_sao_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_loop_filter_chroma_h_8_lsx()

void ff_hevc_loop_filter_chroma_h_8_lsx ( uint8_t *  src,
ptrdiff_t  stride,
int32_t tc,
uint8_t *  p_is_pcm,
uint8_t *  q_is_pcm 
)

Definition at line 863 of file hevc_lpf_sao_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_loop_filter_chroma_v_8_lsx()

void ff_hevc_loop_filter_chroma_v_8_lsx ( uint8_t *  src,
ptrdiff_t  stride,
int32_t tc,
uint8_t *  p_is_pcm,
uint8_t *  q_is_pcm 
)

Definition at line 917 of file hevc_lpf_sao_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_sao_edge_filter_8_lsx()

void ff_hevc_sao_edge_filter_8_lsx ( uint8_t *  dst,
uint8_t *  src,
ptrdiff_t  stride_dst,
int16_t *  sao_offset_val,
int  eo,
int  width,
int  height 
)

Definition at line 2365 of file hevc_lpf_sao_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_idct_4x4_lsx()

void ff_hevc_idct_4x4_lsx ( int16_t *  coeffs,
int  col_limit 
)

Definition at line 330 of file hevc_idct_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_idct_8x8_lsx()

void ff_hevc_idct_8x8_lsx ( int16_t *  coeffs,
int  col_limit 
)

Definition at line 360 of file hevc_idct_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_idct_16x16_lsx()

void ff_hevc_idct_16x16_lsx ( int16_t *  coeffs,
int  col_limit 
)

Definition at line 386 of file hevc_idct_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

◆ ff_hevc_idct_32x32_lsx()

void ff_hevc_idct_32x32_lsx ( int16_t *  coeffs,
int  col_limit 
)

Definition at line 811 of file hevc_idct_lsx.c.

Referenced by ff_hevc_dsp_init_loongarch().

width
#define width
weight
static int weight(int i, int blen, int offset)
Definition: diracdec.c:1562
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
_
#define _
src
INIT_CLIP pixel * src
Definition: h264pred_template.c:418