idct_sh4.c File Reference
#include "dsputil_sh4.h"
#include "sh4.h"
Include dependency graph for idct_sh4.c:

Go to the source code of this file.

Macros

#define c1   1.38703984532214752434 /* sqrt(2)*cos(1*pi/16) */
 
#define c2   1.30656296487637657577 /* sqrt(2)*cos(2*pi/16) */
 
#define c3   1.17587560241935884520 /* sqrt(2)*cos(3*pi/16) */
 
#define c4   1.00000000000000000000 /* sqrt(2)*cos(4*pi/16) */
 
#define c5   0.78569495838710234903 /* sqrt(2)*cos(5*pi/16) */
 
#define c6   0.54119610014619712324 /* sqrt(2)*cos(6*pi/16) */
 
#define c7   0.27589937928294311353 /* sqrt(2)*cos(7*pi/16) */
 
#define load_matrix(table)
 
#define ftrv()
 
#define DEFREG
 
#define DESCALE(x, n)   (x)*(1.0f/(1<<(n)))
 
#define OA(fblock, ofs)   *(float*)((char*)fblock + ofs)
 

Functions

static const float even_table[] __attribute__ ((aligned(8)))
 
void ff_idct_sh4 (int16_t *block)
 

Macro Definition Documentation

#define c3   1.17587560241935884520 /* sqrt(2)*cos(3*pi/16) */
#define c4   1.00000000000000000000 /* sqrt(2)*cos(4*pi/16) */
#define c5   0.78569495838710234903 /* sqrt(2)*cos(5*pi/16) */
#define c6   0.54119610014619712324 /* sqrt(2)*cos(6*pi/16) */
#define c7   0.27589937928294311353 /* sqrt(2)*cos(7*pi/16) */
#define DEFREG
Value:
register float fr0 __asm__("fr0"); \
register float fr1 __asm__("fr1"); \
register float fr2 __asm__("fr2"); \
register float fr3 __asm__("fr3")

Definition at line 78 of file idct_sh4.c.

Referenced by ff_idct_sh4().

#define DESCALE (   x,
  n 
)    (x)*(1.0f/(1<<(n)))

Definition at line 84 of file idct_sh4.c.

Referenced by ff_idct_sh4().

#define ftrv ( )
Value:
__asm__ volatile("ftrv xmtrx,fv0" \
: "+f"(fr0),"+f"(fr1),"+f"(fr2),"+f"(fr3));

Definition at line 74 of file idct_sh4.c.

Referenced by ff_idct_sh4().

#define load_matrix (   table)
Value:
do { \
const float *t = table; \
__asm__ volatile( \
" fschg\n" \
" fmov @%0+,xd0\n" \
" fmov @%0+,xd2\n" \
" fmov @%0+,xd4\n" \
" fmov @%0+,xd6\n" \
" fmov @%0+,xd8\n" \
" fmov @%0+,xd10\n" \
" fmov @%0+,xd12\n" \
" fmov @%0+,xd14\n" \
" fschg\n" \
: "+r"(t) \
); \
} while (0)
static const struct endianess table[]
t
Definition: genspecsines3.m:6

Definition at line 56 of file idct_sh4.c.

Referenced by ff_idct_sh4().

#define OA (   fblock,
  ofs 
)    *(float*)((char*)fblock + ofs)

Referenced by ff_idct_sh4().

Function Documentation

static const float even_table [] __attribute__ ( (aligned(8))  )
static

Referenced by http_vlog().

void ff_idct_sh4 ( int16_t *  block)

Definition at line 91 of file idct_sh4.c.

Referenced by ff_dsputil_init_sh4(), idct_add(), and idct_put().