FFmpeg
Functions
hpeldsp_lasx.c File Reference
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "hpeldsp_lasx.h"

Go to the source code of this file.

Functions

static av_always_inline void put_pixels8_l2_8_lsx (uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
 
static av_always_inline void put_pixels16_l2_8_lsx (uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
 
void ff_put_pixels8_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
void ff_put_pixels16_8_lsx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 For widths 16, h is always a positive multiple of 4. More...
 
void ff_put_pixels8_x2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
void ff_put_pixels8_y2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
void ff_put_pixels16_x2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
void ff_put_pixels16_y2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
void ff_put_no_rnd_pixels16_x2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 For widths 16, h is always a positive multiple of 4. More...
 
void ff_put_no_rnd_pixels16_y2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 For widths 16, h is always a positive multiple of 4. More...
 
void ff_put_no_rnd_pixels16_xy2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
void ff_put_no_rnd_pixels8_x2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 For widths 8, h is always a positive multiple of 4. More...
 
void ff_put_no_rnd_pixels8_y2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 For widths 8, h is always a positive multiple of 4. More...
 
void ff_put_no_rnd_pixels8_xy2_8_lsx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
void ff_put_pixels16_xy2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 
static void common_hv_bil_8w_lasx (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, uint8_t height)
 
void ff_put_pixels8_xy2_8_lasx (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
 

Function Documentation

◆ put_pixels8_l2_8_lsx()

static av_always_inline void put_pixels8_l2_8_lsx ( uint8_t *  dst,
const uint8_t *  src1,
const uint8_t *  src2,
int  dst_stride,
int  src_stride1,
int  src_stride2,
int  h 
)
static

Definition at line 26 of file hpeldsp_lasx.c.

Referenced by ff_put_pixels8_x2_8_lasx(), and ff_put_pixels8_y2_8_lasx().

◆ put_pixels16_l2_8_lsx()

static av_always_inline void put_pixels16_l2_8_lsx ( uint8_t *  dst,
const uint8_t *  src1,
const uint8_t *  src2,
int  dst_stride,
int  src_stride1,
int  src_stride2,
int  h 
)
static

Definition at line 79 of file hpeldsp_lasx.c.

Referenced by ff_put_pixels16_x2_8_lasx(), and ff_put_pixels16_y2_8_lasx().

◆ ff_put_pixels8_8_lasx()

void ff_put_pixels8_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 133 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_pixels16_8_lsx()

void ff_put_pixels16_8_lsx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

For widths 16, h is always a positive multiple of 4.

The function processes 4 rows per iteration.

Definition at line 199 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_pixels8_x2_8_lasx()

void ff_put_pixels8_x2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 224 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_pixels8_y2_8_lasx()

void ff_put_pixels8_y2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 231 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_pixels16_x2_8_lasx()

void ff_put_pixels16_x2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 238 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_pixels16_y2_8_lasx()

void ff_put_pixels16_y2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 245 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_no_rnd_pixels16_x2_8_lasx()

void ff_put_no_rnd_pixels16_x2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

For widths 16, h is always a positive multiple of 4.

The function processes 4 rows per iteration.

Definition at line 256 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_no_rnd_pixels16_y2_8_lasx()

void ff_put_no_rnd_pixels16_y2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

For widths 16, h is always a positive multiple of 4.

The function processes 4 rows per iteration.

Definition at line 299 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_no_rnd_pixels16_xy2_8_lasx()

void ff_put_no_rnd_pixels16_xy2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 335 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_no_rnd_pixels8_x2_8_lasx()

void ff_put_no_rnd_pixels8_x2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

For widths 8, h is always a positive multiple of 4.

The function processes 4 rows per iteration.

Definition at line 371 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_no_rnd_pixels8_y2_8_lasx()

void ff_put_no_rnd_pixels8_y2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

For widths 8, h is always a positive multiple of 4.

The function processes 4 rows per iteration.

Definition at line 410 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_no_rnd_pixels8_xy2_8_lsx()

void ff_put_no_rnd_pixels8_xy2_8_lsx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 441 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ ff_put_pixels16_xy2_8_lasx()

void ff_put_pixels16_xy2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 471 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().

◆ common_hv_bil_8w_lasx()

static void common_hv_bil_8w_lasx ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
uint8_t  height 
)
static

Definition at line 501 of file hpeldsp_lasx.c.

Referenced by ff_put_pixels8_xy2_8_lasx().

◆ ff_put_pixels8_xy2_8_lasx()

void ff_put_pixels8_xy2_8_lasx ( uint8_t *  block,
const uint8_t *  pixels,
ptrdiff_t  line_size,
int  h 
)

Definition at line 547 of file hpeldsp_lasx.c.

Referenced by ff_hpeldsp_init_loongarch().