28#define B0 1.0000000000000000000000
29#define B1 1.3870398453221474618216
30#define B2 1.3065629648763765278566
31#define B3 1.1758756024193587169745
32#define B4 1.0000000000000000000000
33#define B5 0.7856949583871021812779
34#define B6 0.5411961001461969843997
35#define B7 0.2758993792829430123360
37#define A4 0.70710678118654752438
38#define A2 0.92387953251128675613
55 FLOAT s04, d04, s17, d17, s26, d26, s53, d53;
56 FLOAT os07, os16, os25, os34;
57 FLOAT od07, od16, od25, od34;
59 for(
i=0;
i<y*8;
i+=y){
66 od25= (s17 - s53)*(2*
A4);
68 od34= d17*(2*(
B6-
A2)) - d53*(2*
A2);
69 od16= d53*(2*(
A2-
B2)) + d17*(2*
A2);
89 temp[0*x +
i]= os07 + od07;
90 temp[7*x +
i]= os07 - od07;
91 temp[1*x +
i]= os16 + od16;
92 temp[6*x +
i]= os16 - od16;
93 temp[2*x +
i]= os25 + od25;
94 temp[5*x +
i]= os25 - od25;
95 temp[3*x +
i]= os34 - od34;
96 temp[4*x +
i]= os34 + od34;
#define i(width, name, range_min, range_max)
common internal and external API header
void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
void ff_faanidct(int16_t block[64])
static void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest, ptrdiff_t stride, int x, int y, int type)
static const FLOAT prescale[64]
void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])