FFmpeg
Macros | Typedefs | Functions
vc1dsp_mmi.c File Reference
#include "libavutil/avassert.h"
#include "libavutil/mem_internal.h"
#include "libavcodec/vc1dsp.h"
#include "constants.h"
#include "vc1dsp_mips.h"
#include "hpeldsp_mips.h"
#include "libavutil/mips/mmiutils.h"

Go to the source code of this file.

Macros

#define VC1_INV_TRANCS_8_TYPE1(o1, o2, r1, r2, r3, r4, c0)
 
#define VC1_INV_TRANCS_8_TYPE2(o1, o2, r1, r2, r3, r4, c0, c1)
 
#define OP_PUT(S, D)
 
#define OP_AVG(S, D)
 
#define NORMALIZE_MMI(SHIFT)
 Add rounder from $f14 to $f6 and pack result at destination. More...
 
#define TRANSFER_DO_PACK(OP)
 
#define TRANSFER_DONT_PACK(OP)
 
#define DO_UNPACK(reg)   "punpcklbh "reg", "reg", $f0 \n\t"
 
#define DONT_UNPACK(reg)
 
#define LOAD_ROUNDER_MMI(ROUND)
 Compute the rounder 32-r or 8-r and unpacks it to $f14. More...
 
#define SHIFT2_LINE(OFF, R0, R1, R2, R3)
 
#define VC1_HOR_16B_SHIFT2(OP, OPNAME)
 Data is already unpacked, so some operations can directly be made from memory. More...
 
#define VC1_SHIFT2(OP, OPNAME)
 Purely vertical or horizontal 1/2 shift interpolation. More...
 
#define MSPEL_FILTER13_CORE(UNPACK, LOAD, M, A1, A2, A3, A4)
 Core of the 1/4 and 3/4 shift bicubic interpolation. More...
 
#define MSPEL_FILTER13_VER_16B(NAME, A1, A2, A3, A4)
 Macro to build the vertical 16bits version of vc1_put_shift[13]. More...
 
#define MSPEL_FILTER13_HOR_16B(NAME, A1, A2, A3, A4, OP, OPNAME)
 Macro to build the horizontal 16bits version of vc1_put_shift[13]. More...
 
#define MSPEL_FILTER13_8B(NAME, A1, A2, A3, A4, OP, OPNAME)
 Macro to build the 8bits, any direction, version of vc1_put_shift[13]. More...
 
#define VC1_MSPEL_MC(OP)
 Interpolate fractional pel values by applying proper vertical then horizontal filter. More...
 
#define DECLARE_FUNCTION(a, b)
 Macro to ease bicubic filter interpolation functions declarations. More...
 
#define CHROMA_MC_8_MMI
 
#define CHROMA_MC_4_MMI
 

Typedefs

typedef void(* vc1_mspel_mc_filter_ver_16bits) (int16_t *dst, const uint8_t *src, mips_reg src_stride, int rnd, int64_t shift)
 1/4 shift bicubic interpolation More...
 
typedef void(* vc1_mspel_mc_filter_hor_16bits) (uint8_t *dst, mips_reg dst_stride, const int16_t *src, int rnd)
 
typedef void(* vc1_mspel_mc_filter_8bits) (uint8_t *dst, const uint8_t *src, mips_reg stride, int rnd, mips_reg offset)
 

Functions

void ff_vc1_inv_trans_8x8_dc_mmi (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_inv_trans_8x4_dc_mmi (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_inv_trans_4x8_dc_mmi (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_inv_trans_4x4_dc_mmi (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_inv_trans_4x4_mmi (uint8_t *dest, ptrdiff_t linesize, int16_t *block)
 
void ff_vc1_h_overlap_mmi (uint8_t *src, int stride)
 
void ff_vc1_h_s_overlap_mmi (int16_t *left, int16_t *right, int left_stride, int right_stride, int flags)
 
void ff_vc1_v_overlap_mmi (uint8_t *src, int stride)
 
void ff_vc1_v_s_overlap_mmi (int16_t *top, int16_t *bottom)
 
static av_always_inline int vc1_filter_line (uint8_t *src, int stride, int pq)
 VC-1 in-loop deblocking filter for one line. More...
 
static void vc1_loop_filter (uint8_t *src, int step, int stride, int len, int pq)
 VC-1 in-loop deblocking filter. More...
 
void ff_vc1_v_loop_filter4_mmi (uint8_t *src, int stride, int pq)
 
void ff_vc1_h_loop_filter4_mmi (uint8_t *src, int stride, int pq)
 
void ff_vc1_v_loop_filter8_mmi (uint8_t *src, int stride, int pq)
 
void ff_vc1_h_loop_filter8_mmi (uint8_t *src, int stride, int pq)
 
void ff_vc1_v_loop_filter16_mmi (uint8_t *src, int stride, int pq)
 
void ff_vc1_h_loop_filter16_mmi (uint8_t *src, int stride, int pq)
 
void ff_put_vc1_mspel_mc00_mmi (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
 
void ff_put_vc1_mspel_mc00_16_mmi (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
 
void ff_avg_vc1_mspel_mc00_mmi (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
 
void ff_avg_vc1_mspel_mc00_16_mmi (uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
 
static void vc1_put_ver_16b_shift2_mmi (int16_t *dst, const uint8_t *src, mips_reg stride, int rnd, int64_t shift)
 Sacrificing $f12 makes it possible to pipeline loads from src. More...
 
void ff_put_no_rnd_vc1_chroma_mc8_mmi (uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y)
 
void ff_put_no_rnd_vc1_chroma_mc4_mmi (uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y)
 
void ff_avg_no_rnd_vc1_chroma_mc8_mmi (uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y)
 
void ff_avg_no_rnd_vc1_chroma_mc4_mmi (uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y)
 

Macro Definition Documentation

◆ VC1_INV_TRANCS_8_TYPE1

#define VC1_INV_TRANCS_8_TYPE1 (   o1,
  o2,
  r1,
  r2,
  r3,
  r4,
  c0 
)

Definition at line 33 of file vc1dsp_mmi.c.

◆ VC1_INV_TRANCS_8_TYPE2

#define VC1_INV_TRANCS_8_TYPE2 (   o1,
  o2,
  r1,
  r2,
  r3,
  r4,
  c0,
  c1 
)

Definition at line 77 of file vc1dsp_mmi.c.

◆ OP_PUT

#define OP_PUT (   S,
  D 
)

Definition at line 1607 of file vc1dsp_mmi.c.

◆ OP_AVG

#define OP_AVG (   S,
  D 
)
Value:
"ldc1 $f16, "#S" \n\t" \
"pavgb "#D", "#D", $f16 \n\t"

Definition at line 1608 of file vc1dsp_mmi.c.

◆ NORMALIZE_MMI

#define NORMALIZE_MMI (   SHIFT)
Value:
"paddh $f6, $f6, $f14 \n\t" /* +bias-r */ \
"paddh $f8, $f8, $f14 \n\t" /* +bias-r */ \
"psrah $f6, $f6, "SHIFT" \n\t" \
"psrah $f8, $f8, "SHIFT" \n\t"

Add rounder from $f14 to $f6 and pack result at destination.

Definition at line 1613 of file vc1dsp_mmi.c.

◆ TRANSFER_DO_PACK

#define TRANSFER_DO_PACK (   OP)
Value:
"packushb $f6, $f6, $f8 \n\t" \
OP((%[dst]), $f6) \
"sdc1 $f6, 0x00(%[dst]) \n\t"

Definition at line 1619 of file vc1dsp_mmi.c.

◆ TRANSFER_DONT_PACK

#define TRANSFER_DONT_PACK (   OP)
Value:
OP(0(%[dst]), $f6) \
OP(8(%[dst]), $f8) \
"sdc1 $f6, 0x00(%[dst]) \n\t" \
"sdc1 $f8, 0x08(%[dst]) \n\t"

Definition at line 1624 of file vc1dsp_mmi.c.

◆ DO_UNPACK

#define DO_UNPACK (   reg)    "punpcklbh "reg", "reg", $f0 \n\t"
See also
MSPEL_FILTER13_CORE for use as UNPACK macro

Definition at line 1631 of file vc1dsp_mmi.c.

◆ DONT_UNPACK

#define DONT_UNPACK (   reg)

Definition at line 1633 of file vc1dsp_mmi.c.

◆ LOAD_ROUNDER_MMI

#define LOAD_ROUNDER_MMI (   ROUND)
Value:
"lwc1 $f14, "ROUND" \n\t" \
"punpcklhw $f14, $f14, $f14 \n\t" \
"punpcklwd $f14, $f14, $f14 \n\t"

Compute the rounder 32-r or 8-r and unpacks it to $f14.

Definition at line 1636 of file vc1dsp_mmi.c.

◆ SHIFT2_LINE

#define SHIFT2_LINE (   OFF,
  R0,
  R1,
  R2,
  R3 
)
Value:
"paddh "#R1", "#R1", "#R2" \n\t" \
PTR_ADDU "$9, %[src], %[stride1] \n\t" \
MMI_ULWC1(R0, $9, 0x00) \
"pmullh "#R1", "#R1", $f6 \n\t" \
"punpcklbh "#R0", "#R0", $f0 \n\t" \
PTR_ADDU "$9, %[src], %[stride] \n\t" \
MMI_ULWC1(R3, $9, 0x00) \
"psubh "#R1", "#R1", "#R0" \n\t" \
"punpcklbh "#R3", "#R3", $f0 \n\t" \
"paddh "#R1", "#R1", $f14 \n\t" \
"psubh "#R1", "#R1", "#R3" \n\t" \
"psrah "#R1", "#R1", %[shift] \n\t" \
MMI_SDC1(R1, %[dst], OFF) \
PTR_ADDU "%[src], %[src], %[stride] \n\t"

Definition at line 1642 of file vc1dsp_mmi.c.

◆ VC1_HOR_16B_SHIFT2

#define VC1_HOR_16B_SHIFT2 (   OP,
  OPNAME 
)

Data is already unpacked, so some operations can directly be made from memory.

Definition at line 1703 of file vc1dsp_mmi.c.

◆ VC1_SHIFT2

#define VC1_SHIFT2 (   OP,
  OPNAME 
)

Purely vertical or horizontal 1/2 shift interpolation.

Sacrify $f12 for *9 factor.

Definition at line 1763 of file vc1dsp_mmi.c.

◆ MSPEL_FILTER13_CORE

#define MSPEL_FILTER13_CORE (   UNPACK,
  LOAD,
  M,
  A1,
  A2,
  A3,
  A4 
)

Core of the 1/4 and 3/4 shift bicubic interpolation.

Parameters
UNPACKMacro unpacking arguments from 8 to 16bits (can be empty).
LOAD"MMI_ULWC1" or "MMI_ULDC1", if data read is already unpacked.
M"1" for MMI_ULWC1, "2" for MMI_ULDC1.
A1Stride address of 1st tap (beware of unpacked/packed).
A2Stride address of 2nd tap
A3Stride address of 3rd tap
A4Stride address of 4th tap

Definition at line 1842 of file vc1dsp_mmi.c.

◆ MSPEL_FILTER13_VER_16B

#define MSPEL_FILTER13_VER_16B (   NAME,
  A1,
  A2,
  A3,
  A4 
)

Macro to build the vertical 16bits version of vc1_put_shift[13].

Here, offset=src_stride. Parameters passed A1 to A4 must use %3 (src_stride), %4 (2*src_stride) and %5 (3*src_stride).

Parameters
NAMEEither 1 or 3
See also
MSPEL_FILTER13_CORE for information on A1->A4

Definition at line 1888 of file vc1dsp_mmi.c.

◆ MSPEL_FILTER13_HOR_16B

#define MSPEL_FILTER13_HOR_16B (   NAME,
  A1,
  A2,
  A3,
  A4,
  OP,
  OPNAME 
)

Macro to build the horizontal 16bits version of vc1_put_shift[13].

Here, offset=16bits, so parameters passed A1 to A4 should be simple.

Parameters
NAMEEither 1 or 3
See also
MSPEL_FILTER13_CORE for information on A1->A4

Definition at line 1963 of file vc1dsp_mmi.c.

◆ MSPEL_FILTER13_8B

#define MSPEL_FILTER13_8B (   NAME,
  A1,
  A2,
  A3,
  A4,
  OP,
  OPNAME 
)

Macro to build the 8bits, any direction, version of vc1_put_shift[13].

Here, offset=src_stride. Parameters passed A1 to A4 must use %3 (offset), %4 (2*offset) and %5 (3*offset).

Parameters
NAMEEither 1 or 3
See also
MSPEL_FILTER13_CORE for information on A1->A4

Definition at line 2013 of file vc1dsp_mmi.c.

◆ VC1_MSPEL_MC

#define VC1_MSPEL_MC (   OP)

Interpolate fractional pel values by applying proper vertical then horizontal filter.

Parameters
dstDestination buffer for interpolated pels.
srcSource buffer.
strideStride for both src and dst buffers.
hmodeHorizontal filter (expressed in quarter pixels shift).
hmodeVertical filter.
rndRounding bias.

Definition at line 2089 of file vc1dsp_mmi.c.

◆ DECLARE_FUNCTION

#define DECLARE_FUNCTION (   a,
  b 
)
Value:
void ff_put_vc1_mspel_mc ## a ## b ## _mmi(uint8_t *dst, \
const uint8_t *src, \
ptrdiff_t stride, \
int rnd) \
{ \
put_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
} \
void ff_avg_vc1_mspel_mc ## a ## b ## _mmi(uint8_t *dst, \
const uint8_t *src, \
ptrdiff_t stride, \
int rnd) \
{ \
avg_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
} \
void ff_put_vc1_mspel_mc ## a ## b ## _16_mmi(uint8_t *dst, \
const uint8_t *src, \
ptrdiff_t stride, \
int rnd) \
{ \
put_vc1_mspel_mc_16(dst, src, stride, a, b, rnd); \
} \
void ff_avg_vc1_mspel_mc ## a ## b ## _16_mmi(uint8_t *dst, \
const uint8_t *src, \
ptrdiff_t stride, \
int rnd) \
{ \
avg_vc1_mspel_mc_16(dst, src, stride, a, b, rnd); \
}

Macro to ease bicubic filter interpolation functions declarations.

Definition at line 2142 of file vc1dsp_mmi.c.

◆ CHROMA_MC_8_MMI

#define CHROMA_MC_8_MMI

Definition at line 2191 of file vc1dsp_mmi.c.

◆ CHROMA_MC_4_MMI

#define CHROMA_MC_4_MMI
Value:
"punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \
"punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \
"punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" \
"punpcklbh %[ftmp4], %[ftmp4], %[ftmp0] \n\t" \
\
"pmullh %[ftmp1], %[ftmp1], %[A] \n\t" \
"pmullh %[ftmp2], %[ftmp2], %[B] \n\t" \
"pmullh %[ftmp3], %[ftmp3], %[C] \n\t" \
"pmullh %[ftmp4], %[ftmp4], %[D] \n\t" \
\
"paddh %[ftmp1], %[ftmp1], %[ftmp2] \n\t" \
"paddh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" \
"paddh %[ftmp1], %[ftmp1], %[ftmp3] \n\t" \
"paddh %[ftmp1], %[ftmp1], %[ff_pw_28] \n\t" \
\
"psrlh %[ftmp1], %[ftmp1], %[ftmp5] \n\t" \
"packushb %[ftmp1], %[ftmp1], %[ftmp0] \n\t"

Definition at line 2225 of file vc1dsp_mmi.c.

Typedef Documentation

◆ vc1_mspel_mc_filter_ver_16bits

typedef void(* vc1_mspel_mc_filter_ver_16bits) (int16_t *dst, const uint8_t *src, mips_reg src_stride, int rnd, int64_t shift)

1/4 shift bicubic interpolation

3/4 shift bicubic interpolation

Definition at line 2070 of file vc1dsp_mmi.c.

◆ vc1_mspel_mc_filter_hor_16bits

typedef void(* vc1_mspel_mc_filter_hor_16bits) (uint8_t *dst, mips_reg dst_stride, const int16_t *src, int rnd)

Definition at line 2073 of file vc1dsp_mmi.c.

◆ vc1_mspel_mc_filter_8bits

typedef void(* vc1_mspel_mc_filter_8bits) (uint8_t *dst, const uint8_t *src, mips_reg stride, int rnd, mips_reg offset)

Definition at line 2075 of file vc1dsp_mmi.c.

Function Documentation

◆ ff_vc1_inv_trans_8x8_dc_mmi()

void ff_vc1_inv_trans_8x8_dc_mmi ( uint8_t dest,
ptrdiff_t  linesize,
int16_t *  block 
)

Definition at line 126 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_inv_trans_8x4_dc_mmi()

void ff_vc1_inv_trans_8x4_dc_mmi ( uint8_t dest,
ptrdiff_t  linesize,
int16_t *  block 
)

Definition at line 419 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_inv_trans_4x8_dc_mmi()

void ff_vc1_inv_trans_4x8_dc_mmi ( uint8_t dest,
ptrdiff_t  linesize,
int16_t *  block 
)

Definition at line 870 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_inv_trans_4x4_dc_mmi()

void ff_vc1_inv_trans_4x4_dc_mmi ( uint8_t dest,
ptrdiff_t  linesize,
int16_t *  block 
)

Definition at line 1126 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_inv_trans_4x4_mmi()

void ff_vc1_inv_trans_4x4_mmi ( uint8_t dest,
ptrdiff_t  linesize,
int16_t *  block 
)

Definition at line 1174 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_h_overlap_mmi()

void ff_vc1_h_overlap_mmi ( uint8_t src,
int  stride 
)

Definition at line 1380 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_h_s_overlap_mmi()

void ff_vc1_h_s_overlap_mmi ( int16_t *  left,
int16_t *  right,
int  left_stride,
int  right_stride,
int  flags 
)

Definition at line 1403 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_v_overlap_mmi()

void ff_vc1_v_overlap_mmi ( uint8_t src,
int  stride 
)

Definition at line 1433 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_v_s_overlap_mmi()

void ff_vc1_v_s_overlap_mmi ( int16_t *  top,
int16_t *  bottom 
)

Definition at line 1456 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ vc1_filter_line()

static av_always_inline int vc1_filter_line ( uint8_t src,
int  stride,
int  pq 
)
static

VC-1 in-loop deblocking filter for one line.

Parameters
srcsource block type
strideblock stride
pqblock quantizer
Returns
whether other 3 pairs should be filtered or not
See also
8.6

Definition at line 1490 of file vc1dsp_mmi.c.

Referenced by vc1_loop_filter().

◆ vc1_loop_filter()

static void vc1_loop_filter ( uint8_t src,
int  step,
int  stride,
int  len,
int  pq 
)
inlinestatic

VC-1 in-loop deblocking filter.

Parameters
srcsource block type
stepdistance between horizontally adjacent elements
stridedistance between vertically adjacent elements
lenedge length to filter (4 or 8 pixels)
pqblock quantizer
See also
8.6

Definition at line 1539 of file vc1dsp_mmi.c.

Referenced by ff_vc1_h_loop_filter16_mmi(), ff_vc1_h_loop_filter4_mmi(), ff_vc1_h_loop_filter8_mmi(), ff_vc1_v_loop_filter16_mmi(), ff_vc1_v_loop_filter4_mmi(), and ff_vc1_v_loop_filter8_mmi().

◆ ff_vc1_v_loop_filter4_mmi()

void ff_vc1_v_loop_filter4_mmi ( uint8_t src,
int  stride,
int  pq 
)

Definition at line 1556 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_h_loop_filter4_mmi()

void ff_vc1_h_loop_filter4_mmi ( uint8_t src,
int  stride,
int  pq 
)

Definition at line 1561 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_v_loop_filter8_mmi()

void ff_vc1_v_loop_filter8_mmi ( uint8_t src,
int  stride,
int  pq 
)

Definition at line 1566 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_h_loop_filter8_mmi()

void ff_vc1_h_loop_filter8_mmi ( uint8_t src,
int  stride,
int  pq 
)

Definition at line 1571 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_v_loop_filter16_mmi()

void ff_vc1_v_loop_filter16_mmi ( uint8_t src,
int  stride,
int  pq 
)

Definition at line 1576 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_vc1_h_loop_filter16_mmi()

void ff_vc1_h_loop_filter16_mmi ( uint8_t src,
int  stride,
int  pq 
)

Definition at line 1581 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_put_vc1_mspel_mc00_mmi()

void ff_put_vc1_mspel_mc00_mmi ( uint8_t dst,
const uint8_t src,
ptrdiff_t  stride,
int  rnd 
)

Definition at line 1586 of file vc1dsp_mmi.c.

◆ ff_put_vc1_mspel_mc00_16_mmi()

void ff_put_vc1_mspel_mc00_16_mmi ( uint8_t dst,
const uint8_t src,
ptrdiff_t  stride,
int  rnd 
)

Definition at line 1591 of file vc1dsp_mmi.c.

◆ ff_avg_vc1_mspel_mc00_mmi()

void ff_avg_vc1_mspel_mc00_mmi ( uint8_t dst,
const uint8_t src,
ptrdiff_t  stride,
int  rnd 
)

Definition at line 1596 of file vc1dsp_mmi.c.

◆ ff_avg_vc1_mspel_mc00_16_mmi()

void ff_avg_vc1_mspel_mc00_16_mmi ( uint8_t dst,
const uint8_t src,
ptrdiff_t  stride,
int  rnd 
)

Definition at line 1601 of file vc1dsp_mmi.c.

◆ vc1_put_ver_16b_shift2_mmi()

static void vc1_put_ver_16b_shift2_mmi ( int16_t *  dst,
const uint8_t src,
mips_reg  stride,
int  rnd,
int64_t  shift 
)
static

Sacrificing $f12 makes it possible to pipeline loads from src.

Definition at line 1659 of file vc1dsp_mmi.c.

◆ ff_put_no_rnd_vc1_chroma_mc8_mmi()

void ff_put_no_rnd_vc1_chroma_mc8_mmi ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride,
int  h,
int  x,
int  y 
)

Definition at line 2245 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_put_no_rnd_vc1_chroma_mc4_mmi()

void ff_put_no_rnd_vc1_chroma_mc4_mmi ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride,
int  h,
int  x,
int  y 
)

Definition at line 2300 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_avg_no_rnd_vc1_chroma_mc8_mmi()

void ff_avg_no_rnd_vc1_chroma_mc8_mmi ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride,
int  h,
int  x,
int  y 
)

Definition at line 2353 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

◆ ff_avg_no_rnd_vc1_chroma_mc4_mmi()

void ff_avg_no_rnd_vc1_chroma_mc4_mmi ( uint8_t dst,
uint8_t src,
ptrdiff_t  stride,
int  h,
int  x,
int  y 
)

Definition at line 2411 of file vc1dsp_mmi.c.

Referenced by ff_vc1dsp_init_mips().

stride
int stride
Definition: mace.c:144
R3
#define R3
Definition: simple_idct.c:174
R0
#define R0(v, w, x, y, z, i)
Definition: sha.c:56
b
#define b
Definition: input.c:41
SHIFT
#define SHIFT
Definition: median_template.c:42
R1
#define R1
Definition: simple_idct.c:172
D
D(D(float, sse)
Definition: rematrix_init.c:28
S
#define S(s, c, i)
Definition: flacdsp_template.c:46
OP
#define OP(LOAD, STORE)
Definition: hpeldsp_alpha.c:55
rnd
#define rnd()
Definition: checkasm.h:117
src
#define src
Definition: vp8dsp.c:255
OFF
#define OFF(member)
Definition: pthread_frame.c:698
R2
#define R2
Definition: simple_idct.c:173
a
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
Definition: undefined.txt:41
uint8_t
uint8_t
Definition: audio_convert.c:194