FFmpeg
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 (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_16width_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_horiz_bilinear_filter_8width_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_horiz_bilinear_filter_16width_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_vert_bilinear_filter_8width_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_vert_bilinear_filter_16width_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_hv_bilinear_filter_8width_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sad_hv_bilinear_filter_16width_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride, int32_t height)
 
static uint32_t sse_4width_msa (const uint8_t *src_ptr, int32_t src_stride, const uint8_t *ref_ptr, int32_t ref_stride, int32_t height)
 
static uint32_t sse_8width_msa (const uint8_t *src_ptr, int32_t src_stride, const uint8_t *ref_ptr, int32_t ref_stride, int32_t height)
 
static uint32_t sse_16width_msa (const uint8_t *src_ptr, int32_t src_stride, const uint8_t *ref_ptr, int32_t ref_stride, int32_t height)
 
static int32_t hadamard_diff_8x8_msa (const uint8_t *src, int32_t src_stride, const uint8_t *ref, int32_t ref_stride)
 
static int32_t hadamard_intra_8x8_msa (const uint8_t *src, int32_t src_stride, const uint8_t *dumy, int32_t ref_stride)
 
int ff_pix_abs16_msa (MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_pix_abs8_msa (MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_pix_abs16_x2_msa (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs16_y2_msa (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs16_xy2_msa (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs8_x2_msa (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs8_y2_msa (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_pix_abs8_xy2_msa (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h)
 
int ff_sse16_msa (MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_sse8_msa (MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_sse4_msa (MpegEncContext *v, const uint8_t *src, const uint8_t *ref, ptrdiff_t stride, int height)
 
int ff_hadamard8_diff8x8_msa (MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h)
 
int ff_hadamard8_intra8x8_msa (MpegEncContext *s, const uint8_t *src, const uint8_t *dummy, 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

◆ CALC_MSE_B

#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); \
}

Definition at line 505 of file me_cmp_msa.c.

◆ WRAPPER8_16_SQ

#define WRAPPER8_16_SQ (   name8,
  name16 
)
Value:
int name16(MpegEncContext *s, const uint8_t *dst, const 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; \
}

Definition at line 814 of file me_cmp_msa.c.

Function Documentation

◆ sad_8width_msa()

static uint32_t sad_8width_msa ( const uint8_t *  src,
int32_t  src_stride,
const 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().

◆ sad_16width_msa()

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

Definition at line 58 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_msa().

◆ sad_horiz_bilinear_filter_8width_msa()

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

Definition at line 92 of file me_cmp_msa.c.

Referenced by ff_pix_abs8_x2_msa().

◆ sad_horiz_bilinear_filter_16width_msa()

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

Definition at line 148 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_x2_msa().

◆ sad_vert_bilinear_filter_8width_msa()

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

Definition at line 198 of file me_cmp_msa.c.

Referenced by ff_pix_abs8_y2_msa().

◆ sad_vert_bilinear_filter_16width_msa()

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

Definition at line 249 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_y2_msa().

◆ sad_hv_bilinear_filter_8width_msa()

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

Definition at line 298 of file me_cmp_msa.c.

Referenced by ff_pix_abs8_xy2_msa().

◆ sad_hv_bilinear_filter_16width_msa()

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

Definition at line 372 of file me_cmp_msa.c.

Referenced by ff_pix_abs16_xy2_msa().

◆ sse_4width_msa()

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

Definition at line 515 of file me_cmp_msa.c.

Referenced by ff_sse4_msa().

◆ sse_8width_msa()

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

Definition at line 559 of file me_cmp_msa.c.

Referenced by ff_sse8_msa().

◆ sse_16width_msa()

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

Definition at line 597 of file me_cmp_msa.c.

Referenced by ff_sse16_msa().

◆ hadamard_diff_8x8_msa()

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

Definition at line 646 of file me_cmp_msa.c.

Referenced by ff_hadamard8_diff8x8_msa().

◆ hadamard_intra_8x8_msa()

static int32_t hadamard_intra_8x8_msa ( const uint8_t *  src,
int32_t  src_stride,
const uint8_t *  dumy,
int32_t  ref_stride 
)
static

Definition at line 691 of file me_cmp_msa.c.

Referenced by ff_hadamard8_intra8x8_msa().

◆ ff_pix_abs16_msa()

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

Definition at line 735 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_pix_abs8_msa()

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

Definition at line 741 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_pix_abs16_x2_msa()

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

Definition at line 747 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_pix_abs16_y2_msa()

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

Definition at line 753 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_pix_abs16_xy2_msa()

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

Definition at line 759 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_pix_abs8_x2_msa()

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

Definition at line 765 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_pix_abs8_y2_msa()

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

Definition at line 771 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_pix_abs8_xy2_msa()

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

Definition at line 777 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_sse16_msa()

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

Definition at line 783 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_sse8_msa()

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

Definition at line 789 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_sse4_msa()

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

Definition at line 795 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_hadamard8_diff8x8_msa()

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

Definition at line 801 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ ff_hadamard8_intra8x8_msa()

int ff_hadamard8_intra8x8_msa ( MpegEncContext s,
const uint8_t *  src,
const uint8_t *  dummy,
ptrdiff_t  stride,
int  h 
)

Definition at line 807 of file me_cmp_msa.c.

Referenced by ff_me_cmp_init_mips().

◆ WRAPPER8_16_SQ() [1/2]

◆ WRAPPER8_16_SQ() [2/2]

s
#define s(width, name)
Definition: cbs_vp9.c:198
ILVRL_B2_UB
#define ILVRL_B2_UB(...)
Definition: generic_macros_msa.h:1495
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
stride
#define stride
Definition: h264pred_template.c:537
ref
static int ref[MAX_W *MAX_W]
Definition: jpeg2000dwt.c:117
h
h
Definition: vp9dsp_template.c:2070
MpegEncContext
MpegEncContext.
Definition: mpegvideo.h:73
src
#define src
Definition: vp8dsp.c:248