FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
me_cmp_msa.c File Reference
#include "libavutil/mips/generic_macros_msa.h"
#include "me_cmp_mips.h"

Go to the source code of this file.

Macros

#define CALC_MSE_B(src, ref, var)
 
#define WRAPPER8_16_SQ(name8, name16)
 

Functions

static uint32_t sad_8width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_16width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_horiz_bilinear_filter_8width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_horiz_bilinear_filter_16width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_vert_bilinear_filter_8width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_vert_bilinear_filter_16width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_hv_bilinear_filter_8width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_hv_bilinear_filter_16width_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sse_4width_msa (uint8_t *src_ptr, int32_t src_stride, uint8_t *ref_ptr, int32_t ref_stride, int32_t height)
 
static uint32_t sse_8width_msa (uint8_t *src_ptr, int32_t src_stride, uint8_t *ref_ptr, int32_t ref_stride, int32_t height)
 
static uint32_t sse_16width_msa (uint8_t *src_ptr, int32_t src_stride, uint8_t *ref_ptr, int32_t ref_stride, int32_t height)
 
static int32_t hadamard_diff_8x8_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride)
 
static int32_t hadamard_intra_8x8_msa (uint8_t *src, int32_t src_stride, uint8_t *ref, int32_t ref_stride)
 
int ff_pix_abs16_msa (MpegEncContext *v, uint8_t *src, uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_pix_abs8_msa (MpegEncContext *v, uint8_t *src, uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_pix_abs16_x2_msa (MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs16_y2_msa (MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs16_xy2_msa (MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs8_x2_msa (MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs8_y2_msa (MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs8_xy2_msa (MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_sse16_msa (MpegEncContext *v, uint8_t *src, uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_sse8_msa (MpegEncContext *v, uint8_t *src, uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_sse4_msa (MpegEncContext *v, uint8_t *src, uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_hadamard8_diff8x8_msa (MpegEncContext *s, uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h)
 
int ff_hadamard8_intra8x8_msa (MpegEncContext *s, uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h)
 
 WRAPPER8_16_SQ (ff_hadamard8_diff8x8_msa, ff_hadamard8_diff16_msa)
 
 WRAPPER8_16_SQ (ff_hadamard8_intra8x8_msa, ff_hadamard8_intra16_msa)
 

Macro Definition Documentation

#define CALC_MSE_B (   src,
  ref,
  var 
)
Value:
{ \
v16u8 src_l0_m, src_l1_m; \
v8i16 res_l0_m, res_l1_m; \
ILVRL_B2_UB(src, ref, src_l0_m, src_l1_m); \
HSUB_UB2_SH(src_l0_m, src_l1_m, res_l0_m, res_l1_m); \
DPADD_SH2_SW(res_l0_m, res_l1_m, res_l0_m, res_l1_m, var, var); \
}
#define ILVRL_B2_UB(...)
AVS_Value src
Definition: avisynth_c.h:482
#define HSUB_UB2_SH(...)
#define DPADD_SH2_SW(...)

Definition at line 396 of file me_cmp_msa.c.

Referenced by sse_16width_msa(), sse_4width_msa(), and sse_8width_msa().

#define WRAPPER8_16_SQ (   name8,
  name16 
)
Value:
int name16(MpegEncContext *s, uint8_t *dst, uint8_t *src, \
ptrdiff_t stride, int h) \
{ \
int score = 0; \
score += name8(s, dst, src, stride, 8); \
score += name8(s, dst + 8, src + 8, stride, 8); \
if(h == 16) { \
dst += 8 * stride; \
src += 8 * stride; \
score +=name8(s, dst, src, stride, 8); \
score +=name8(s, dst + 8, src + 8, stride, 8); \
} \
return score; \
}
const char * s
Definition: avisynth_c.h:631
uint8_t
return
AVS_Value src
Definition: avisynth_c.h:482
MpegEncContext.
Definition: mpegvideo.h:88
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:105
if(ret< 0)
Definition: vf_mcdeint.c:280
#define stride

Definition at line 669 of file me_cmp_msa.c.

Function Documentation

static uint32_t sad_8width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 24 of file me_cmp_msa.c.

Referenced by ff_pix_abs8_msa().

static uint32_t sad_16width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 46 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_msa().

static uint32_t sad_horiz_bilinear_filter_8width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 71 of file me_cmp_msa.c.

Referenced by ff_pix_abs8_x2_msa().

static uint32_t sad_horiz_bilinear_filter_16width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 113 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_x2_msa().

static uint32_t sad_vert_bilinear_filter_8width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 151 of file me_cmp_msa.c.

Referenced by ff_pix_abs8_y2_msa().

static uint32_t sad_vert_bilinear_filter_16width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 189 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_y2_msa().

static uint32_t sad_hv_bilinear_filter_8width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 227 of file me_cmp_msa.c.

Referenced by ff_pix_abs8_xy2_msa().

static uint32_t sad_hv_bilinear_filter_16width_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 283 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_xy2_msa().

static uint32_t sse_4width_msa ( uint8_t src_ptr,
int32_t  src_stride,
uint8_t ref_ptr,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 406 of file me_cmp_msa.c.

Referenced by ff_sse4_msa().

static uint32_t sse_8width_msa ( uint8_t src_ptr,
int32_t  src_stride,
uint8_t ref_ptr,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 434 of file me_cmp_msa.c.

Referenced by ff_sse8_msa().

static uint32_t sse_16width_msa ( uint8_t src_ptr,
int32_t  src_stride,
uint8_t ref_ptr,
int32_t  ref_stride,
int32_t  height 
)
static

Definition at line 461 of file me_cmp_msa.c.

Referenced by ff_sse16_msa().

static int32_t hadamard_diff_8x8_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride 
)
static

Definition at line 501 of file me_cmp_msa.c.

Referenced by ff_hadamard8_diff8x8_msa().

static int32_t hadamard_intra_8x8_msa ( uint8_t src,
int32_t  src_stride,
uint8_t ref,
int32_t  ref_stride 
)
static

Definition at line 546 of file me_cmp_msa.c.

Referenced by ff_hadamard8_intra8x8_msa().

int ff_pix_abs16_msa ( MpegEncContext v,
uint8_t src,
uint8_t ref,
ptrdiff_t  stride,
int  height 
)

Definition at line 590 of file me_cmp_msa.c.

int ff_pix_abs8_msa ( MpegEncContext v,
uint8_t src,
uint8_t ref,
ptrdiff_t  stride,
int  height 
)

Definition at line 596 of file me_cmp_msa.c.

int ff_pix_abs16_x2_msa ( MpegEncContext v,
uint8_t pix1,
uint8_t pix2,
ptrdiff_t  stride,
int  h 
)

Definition at line 602 of file me_cmp_msa.c.

int ff_pix_abs16_y2_msa ( MpegEncContext v,
uint8_t pix1,
uint8_t pix2,
ptrdiff_t  stride,
int  h 
)

Definition at line 608 of file me_cmp_msa.c.

int ff_pix_abs16_xy2_msa ( MpegEncContext v,
uint8_t pix1,
uint8_t pix2,
ptrdiff_t  stride,
int  h 
)

Definition at line 614 of file me_cmp_msa.c.

int ff_pix_abs8_x2_msa ( MpegEncContext v,
uint8_t pix1,
uint8_t pix2,
ptrdiff_t  stride,
int  h 
)

Definition at line 620 of file me_cmp_msa.c.

int ff_pix_abs8_y2_msa ( MpegEncContext v,
uint8_t pix1,
uint8_t pix2,
ptrdiff_t  stride,
int  h 
)

Definition at line 626 of file me_cmp_msa.c.

int ff_pix_abs8_xy2_msa ( MpegEncContext v,
uint8_t pix1,
uint8_t pix2,
ptrdiff_t  stride,
int  h 
)

Definition at line 632 of file me_cmp_msa.c.

int ff_sse16_msa ( MpegEncContext v,
uint8_t src,
uint8_t ref,
ptrdiff_t  stride,
int  height 
)

Definition at line 638 of file me_cmp_msa.c.

int ff_sse8_msa ( MpegEncContext v,
uint8_t src,
uint8_t ref,
ptrdiff_t  stride,
int  height 
)

Definition at line 644 of file me_cmp_msa.c.

int ff_sse4_msa ( MpegEncContext v,
uint8_t src,
uint8_t ref,
ptrdiff_t  stride,
int  height 
)

Definition at line 650 of file me_cmp_msa.c.

int ff_hadamard8_diff8x8_msa ( MpegEncContext s,
uint8_t dst,
uint8_t src,
ptrdiff_t  stride,
int  h 
)

Definition at line 656 of file me_cmp_msa.c.

int ff_hadamard8_intra8x8_msa ( MpegEncContext s,
uint8_t dst,
uint8_t src,
ptrdiff_t  stride,
int  h 
)

Definition at line 662 of file me_cmp_msa.c.