libavcodec/mips/mmi.h File Reference

#include <stdint.h>
#include "libavcodec/dsputil.h"

Go to the source code of this file.

Defines

#define align16   __attribute__ ((aligned (16)))
#define lq(base, off, reg)   __asm__ volatile ("lq " #reg ", %0("#base ")" : : "i" (off) )
#define lq2(mem, reg)   __asm__ volatile ("lq " #reg ", %0" : : "r" (mem))
#define sq(reg, off, base)   __asm__ volatile ("sq " #reg ", %0("#base ")" : : "i" (off) )
#define ld3(base, off, reg)   __asm__ volatile (".word %0" : : "i" ( 0xdc000000 | (base<<21) | (reg<<16) | (off)))
#define ldr3(base, off, reg)   __asm__ volatile (".word %0" : : "i" ( 0x6c000000 | (base<<21) | (reg<<16) | (off)))
#define ldl3(base, off, reg)   __asm__ volatile (".word %0" : : "i" ( 0x68000000 | (base<<21) | (reg<<16) | (off)))
#define sd3(reg, off, base)   __asm__ volatile (".word %0" : : "i" ( 0xfc000000 | (base<<21) | (reg<<16) | (off)))
#define sw(reg, off, base)   __asm__ volatile ("sw " #reg ", " #off "("#base ")")
#define sq2(reg, mem)   __asm__ volatile ("sq " #reg ", %0" : : "m" (*(mem)))
#define pinth(rs, rt, rd)   __asm__ volatile ("pinth " #rd ", " #rs ", " #rt )
#define phmadh(rs, rt, rd)   __asm__ volatile ("phmadh " #rd ", " #rs ", " #rt )
#define pcpyud(rs, rt, rd)   __asm__ volatile ("pcpyud " #rd ", " #rs ", " #rt )
#define pcpyld(rs, rt, rd)   __asm__ volatile ("pcpyld " #rd ", " #rs ", " #rt )
#define pcpyh(rt, rd)   __asm__ volatile ("pcpyh " #rd ", " #rt )
#define paddw(rs, rt, rd)   __asm__ volatile ("paddw " #rd ", " #rs ", " #rt )
#define pextlw(rs, rt, rd)   __asm__ volatile ("pextlw " #rd ", " #rs ", " #rt )
#define pextuw(rs, rt, rd)   __asm__ volatile ("pextuw " #rd ", " #rs ", " #rt )
#define pextlh(rs, rt, rd)   __asm__ volatile ("pextlh " #rd ", " #rs ", " #rt )
#define pextuh(rs, rt, rd)   __asm__ volatile ("pextuh " #rd ", " #rs ", " #rt )
#define psubw(rs, rt, rd)   __asm__ volatile ("psubw " #rd ", " #rs ", " #rt )
#define psraw(rt, sa, rd)   __asm__ volatile ("psraw " #rd ", " #rt ", %0" : : "i"(sa) )
#define ppach(rs, rt, rd)   __asm__ volatile ("ppach " #rd ", " #rs ", " #rt )
#define ppacb(rs, rt, rd)   __asm__ volatile ("ppacb " #rd ", " #rs ", " #rt )
#define prevh(rt, rd)   __asm__ volatile ("prevh " #rd ", " #rt )
#define pmulth(rs, rt, rd)   __asm__ volatile ("pmulth " #rd ", " #rs ", " #rt )
#define pmaxh(rs, rt, rd)   __asm__ volatile ("pmaxh " #rd ", " #rs ", " #rt )
#define pminh(rs, rt, rd)   __asm__ volatile ("pminh " #rd ", " #rs ", " #rt )
#define pinteh(rs, rt, rd)   __asm__ volatile ("pinteh " #rd ", " #rs ", " #rt )
#define paddh(rs, rt, rd)   __asm__ volatile ("paddh " #rd ", " #rs ", " #rt )
#define psubh(rs, rt, rd)   __asm__ volatile ("psubh " #rd ", " #rs ", " #rt )
#define psrah(rt, sa, rd)   __asm__ volatile ("psrah " #rd ", " #rt ", %0" : : "i"(sa) )
#define pmfhl_uw(rd)   __asm__ volatile ("pmfhl.uw " #rd)
#define pextlb(rs, rt, rd)   __asm__ volatile ("pextlb " #rd ", " #rs ", " #rt )

Functions

void ff_mmi_idct_put (uint8_t *dest, int line_size, DCTELEM *block)
void ff_mmi_idct_add (uint8_t *dest, int line_size, DCTELEM *block)
void ff_mmi_idct (DCTELEM *block)


Define Documentation

#define align16   __attribute__ ((aligned (16)))

Definition at line 32 of file mmi.h.

#define ld3 ( base,
off,
reg   )     __asm__ volatile (".word %0" : : "i" ( 0xdc000000 | (base<<21) | (reg<<16) | (off)))

Definition at line 84 of file mmi.h.

#define ldl3 ( base,
off,
reg   )     __asm__ volatile (".word %0" : : "i" ( 0x68000000 | (base<<21) | (reg<<16) | (off)))

Definition at line 90 of file mmi.h.

#define ldr3 ( base,
off,
reg   )     __asm__ volatile (".word %0" : : "i" ( 0x6c000000 | (base<<21) | (reg<<16) | (off)))

Definition at line 87 of file mmi.h.

#define lq ( base,
off,
reg   )     __asm__ volatile ("lq " #reg ", %0("#base ")" : : "i" (off) )

Definition at line 70 of file mmi.h.

Referenced by ff_mmi_idct(), ff_mmi_idct_add(), and ff_mmi_idct_put().

#define lq2 ( mem,
reg   )     __asm__ volatile ("lq " #reg ", %0" : : "r" (mem))

Definition at line 73 of file mmi.h.

#define paddh ( rs,
rt,
rd   )     __asm__ volatile ("paddh " #rd ", " #rs ", " #rt )

Definition at line 164 of file mmi.h.

#define paddw ( rs,
rt,
rd   )     __asm__ volatile ("paddw " #rd ", " #rs ", " #rt )

Definition at line 122 of file mmi.h.

#define pcpyh ( rt,
rd   )     __asm__ volatile ("pcpyh " #rd ", " #rt )

Definition at line 119 of file mmi.h.

#define pcpyld ( rs,
rt,
rd   )     __asm__ volatile ("pcpyld " #rd ", " #rs ", " #rt )

Definition at line 116 of file mmi.h.

#define pcpyud ( rs,
rt,
rd   )     __asm__ volatile ("pcpyud " #rd ", " #rs ", " #rt )

Definition at line 113 of file mmi.h.

#define pextlb ( rs,
rt,
rd   )     __asm__ volatile ("pextlb " #rd ", " #rs ", " #rt )

Definition at line 176 of file mmi.h.

#define pextlh ( rs,
rt,
rd   )     __asm__ volatile ("pextlh " #rd ", " #rs ", " #rt )

Definition at line 131 of file mmi.h.

#define pextlw ( rs,
rt,
rd   )     __asm__ volatile ("pextlw " #rd ", " #rs ", " #rt )

Definition at line 125 of file mmi.h.

#define pextuh ( rs,
rt,
rd   )     __asm__ volatile ("pextuh " #rd ", " #rs ", " #rt )

Definition at line 134 of file mmi.h.

#define pextuw ( rs,
rt,
rd   )     __asm__ volatile ("pextuw " #rd ", " #rs ", " #rt )

Definition at line 128 of file mmi.h.

#define phmadh ( rs,
rt,
rd   )     __asm__ volatile ("phmadh " #rd ", " #rs ", " #rt )

Definition at line 110 of file mmi.h.

#define pinteh ( rs,
rt,
rd   )     __asm__ volatile ("pinteh " #rd ", " #rs ", " #rt )

Definition at line 161 of file mmi.h.

#define pinth ( rs,
rt,
rd   )     __asm__ volatile ("pinth " #rd ", " #rs ", " #rt )

Definition at line 107 of file mmi.h.

#define pmaxh ( rs,
rt,
rd   )     __asm__ volatile ("pmaxh " #rd ", " #rs ", " #rt )

Definition at line 155 of file mmi.h.

#define pmfhl_uw ( rd   )     __asm__ volatile ("pmfhl.uw " #rd)

Definition at line 173 of file mmi.h.

#define pminh ( rs,
rt,
rd   )     __asm__ volatile ("pminh " #rd ", " #rs ", " #rt )

Definition at line 158 of file mmi.h.

#define pmulth ( rs,
rt,
rd   )     __asm__ volatile ("pmulth " #rd ", " #rs ", " #rt )

Definition at line 152 of file mmi.h.

#define ppacb ( rs,
rt,
rd   )     __asm__ volatile ("ppacb " #rd ", " #rs ", " #rt )

Definition at line 146 of file mmi.h.

#define ppach ( rs,
rt,
rd   )     __asm__ volatile ("ppach " #rd ", " #rs ", " #rt )

Definition at line 143 of file mmi.h.

#define prevh ( rt,
rd   )     __asm__ volatile ("prevh " #rd ", " #rt )

Definition at line 149 of file mmi.h.

#define psrah ( rt,
sa,
rd   )     __asm__ volatile ("psrah " #rd ", " #rt ", %0" : : "i"(sa) )

Definition at line 170 of file mmi.h.

#define psraw ( rt,
sa,
rd   )     __asm__ volatile ("psraw " #rd ", " #rt ", %0" : : "i"(sa) )

Definition at line 140 of file mmi.h.

#define psubh ( rs,
rt,
rd   )     __asm__ volatile ("psubh " #rd ", " #rs ", " #rt )

Definition at line 167 of file mmi.h.

#define psubw ( rs,
rt,
rd   )     __asm__ volatile ("psubw " #rd ", " #rs ", " #rt )

Definition at line 137 of file mmi.h.

#define sd3 ( reg,
off,
base   )     __asm__ volatile (".word %0" : : "i" ( 0xfc000000 | (base<<21) | (reg<<16) | (off)))

Definition at line 98 of file mmi.h.

#define sq ( reg,
off,
base   )     __asm__ volatile ("sq " #reg ", %0("#base ")" : : "i" (off) )

Definition at line 76 of file mmi.h.

Referenced by calc_input_response(), pix_norm1(), pix_norm1_c(), sse(), sse16_c(), sse4_c(), and sse8_c().

#define sq2 ( reg,
mem   )     __asm__ volatile ("sq " #reg ", %0" : : "m" (*(mem)))

Definition at line 104 of file mmi.h.

#define sw ( reg,
off,
base   )     __asm__ volatile ("sw " #reg ", " #off "("#base ")")

Definition at line 101 of file mmi.h.

Referenced by config(), and X264_init().


Function Documentation

void ff_mmi_idct ( DCTELEM block  ) 

void ff_mmi_idct_add ( uint8_t dest,
int  line_size,
DCTELEM block 
)

Definition at line 340 of file idct_mmi.c.

Referenced by ff_dsputil_init_mmi().

void ff_mmi_idct_put ( uint8_t dest,
int  line_size,
DCTELEM block 
)

Definition at line 316 of file idct_mmi.c.

Referenced by ff_dsputil_init_mmi().


Generated on Fri Oct 26 02:50:06 2012 for FFmpeg by  doxygen 1.5.8