#include "libavcodec/dsputil.h"
#include "dsputil_sh4.h"
#include "sh4.h"
Go to the source code of this file.
Defines | |
#define | c1 1.38703984532214752434 |
#define | c2 1.30656296487637657577 |
#define | c3 1.17587560241935884520 |
#define | c4 1.00000000000000000000 |
#define | c5 0.78569495838710234903 |
#define | c6 0.54119610014619712324 |
#define | c7 0.27589937928294311353 |
#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 | |
void | idct_sh4 (DCTELEM *block) |
Variables | |
static const float | even_table [] |
static const float | odd_table [] |
#define c1 1.38703984532214752434 |
Definition at line 27 of file idct_sh4.c.
Referenced by decode_frame(), and ps_tableinit().
#define c2 1.30656296487637657577 |
Definition at line 28 of file idct_sh4.c.
Referenced by postProcess_SSE2(), ps_tableinit(), and qpel_motion_search().
#define c3 1.17587560241935884520 |
Definition at line 29 of file idct_sh4.c.
#define c4 1.00000000000000000000 |
Definition at line 30 of file idct_sh4.c.
Referenced by idct248_ref().
#define c5 0.78569495838710234903 |
Definition at line 31 of file idct_sh4.c.
#define c6 0.54119610014619712324 |
Definition at line 32 of file idct_sh4.c.
#define c7 0.27589937928294311353 |
Definition at line 33 of file idct_sh4.c.
#define DEFREG |
register float fr0 __asm__("fr0"); \ register float fr1 __asm__("fr1"); \ register float fr2 __asm__("fr2"); \ register float fr3 __asm__("fr3")
Definition at line 81 of file idct_sh4.c.
#define DESCALE | ( | x, | ||
n | ||||
) | (x)*(1.0f/(1<<(n))) |
Definition at line 124 of file idct_sh4.c.
Referenced by idct_sh4().
#define ftrv | ( | ) |
__asm__ volatile("ftrv xmtrx,fv0" \ : "+f"(fr0),"+f"(fr1),"+f"(fr2),"+f"(fr3));
Definition at line 77 of file idct_sh4.c.
Referenced by idct_sh4().
#define load_matrix | ( | table | ) |
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)
Definition at line 59 of file idct_sh4.c.
Referenced by idct_sh4().
#define OA | ( | fblock, | ||
ofs | ||||
) | *(float*)((char*)fblock + ofs) |
Referenced by idct_sh4().
void idct_sh4 | ( | DCTELEM * | block | ) |
Definition at line 135 of file idct_sh4.c.
Referenced by idct_add(), and idct_put().
const float even_table[] [static] |
{ c4, c4, c4, c4, c2, c6,-c6,-c2, c4,-c4,-c4, c4, c6,-c2, c2,-c6 }
Definition at line 35 of file idct_sh4.c.
Referenced by idct_sh4().
const float odd_table[] [static] |
{ c1, c3, c5, c7, c3,-c7,-c1,-c5, c5,-c1, c7, c3, c7,-c5, c3,-c1 }
Definition at line 42 of file idct_sh4.c.
Referenced by idct_sh4().