FFmpeg  4.0
Macros | Functions | Variables
vp8dsp_mmi.c File Reference
#include "vp8dsp_mips.h"
#include "constants.h"
#include "libavutil/mips/mmiutils.h"

Go to the source code of this file.

Macros

#define PUT_VP8_EPEL4_H6_MMI(src, dst)
 
#define PUT_VP8_EPEL4_H4_MMI(src, dst)
 
#define PUT_VP8_EPEL4_V6_MMI(src, src1, dst, srcstride)
 
#define PUT_VP8_EPEL4_V4_MMI(src, src1, dst, srcstride)
 
#define PUT_VP8_EPEL8_H6_MMI(src, dst)
 
#define PUT_VP8_EPEL8_H4_MMI(src, dst)
 
#define PUT_VP8_EPEL8_V6_MMI(src, src1, dst, srcstride)
 
#define PUT_VP8_EPEL8_V4_MMI(src, src1, dst, srcstride)
 
#define PUT_VP8_BILINEAR8_H_MMI(src, dst)
 
#define PUT_VP8_BILINEAR4_H_MMI(src, dst)
 
#define PUT_VP8_BILINEAR8_V_MMI(src, src1, dst, sstride)
 
#define PUT_VP8_BILINEAR4_V_MMI(src, src1, dst, sstride)
 
#define clip_int8(n)   (cm[(n) + 0x80] - 0x80)
 

Functions

static av_always_inline void vp8_filter_common_is4tap (uint8_t *p, ptrdiff_t stride)
 
static av_always_inline void vp8_filter_common_isnot4tap (uint8_t *p, ptrdiff_t stride)
 
static av_always_inline int vp8_simple_limit (uint8_t *p, ptrdiff_t stride, int flim)
 
static av_always_inline int hev (uint8_t *p, ptrdiff_t stride, int thresh)
 
static av_always_inline void filter_mbedge (uint8_t *p, ptrdiff_t stride)
 
static av_always_inline int vp8_normal_limit (uint8_t *p, ptrdiff_t stride, int E, int I)
 
static av_always_inline void vp8_v_loop_filter8_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
static av_always_inline void vp8_v_loop_filter8_inner_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
static av_always_inline void vp8_h_loop_filter8_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
static av_always_inline void vp8_h_loop_filter8_inner_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_luma_dc_wht_mmi (int16_t block[4][4][16], int16_t dc[16])
 
void ff_vp8_luma_dc_wht_dc_mmi (int16_t block[4][4][16], int16_t dc[16])
 
void ff_vp8_idct_add_mmi (uint8_t *dst, int16_t block[16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add_mmi (uint8_t *dst, int16_t block[16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add4y_mmi (uint8_t *dst, int16_t block[4][16], ptrdiff_t stride)
 
void ff_vp8_idct_dc_add4uv_mmi (uint8_t *dst, int16_t block[4][16], ptrdiff_t stride)
 
void ff_vp8_v_loop_filter16_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_h_loop_filter16_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_v_loop_filter8uv_mmi (uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_h_loop_filter8uv_mmi (uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_v_loop_filter16_inner_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_h_loop_filter16_inner_mmi (uint8_t *dst, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_v_loop_filter8uv_inner_mmi (uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_h_loop_filter8uv_inner_mmi (uint8_t *dstU, uint8_t *dstV, ptrdiff_t stride, int flim_E, int flim_I, int hev_thresh)
 
void ff_vp8_v_loop_filter_simple_mmi (uint8_t *dst, ptrdiff_t stride, int flim)
 
void ff_vp8_h_loop_filter_simple_mmi (uint8_t *dst, ptrdiff_t stride, int flim)
 
void ff_put_vp8_pixels16_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int x, int y)
 
void ff_put_vp8_pixels8_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int x, int y)
 
void ff_put_vp8_pixels4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int x, int y)
 
void ff_put_vp8_epel16_h4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_h4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_h4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel16_h6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_h6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_h6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel16_v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel16_v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel16_h4v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_h4v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_h4v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel16_h4v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_h4v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_h4v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel16_h6v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_h6v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_h6v4_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel16_h6v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel8_h6v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_epel4_h6v6_mmi (uint8_t *dst, ptrdiff_t dststride, uint8_t *src, ptrdiff_t srcstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear16_h_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear16_v_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear16_hv_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear8_h_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear8_v_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear8_hv_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear4_h_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear4_v_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 
void ff_put_vp8_bilinear4_hv_mmi (uint8_t *dst, ptrdiff_t dstride, uint8_t *src, ptrdiff_t sstride, int h, int mx, int my)
 

Variables

static const uint64_t fourtap_subpel_filters [7][6]
 

Macro Definition Documentation

◆ PUT_VP8_EPEL4_H6_MMI

#define PUT_VP8_EPEL4_H6_MMI (   src,
  dst 
)

Definition at line 28 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_h6_mmi().

◆ PUT_VP8_EPEL4_H4_MMI

#define PUT_VP8_EPEL4_H4_MMI (   src,
  dst 
)
Value:
MMI_ULWC1(%[ftmp1], src, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp3], %[ftmp2], %[filter2] \n\t" \
\
MMI_ULWC1(%[ftmp1], src, -0x01) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[filter1] \n\t" \
"psubsh %[ftmp5], %[ftmp3], %[ftmp2] \n\t" \
\
MMI_ULWC1(%[ftmp1], src, 0x01) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp3], %[ftmp2], %[filter3] \n\t" \
\
MMI_ULWC1(%[ftmp1], src, 0x02) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[filter4] \n\t" \
"psubh %[ftmp3], %[ftmp3], %[ftmp2] \n\t" \
\
"paddsh %[ftmp3], %[ftmp3], %[ftmp5] \n\t" \
\
"paddsh %[ftmp3], %[ftmp3], %[ff_pw_64] \n\t" \
"psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" \
\
"packushb %[ftmp1], %[ftmp3], %[ftmp0] \n\t" \
MMI_SWC1(%[ftmp1], dst, 0x00)
#define src
Definition: vp8dsp.c:254

Definition at line 65 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_h4_mmi().

◆ PUT_VP8_EPEL4_V6_MMI

#define PUT_VP8_EPEL4_V6_MMI (   src,
  src1,
  dst,
  srcstride 
)

Definition at line 93 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_v6_mmi().

◆ PUT_VP8_EPEL4_V4_MMI

#define PUT_VP8_EPEL4_V4_MMI (   src,
  src1,
  dst,
  srcstride 
)
Value:
MMI_ULWC1(%[ftmp1], src, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp3], %[ftmp2], %[filter2] \n\t" \
\
PTR_SUBU ""#src1", "#src", "#srcstride" \n\t" \
MMI_ULWC1(%[ftmp1], src1, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[filter1] \n\t" \
"psubsh %[ftmp5], %[ftmp3], %[ftmp2] \n\t" \
\
PTR_ADDU ""#src1", "#src", "#srcstride" \n\t" \
MMI_ULWC1(%[ftmp1], src1, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp3], %[ftmp2], %[filter3] \n\t" \
\
PTR_ADDU ""#src1", "#src1", "#srcstride" \n\t" \
MMI_ULWC1(%[ftmp1], src1, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[filter4] \n\t" \
"psubsh %[ftmp3], %[ftmp3], %[ftmp2] \n\t" \
\
"paddsh %[ftmp3], %[ftmp3], %[ftmp5] \n\t" \
\
"paddsh %[ftmp3], %[ftmp3], %[ff_pw_64] \n\t" \
"psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" \
"packushb %[ftmp1], %[ftmp3], %[ftmp0] \n\t" \
\
MMI_SWC1(%[ftmp1], dst, 0x00)
#define src
Definition: vp8dsp.c:254
#define src1
Definition: h264pred.c:139

Definition at line 136 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_v4_mmi().

◆ PUT_VP8_EPEL8_H6_MMI

#define PUT_VP8_EPEL8_H6_MMI (   src,
  dst 
)

Definition at line 167 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_h6_mmi(), and ff_put_vp8_epel8_h6_mmi().

◆ PUT_VP8_EPEL8_H4_MMI

#define PUT_VP8_EPEL8_H4_MMI (   src,
  dst 
)

Definition at line 224 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_h4_mmi(), and ff_put_vp8_epel8_h4_mmi().

◆ PUT_VP8_EPEL8_V6_MMI

#define PUT_VP8_EPEL8_V6_MMI (   src,
  src1,
  dst,
  srcstride 
)

Definition at line 265 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_v6_mmi(), and ff_put_vp8_epel8_v6_mmi().

◆ PUT_VP8_EPEL8_V4_MMI

#define PUT_VP8_EPEL8_V4_MMI (   src,
  src1,
  dst,
  srcstride 
)

Definition at line 327 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_v4_mmi(), and ff_put_vp8_epel8_v4_mmi().

◆ PUT_VP8_BILINEAR8_H_MMI

#define PUT_VP8_BILINEAR8_H_MMI (   src,
  dst 
)
Value:
MMI_ULDC1(%[ftmp1], src, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"punpckhbh %[ftmp3], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp5], %[ftmp2], %[a] \n\t" \
"pmullh %[ftmp6], %[ftmp3], %[a] \n\t" \
\
MMI_ULDC1(%[ftmp1], src, 0x01) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"punpckhbh %[ftmp3], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[b] \n\t" \
"pmullh %[ftmp3], %[ftmp3], %[b] \n\t" \
"paddsh %[ftmp5], %[ftmp5], %[ftmp2] \n\t" \
"paddsh %[ftmp6], %[ftmp6], %[ftmp3] \n\t" \
\
"paddsh %[ftmp5], %[ftmp5], %[ff_pw_4] \n\t" \
"paddsh %[ftmp6], %[ftmp6], %[ff_pw_4] \n\t" \
"psrah %[ftmp5], %[ftmp5], %[ftmp4] \n\t" \
"psrah %[ftmp6], %[ftmp6], %[ftmp4] \n\t" \
\
"packushb %[ftmp1], %[ftmp5], %[ftmp6] \n\t" \
MMI_SDC1(%[ftmp1], dst, 0x00)
#define src
Definition: vp8dsp.c:254

Definition at line 371 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear16_h_mmi(), and ff_put_vp8_bilinear8_h_mmi().

◆ PUT_VP8_BILINEAR4_H_MMI

#define PUT_VP8_BILINEAR4_H_MMI (   src,
  dst 
)
Value:
MMI_ULWC1(%[ftmp1], src, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp3], %[ftmp2], %[a] \n\t" \
\
MMI_ULWC1(%[ftmp1], src, 0x01) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[b] \n\t" \
"paddsh %[ftmp3], %[ftmp3], %[ftmp2] \n\t" \
\
"paddsh %[ftmp3], %[ftmp3], %[ff_pw_4] \n\t" \
"psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" \
\
"packushb %[ftmp1], %[ftmp3], %[ftmp0] \n\t" \
MMI_SWC1(%[ftmp1], dst, 0x00)
#define src
Definition: vp8dsp.c:254

Definition at line 395 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear4_h_mmi().

◆ PUT_VP8_BILINEAR8_V_MMI

#define PUT_VP8_BILINEAR8_V_MMI (   src,
  src1,
  dst,
  sstride 
)
Value:
MMI_ULDC1(%[ftmp1], src, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"punpckhbh %[ftmp3], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp5], %[ftmp2], %[c] \n\t" \
"pmullh %[ftmp6], %[ftmp3], %[c] \n\t" \
\
PTR_ADDU ""#src1", "#src", "#sstride" \n\t" \
MMI_ULDC1(%[ftmp1], src1, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"punpckhbh %[ftmp3], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[d] \n\t" \
"pmullh %[ftmp3], %[ftmp3], %[d] \n\t" \
"paddsh %[ftmp5], %[ftmp5], %[ftmp2] \n\t" \
"paddsh %[ftmp6], %[ftmp6], %[ftmp3] \n\t" \
\
"paddsh %[ftmp5], %[ftmp5], %[ff_pw_4] \n\t" \
"paddsh %[ftmp6], %[ftmp6], %[ff_pw_4] \n\t" \
"psrah %[ftmp5], %[ftmp5], %[ftmp4] \n\t" \
"psrah %[ftmp6], %[ftmp6], %[ftmp4] \n\t" \
\
"packushb %[ftmp1], %[ftmp5], %[ftmp6] \n\t" \
MMI_SDC1(%[ftmp1], dst, 0x00)
#define src
Definition: vp8dsp.c:254
#define src1
Definition: h264pred.c:139

Definition at line 412 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear16_v_mmi(), and ff_put_vp8_bilinear8_v_mmi().

◆ PUT_VP8_BILINEAR4_V_MMI

#define PUT_VP8_BILINEAR4_V_MMI (   src,
  src1,
  dst,
  sstride 
)
Value:
MMI_ULWC1(%[ftmp1], src, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp3], %[ftmp2], %[c] \n\t" \
\
PTR_ADDU ""#src1", "#src", "#sstride" \n\t" \
MMI_ULWC1(%[ftmp1], src1, 0x00) \
"punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[d] \n\t" \
"paddsh %[ftmp3], %[ftmp3], %[ftmp2] \n\t" \
\
"paddsh %[ftmp3], %[ftmp3], %[ff_pw_4] \n\t" \
"psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" \
\
"packushb %[ftmp1], %[ftmp3], %[ftmp0] \n\t" \
MMI_SWC1(%[ftmp1], dst, 0x00)
#define src
Definition: vp8dsp.c:254
#define src1
Definition: h264pred.c:139

Definition at line 437 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear4_v_mmi().

◆ clip_int8

#define clip_int8 (   n)    (cm[(n) + 0x80] - 0x80)

Function Documentation

◆ vp8_filter_common_is4tap()

static av_always_inline void vp8_filter_common_is4tap ( uint8_t p,
ptrdiff_t  stride 
)
static

◆ vp8_filter_common_isnot4tap()

static av_always_inline void vp8_filter_common_isnot4tap ( uint8_t p,
ptrdiff_t  stride 
)
static

◆ vp8_simple_limit()

static av_always_inline int vp8_simple_limit ( uint8_t p,
ptrdiff_t  stride,
int  flim 
)
static

◆ hev()

static av_always_inline int hev ( uint8_t p,
ptrdiff_t  stride,
int  thresh 
)
static

◆ filter_mbedge()

static av_always_inline void filter_mbedge ( uint8_t p,
ptrdiff_t  stride 
)
static

◆ vp8_normal_limit()

static av_always_inline int vp8_normal_limit ( uint8_t p,
ptrdiff_t  stride,
int  E,
int  I 
)
static

◆ vp8_v_loop_filter8_mmi()

static av_always_inline void vp8_v_loop_filter8_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)
static

Definition at line 621 of file vp8dsp_mmi.c.

Referenced by ff_vp8_v_loop_filter8uv_mmi().

◆ vp8_v_loop_filter8_inner_mmi()

static av_always_inline void vp8_v_loop_filter8_inner_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)
static

Definition at line 635 of file vp8dsp_mmi.c.

Referenced by ff_vp8_v_loop_filter8uv_inner_mmi().

◆ vp8_h_loop_filter8_mmi()

static av_always_inline void vp8_h_loop_filter8_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)
static

Definition at line 650 of file vp8dsp_mmi.c.

Referenced by ff_vp8_h_loop_filter8uv_mmi().

◆ vp8_h_loop_filter8_inner_mmi()

static av_always_inline void vp8_h_loop_filter8_inner_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)
static

Definition at line 664 of file vp8dsp_mmi.c.

Referenced by ff_vp8_h_loop_filter8uv_inner_mmi().

◆ ff_vp8_luma_dc_wht_mmi()

void ff_vp8_luma_dc_wht_mmi ( int16_t  block[4][4][16],
int16_t  dc[16] 
)

Definition at line 679 of file vp8dsp_mmi.c.

◆ ff_vp8_luma_dc_wht_dc_mmi()

void ff_vp8_luma_dc_wht_dc_mmi ( int16_t  block[4][4][16],
int16_t  dc[16] 
)

Definition at line 813 of file vp8dsp_mmi.c.

◆ ff_vp8_idct_add_mmi()

void ff_vp8_idct_add_mmi ( uint8_t dst,
int16_t  block[16],
ptrdiff_t  stride 
)

Definition at line 837 of file vp8dsp_mmi.c.

◆ ff_vp8_idct_dc_add_mmi()

void ff_vp8_idct_dc_add_mmi ( uint8_t dst,
int16_t  block[16],
ptrdiff_t  stride 
)

Definition at line 1006 of file vp8dsp_mmi.c.

Referenced by ff_vp8_idct_dc_add4uv_mmi(), and ff_vp8_idct_dc_add4y_mmi().

◆ ff_vp8_idct_dc_add4y_mmi()

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

Definition at line 1064 of file vp8dsp_mmi.c.

◆ ff_vp8_idct_dc_add4uv_mmi()

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

Definition at line 1073 of file vp8dsp_mmi.c.

◆ ff_vp8_v_loop_filter16_mmi()

void ff_vp8_v_loop_filter16_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1083 of file vp8dsp_mmi.c.

◆ ff_vp8_h_loop_filter16_mmi()

void ff_vp8_h_loop_filter16_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1097 of file vp8dsp_mmi.c.

◆ ff_vp8_v_loop_filter8uv_mmi()

void ff_vp8_v_loop_filter8uv_mmi ( uint8_t dstU,
uint8_t dstV,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1111 of file vp8dsp_mmi.c.

◆ ff_vp8_h_loop_filter8uv_mmi()

void ff_vp8_h_loop_filter8uv_mmi ( uint8_t dstU,
uint8_t dstV,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1118 of file vp8dsp_mmi.c.

◆ ff_vp8_v_loop_filter16_inner_mmi()

void ff_vp8_v_loop_filter16_inner_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1126 of file vp8dsp_mmi.c.

◆ ff_vp8_h_loop_filter16_inner_mmi()

void ff_vp8_h_loop_filter16_inner_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1141 of file vp8dsp_mmi.c.

◆ ff_vp8_v_loop_filter8uv_inner_mmi()

void ff_vp8_v_loop_filter8uv_inner_mmi ( uint8_t dstU,
uint8_t dstV,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1156 of file vp8dsp_mmi.c.

◆ ff_vp8_h_loop_filter8uv_inner_mmi()

void ff_vp8_h_loop_filter8uv_inner_mmi ( uint8_t dstU,
uint8_t dstV,
ptrdiff_t  stride,
int  flim_E,
int  flim_I,
int  hev_thresh 
)

Definition at line 1163 of file vp8dsp_mmi.c.

◆ ff_vp8_v_loop_filter_simple_mmi()

void ff_vp8_v_loop_filter_simple_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim 
)

Definition at line 1170 of file vp8dsp_mmi.c.

◆ ff_vp8_h_loop_filter_simple_mmi()

void ff_vp8_h_loop_filter_simple_mmi ( uint8_t dst,
ptrdiff_t  stride,
int  flim 
)

Definition at line 1179 of file vp8dsp_mmi.c.

◆ ff_put_vp8_pixels16_mmi()

void ff_put_vp8_pixels16_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  x,
int  y 
)

Definition at line 1188 of file vp8dsp_mmi.c.

◆ ff_put_vp8_pixels8_mmi()

void ff_put_vp8_pixels8_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  x,
int  y 
)

Definition at line 1235 of file vp8dsp_mmi.c.

◆ ff_put_vp8_pixels4_mmi()

void ff_put_vp8_pixels4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  x,
int  y 
)

Definition at line 1275 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel16_h4_mmi()

void ff_put_vp8_epel16_h4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1315 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_h4v4_mmi(), and ff_put_vp8_epel16_h4v6_mmi().

◆ ff_put_vp8_epel8_h4_mmi()

void ff_put_vp8_epel8_h4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1392 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel8_h4v4_mmi(), and ff_put_vp8_epel8_h4v6_mmi().

◆ ff_put_vp8_epel4_h4_mmi()

void ff_put_vp8_epel4_h4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1453 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_h4v4_mmi(), and ff_put_vp8_epel4_h4v6_mmi().

◆ ff_put_vp8_epel16_h6_mmi()

void ff_put_vp8_epel16_h6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1508 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_h6v4_mmi(), and ff_put_vp8_epel16_h6v6_mmi().

◆ ff_put_vp8_epel8_h6_mmi()

void ff_put_vp8_epel8_h6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1586 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel8_h6v4_mmi(), and ff_put_vp8_epel8_h6v6_mmi().

◆ ff_put_vp8_epel4_h6_mmi()

void ff_put_vp8_epel4_h6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1648 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_h6v4_mmi(), and ff_put_vp8_epel4_h6v6_mmi().

◆ ff_put_vp8_epel16_v4_mmi()

void ff_put_vp8_epel16_v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1704 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_h4v4_mmi(), and ff_put_vp8_epel16_h6v4_mmi().

◆ ff_put_vp8_epel8_v4_mmi()

void ff_put_vp8_epel8_v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1782 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel8_h4v4_mmi(), and ff_put_vp8_epel8_h6v4_mmi().

◆ ff_put_vp8_epel4_v4_mmi()

void ff_put_vp8_epel4_v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1845 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_h4v4_mmi(), and ff_put_vp8_epel4_h6v4_mmi().

◆ ff_put_vp8_epel16_v6_mmi()

void ff_put_vp8_epel16_v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1902 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_h4v6_mmi(), and ff_put_vp8_epel16_h6v6_mmi().

◆ ff_put_vp8_epel8_v6_mmi()

void ff_put_vp8_epel8_v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 1981 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel8_h4v6_mmi(), and ff_put_vp8_epel8_h6v6_mmi().

◆ ff_put_vp8_epel4_v6_mmi()

void ff_put_vp8_epel4_v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2045 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel4_h4v6_mmi(), and ff_put_vp8_epel4_h6v6_mmi().

◆ ff_put_vp8_epel16_h4v4_mmi()

void ff_put_vp8_epel16_h4v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2103 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel8_h4v4_mmi()

void ff_put_vp8_epel8_h4v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2142 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel4_h4v4_mmi()

void ff_put_vp8_epel4_h4v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2181 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel16_h4v6_mmi()

void ff_put_vp8_epel16_h4v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2219 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel8_h4v6_mmi()

void ff_put_vp8_epel8_h4v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2258 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel4_h4v6_mmi()

void ff_put_vp8_epel4_h4v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2297 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel16_h6v4_mmi()

void ff_put_vp8_epel16_h6v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2336 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel8_h6v4_mmi()

void ff_put_vp8_epel8_h6v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2375 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel4_h6v4_mmi()

void ff_put_vp8_epel4_h6v4_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2414 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel16_h6v6_mmi()

void ff_put_vp8_epel16_h6v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2453 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel8_h6v6_mmi()

void ff_put_vp8_epel8_h6v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2492 of file vp8dsp_mmi.c.

◆ ff_put_vp8_epel4_h6v6_mmi()

void ff_put_vp8_epel4_h6v6_mmi ( uint8_t dst,
ptrdiff_t  dststride,
uint8_t src,
ptrdiff_t  srcstride,
int  h,
int  mx,
int  my 
)

Definition at line 2531 of file vp8dsp_mmi.c.

◆ ff_put_vp8_bilinear16_h_mmi()

void ff_put_vp8_bilinear16_h_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2570 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear16_hv_mmi().

◆ ff_put_vp8_bilinear16_v_mmi()

void ff_put_vp8_bilinear16_v_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2646 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear16_hv_mmi().

◆ ff_put_vp8_bilinear16_hv_mmi()

void ff_put_vp8_bilinear16_hv_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2714 of file vp8dsp_mmi.c.

◆ ff_put_vp8_bilinear8_h_mmi()

void ff_put_vp8_bilinear8_h_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2748 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear8_hv_mmi().

◆ ff_put_vp8_bilinear8_v_mmi()

void ff_put_vp8_bilinear8_v_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2808 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear8_hv_mmi().

◆ ff_put_vp8_bilinear8_hv_mmi()

void ff_put_vp8_bilinear8_hv_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2870 of file vp8dsp_mmi.c.

◆ ff_put_vp8_bilinear4_h_mmi()

void ff_put_vp8_bilinear4_h_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2904 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear4_hv_mmi().

◆ ff_put_vp8_bilinear4_v_mmi()

void ff_put_vp8_bilinear4_v_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 2961 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_bilinear4_hv_mmi().

◆ ff_put_vp8_bilinear4_hv_mmi()

void ff_put_vp8_bilinear4_hv_mmi ( uint8_t dst,
ptrdiff_t  dstride,
uint8_t src,
ptrdiff_t  sstride,
int  h,
int  mx,
int  my 
)

Definition at line 3020 of file vp8dsp_mmi.c.

Variable Documentation

◆ fourtap_subpel_filters

const uint64_t fourtap_subpel_filters[7][6]
static
Initial value:
= {
{0x0000000000000000, 0x0006000600060006, 0x007b007b007b007b,
0x000c000c000c000c, 0x0001000100010001, 0x0000000000000000},
{0x0002000200020002, 0x000b000b000b000b, 0x006c006c006c006c,
0x0024002400240024, 0x0008000800080008, 0x0001000100010001},
{0x0000000000000000, 0x0009000900090009, 0x005d005d005d005d,
0x0032003200320032, 0x0006000600060006, 0x0000000000000000},
{0x0003000300030003, 0x0010001000100010, 0x004d004d004d004d,
0x004d004d004d004d, 0x0010001000100010, 0x0003000300030003},
{0x0000000000000000, 0x0006000600060006, 0x0032003200320032,
0x005d005d005d005d, 0x0009000900090009, 0x0000000000000000},
{0x0001000100010001, 0x0008000800080008, 0x0024002400240024,
0x006c006c006c006c, 0x000b000b000b000b, 0x0002000200020002},
{0x0000000000000000, 0x0001000100010001, 0x000c000c000c000c,
0x007b007b007b007b, 0x0006000600060006, 0x0000000000000000}
}

Definition at line 455 of file vp8dsp_mmi.c.

Referenced by ff_put_vp8_epel16_h4_mmi(), ff_put_vp8_epel16_h6_mmi(), ff_put_vp8_epel16_v4_mmi(), ff_put_vp8_epel16_v6_mmi(), ff_put_vp8_epel4_h4_mmi(), ff_put_vp8_epel4_h6_mmi(), ff_put_vp8_epel4_v4_mmi(), ff_put_vp8_epel4_v6_mmi(), ff_put_vp8_epel8_h4_mmi(), ff_put_vp8_epel8_h6_mmi(), ff_put_vp8_epel8_v4_mmi(), and ff_put_vp8_epel8_v6_mmi().