FFmpeg
Macros | Functions | Variables
vp8_idct_msa.c File Reference
#include <string.h>
#include "libavcodec/vp8dsp.h"
#include "libavutil/mips/generic_macros_msa.h"
#include "vp8dsp_mips.h"

Go to the source code of this file.

Macros

#define VP8_IDCT_1D_W(in0, in1, in2, in3, out0, out1, out2, out3)
 

Functions

void ff_vp8_idct_add_msa (uint8_t *dst, int16_t input[16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add_msa (uint8_t *dst, int16_t in_dc[16], ptrdiff_t stride)
 
void ff_vp8_luma_dc_wht_msa (int16_t block[4][4][16], int16_t input[16])
 
void ff_vp8_idct_dc_add4y_msa (uint8_t *dst, int16_t block[4][16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add4uv_msa (uint8_t *dst, int16_t block[4][16], ptrdiff_t stride)
 

Variables

static const int cospi8sqrt2minus1 = 20091
 
static const int sinpi8sqrt2 = 35468
 

Macro Definition Documentation

◆ VP8_IDCT_1D_W

#define VP8_IDCT_1D_W (   in0,
  in1,
  in2,
  in3,
  out0,
  out1,
  out2,
  out3 
)
Value:
{ \
v4i32 a1_m, b1_m, c1_m, d1_m; \
v4i32 c_tmp1_m, c_tmp2_m, d_tmp1_m, d_tmp2_m; \
v4i32 const_cospi8sqrt2minus1_m, sinpi8_sqrt2_m; \
\
const_cospi8sqrt2minus1_m = __msa_fill_w(cospi8sqrt2minus1); \
sinpi8_sqrt2_m = __msa_fill_w(sinpi8sqrt2); \
a1_m = in0 + in2; \
b1_m = in0 - in2; \
c_tmp1_m = ((in1) * sinpi8_sqrt2_m) >> 16; \
c_tmp2_m = in3 + (((in3) * const_cospi8sqrt2minus1_m) >> 16); \
c1_m = c_tmp1_m - c_tmp2_m; \
d_tmp1_m = (in1) + (((in1) * const_cospi8sqrt2minus1_m) >> 16); \
d_tmp2_m = ((in3) * sinpi8_sqrt2_m) >> 16; \
d1_m = d_tmp1_m + d_tmp2_m; \
BUTTERFLY_4(a1_m, b1_m, c1_m, d1_m, out0, out1, out2, out3); \
}

Definition at line 29 of file vp8_idct_msa.c.

Function Documentation

◆ ff_vp8_idct_add_msa()

void ff_vp8_idct_add_msa ( uint8_t *  dst,
int16_t  input[16],
ptrdiff_t  stride 
)

Definition at line 48 of file vp8_idct_msa.c.

Referenced by ff_vp8dsp_init_mips().

◆ ff_vp8_idct_dc_add_msa()

void ff_vp8_idct_dc_add_msa ( uint8_t *  dst,
int16_t  in_dc[16],
ptrdiff_t  stride 
)

◆ ff_vp8_luma_dc_wht_msa()

void ff_vp8_luma_dc_wht_msa ( int16_t  block[4][4][16],
int16_t  input[16] 
)

Definition at line 104 of file vp8_idct_msa.c.

Referenced by ff_vp8dsp_init_mips().

◆ ff_vp8_idct_dc_add4y_msa()

void ff_vp8_idct_dc_add4y_msa ( uint8_t *  dst,
int16_t  block[4][16],
ptrdiff_t  stride 
)

Definition at line 143 of file vp8_idct_msa.c.

Referenced by ff_vp8dsp_init_mips().

◆ ff_vp8_idct_dc_add4uv_msa()

void ff_vp8_idct_dc_add4uv_msa ( uint8_t *  dst,
int16_t  block[4][16],
ptrdiff_t  stride 
)

Definition at line 152 of file vp8_idct_msa.c.

Referenced by ff_vp8dsp_init_mips().

Variable Documentation

◆ cospi8sqrt2minus1

const int cospi8sqrt2minus1 = 20091
static

Definition at line 26 of file vp8_idct_msa.c.

◆ sinpi8sqrt2

const int sinpi8sqrt2 = 35468
static

Definition at line 27 of file vp8_idct_msa.c.

sinpi8sqrt2
static const int sinpi8sqrt2
Definition: vp8_idct_msa.c:27
cospi8sqrt2minus1
static const int cospi8sqrt2minus1
Definition: vp8_idct_msa.c:26