FFmpeg
Macros | Functions | Variables
vp9_mc_mmi.c File Reference
#include "libavcodec/vp9dsp.h"
#include "libavutil/mips/mmiutils.h"
#include "vp9dsp_mips.h"

Go to the source code of this file.

Macros

#define GET_DATA_H_MMI
 
#define GET_DATA_V_MMI
 
#define VP9_8TAP_MIPS_MMI_FUNC(SIZE, TYPE, TYPE_IDX)
 

Functions

static void convolve_horiz_mmi (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const uint16_t *filter_x, int32_t w, int32_t h)
 
static void convolve_vert_mmi (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int16_t *filter_y, int32_t w, int32_t h)
 
static void convolve_avg_horiz_mmi (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const uint16_t *filter_x, int32_t w, int32_t h)
 
static void convolve_avg_vert_mmi (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, const int16_t *filter_y, int32_t w, int32_t h)
 
static void convolve_avg_mmi (const uint8_t *src, int32_t src_stride, uint8_t *dst, int32_t dst_stride, int32_t w, int32_t h)
 
 VP9_8TAP_MIPS_MMI_FUNC (64, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_MIPS_MMI_FUNC (32, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_MIPS_MMI_FUNC (16, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_MIPS_MMI_FUNC (8, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_MIPS_MMI_FUNC (4, regular, FILTER_8TAP_REGULAR)
 
 VP9_8TAP_MIPS_MMI_FUNC (64, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_MIPS_MMI_FUNC (32, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_MIPS_MMI_FUNC (16, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_MIPS_MMI_FUNC (8, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_MIPS_MMI_FUNC (4, sharp, FILTER_8TAP_SHARP)
 
 VP9_8TAP_MIPS_MMI_FUNC (64, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_MIPS_MMI_FUNC (32, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_MIPS_MMI_FUNC (16, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_MIPS_MMI_FUNC (8, smooth, FILTER_8TAP_SMOOTH)
 
 VP9_8TAP_MIPS_MMI_FUNC (4, smooth, FILTER_8TAP_SMOOTH)
 

Variables

static const int16_t vp9_subpel_filters_mmi [3][15][8]
 

Macro Definition Documentation

◆ GET_DATA_H_MMI

#define GET_DATA_H_MMI
Value:
"pmaddhw %[ftmp4], %[ftmp4], %[filter1] \n\t" \
"pmaddhw %[ftmp5], %[ftmp5], %[filter2] \n\t" \
"paddw %[ftmp4], %[ftmp4], %[ftmp5] \n\t" \
"punpckhwd %[ftmp5], %[ftmp4], %[ftmp0] \n\t" \
"paddw %[ftmp4], %[ftmp4], %[ftmp5] \n\t" \
"pmaddhw %[ftmp6], %[ftmp6], %[filter1] \n\t" \
"pmaddhw %[ftmp7], %[ftmp7], %[filter2] \n\t" \
"paddw %[ftmp6], %[ftmp6], %[ftmp7] \n\t" \
"punpckhwd %[ftmp7], %[ftmp6], %[ftmp0] \n\t" \
"paddw %[ftmp6], %[ftmp6], %[ftmp7] \n\t" \
"punpcklwd %[srcl], %[ftmp4], %[ftmp6] \n\t" \
"pmaddhw %[ftmp8], %[ftmp8], %[filter1] \n\t" \
"pmaddhw %[ftmp9], %[ftmp9], %[filter2] \n\t" \
"paddw %[ftmp8], %[ftmp8], %[ftmp9] \n\t" \
"punpckhwd %[ftmp9], %[ftmp8], %[ftmp0] \n\t" \
"paddw %[ftmp8], %[ftmp8], %[ftmp9] \n\t" \
"pmaddhw %[ftmp10], %[ftmp10], %[filter1] \n\t" \
"pmaddhw %[ftmp11], %[ftmp11], %[filter2] \n\t" \
"paddw %[ftmp10], %[ftmp10], %[ftmp11] \n\t" \
"punpckhwd %[ftmp11], %[ftmp10], %[ftmp0] \n\t" \
"paddw %[ftmp10], %[ftmp10], %[ftmp11] \n\t" \
"punpcklwd %[srch], %[ftmp8], %[ftmp10] \n\t"

Definition at line 25 of file vp9_mc_mmi.c.

◆ GET_DATA_V_MMI

#define GET_DATA_V_MMI
Value:
"punpcklhw %[srcl], %[ftmp4], %[ftmp5] \n\t" \
"pmaddhw %[srcl], %[srcl], %[filter10] \n\t" \
"punpcklhw %[ftmp12], %[ftmp6], %[ftmp7] \n\t" \
"pmaddhw %[ftmp12], %[ftmp12], %[filter32] \n\t" \
"paddw %[srcl], %[srcl], %[ftmp12] \n\t" \
"punpcklhw %[ftmp12], %[ftmp8], %[ftmp9] \n\t" \
"pmaddhw %[ftmp12], %[ftmp12], %[filter54] \n\t" \
"paddw %[srcl], %[srcl], %[ftmp12] \n\t" \
"punpcklhw %[ftmp12], %[ftmp10], %[ftmp11] \n\t" \
"pmaddhw %[ftmp12], %[ftmp12], %[filter76] \n\t" \
"paddw %[srcl], %[srcl], %[ftmp12] \n\t" \
"punpckhhw %[srch], %[ftmp4], %[ftmp5] \n\t" \
"pmaddhw %[srch], %[srch], %[filter10] \n\t" \
"punpckhhw %[ftmp12], %[ftmp6], %[ftmp7] \n\t" \
"pmaddhw %[ftmp12], %[ftmp12], %[filter32] \n\t" \
"paddw %[srch], %[srch], %[ftmp12] \n\t" \
"punpckhhw %[ftmp12], %[ftmp8], %[ftmp9] \n\t" \
"pmaddhw %[ftmp12], %[ftmp12], %[filter54] \n\t" \
"paddw %[srch], %[srch], %[ftmp12] \n\t" \
"punpckhhw %[ftmp12], %[ftmp10], %[ftmp11] \n\t" \
"pmaddhw %[ftmp12], %[ftmp12], %[filter76] \n\t" \
"paddw %[srch], %[srch], %[ftmp12] \n\t"

Definition at line 49 of file vp9_mc_mmi.c.

◆ VP9_8TAP_MIPS_MMI_FUNC

#define VP9_8TAP_MIPS_MMI_FUNC (   SIZE,
  TYPE,
  TYPE_IDX 
)

Definition at line 509 of file vp9_mc_mmi.c.

Function Documentation

◆ convolve_horiz_mmi()

static void convolve_horiz_mmi ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const uint16_t *  filter_x,
int32_t  w,
int32_t  h 
)
static

Definition at line 73 of file vp9_mc_mmi.c.

◆ convolve_vert_mmi()

static void convolve_vert_mmi ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int16_t *  filter_y,
int32_t  w,
int32_t  h 
)
static

Definition at line 144 of file vp9_mc_mmi.c.

◆ convolve_avg_horiz_mmi()

static void convolve_avg_horiz_mmi ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const uint16_t *  filter_x,
int32_t  w,
int32_t  h 
)
static

Definition at line 231 of file vp9_mc_mmi.c.

◆ convolve_avg_vert_mmi()

static void convolve_avg_vert_mmi ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
const int16_t *  filter_y,
int32_t  w,
int32_t  h 
)
static

Definition at line 313 of file vp9_mc_mmi.c.

◆ convolve_avg_mmi()

static void convolve_avg_mmi ( const uint8_t *  src,
int32_t  src_stride,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  w,
int32_t  h 
)
static

Definition at line 410 of file vp9_mc_mmi.c.

◆ VP9_8TAP_MIPS_MMI_FUNC() [1/15]

VP9_8TAP_MIPS_MMI_FUNC ( 64  ,
regular  ,
FILTER_8TAP_REGULAR   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [2/15]

VP9_8TAP_MIPS_MMI_FUNC ( 32  ,
regular  ,
FILTER_8TAP_REGULAR   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [3/15]

VP9_8TAP_MIPS_MMI_FUNC ( 16  ,
regular  ,
FILTER_8TAP_REGULAR   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [4/15]

VP9_8TAP_MIPS_MMI_FUNC ( ,
regular  ,
FILTER_8TAP_REGULAR   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [5/15]

VP9_8TAP_MIPS_MMI_FUNC ( ,
regular  ,
FILTER_8TAP_REGULAR   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [6/15]

VP9_8TAP_MIPS_MMI_FUNC ( 64  ,
sharp  ,
FILTER_8TAP_SHARP   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [7/15]

VP9_8TAP_MIPS_MMI_FUNC ( 32  ,
sharp  ,
FILTER_8TAP_SHARP   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [8/15]

VP9_8TAP_MIPS_MMI_FUNC ( 16  ,
sharp  ,
FILTER_8TAP_SHARP   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [9/15]

VP9_8TAP_MIPS_MMI_FUNC ( ,
sharp  ,
FILTER_8TAP_SHARP   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [10/15]

VP9_8TAP_MIPS_MMI_FUNC ( ,
sharp  ,
FILTER_8TAP_SHARP   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [11/15]

VP9_8TAP_MIPS_MMI_FUNC ( 64  ,
smooth  ,
FILTER_8TAP_SMOOTH   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [12/15]

VP9_8TAP_MIPS_MMI_FUNC ( 32  ,
smooth  ,
FILTER_8TAP_SMOOTH   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [13/15]

VP9_8TAP_MIPS_MMI_FUNC ( 16  ,
smooth  ,
FILTER_8TAP_SMOOTH   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [14/15]

VP9_8TAP_MIPS_MMI_FUNC ( ,
smooth  ,
FILTER_8TAP_SMOOTH   
)

◆ VP9_8TAP_MIPS_MMI_FUNC() [15/15]

VP9_8TAP_MIPS_MMI_FUNC ( ,
smooth  ,
FILTER_8TAP_SMOOTH   
)

Variable Documentation

◆ vp9_subpel_filters_mmi

const int16_t vp9_subpel_filters_mmi[3][15][8]
static

Definition at line 457 of file vp9_mc_mmi.c.