hvirtual/quicktime/ffmpeg/libavcodec/dct-test.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <unistd.h>
#include "dsputil.h"
#include "i386/mmx.h"
#include "simple_idct.h"
#include "faandct.h"

Include dependency graph for dct-test.c:

Go to the source code of this file.

Defines

#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
#define AANSCALE_BITS   12
#define NB_ITS   20000
#define NB_ITS_SPEED   50000

Functions

void fdct (DCTELEM *block)
void idct (DCTELEM *block)
void init_fdct ()
void j_rev_dct (DCTELEM *data)
void ff_mmx_idct (DCTELEM *data)
void ff_mmxext_idct (DCTELEM *data)
void odivx_idct_c (short *block)
int64_t gettime (void)
void idct_mmx_init (void)
static DCTELEM block[64] __attribute__ ((aligned(8)))
void dct_error (const char *name, int is_idct, void(*fdct_func)(DCTELEM *block), void(*fdct_ref)(DCTELEM *block), int test)
void idct248_ref (uint8_t *dest, int linesize, int16_t *block)
void idct248_error (const char *name, void(*idct248_put)(uint8_t *dest, int line_size, int16_t *block))
void help (void)
int main (int argc, char **argv)

Variables

static const unsigned short aanscales [64]
uint8_t cropTbl [256+2 *MAX_NEG_CROP]
static short idct_mmx_perm [64]
static short idct_simple_mmx_perm [64]


Detailed Description

DCT test. (c) 2001 Fabrice Bellard. Started from sample code by Juan J. Sierralta P.

Definition in file dct-test.c.


Define Documentation

#define AANSCALE_BITS   12

Definition at line 34 of file dct-test.c.

Referenced by dct_error().

#define MAX ( a,
b   )     (((a) > (b)) ? (a) : (b))

Definition at line 20 of file dct-test.c.

#define NB_ITS   20000

Definition at line 56 of file dct-test.c.

Referenced by dct_error(), idct248_error(), and test_motion().

#define NB_ITS_SPEED   50000

Definition at line 57 of file dct-test.c.

Referenced by dct_error(), and idct248_error().


Function Documentation

static DCTELEM block [64] __attribute__ ( (aligned(8))   )  [static]

void dct_error ( const char *  name,
int  is_idct,
void(*)(DCTELEM *block)  fdct_func,
void(*)(DCTELEM *block)  fdct_ref,
int  test 
)

void fdct ( DCTELEM block  ) 

Definition at line 63 of file fdctref.c.

void ff_mmx_idct ( DCTELEM data  ) 

void ff_mmxext_idct ( DCTELEM data  ) 

int64_t gettime ( void   ) 

Definition at line 49 of file dct-test.c.

References NULL.

Referenced by dct_error(), idct248_error(), main(), and test_motion().

void help ( void   ) 

Definition at line 431 of file dct-test.c.

Referenced by main(), and psycho_1_tonal_label().

void idct ( DCTELEM block  ) 

Definition at line 126 of file fdctref.c.

References c.

void idct248_error ( const char *  name,
void(*)(uint8_t *dest, int line_size, int16_t *block)  idct248_put 
)

Definition at line 355 of file dct-test.c.

References emms, gettime(), idct248_ref(), NB_ITS, and NB_ITS_SPEED.

Referenced by main().

Here is the call graph for this function:

void idct248_ref ( uint8_t *  dest,
int  linesize,
int16_t *  block 
)

Definition at line 275 of file dct-test.c.

References c4, init, M_PI, and s.

Referenced by idct248_error().

void idct_mmx_init ( void   ) 

Definition at line 72 of file dct-test.c.

References idct_mmx_perm.

Referenced by main().

void init_fdct (  ) 

Definition at line 49 of file fdctref.c.

void j_rev_dct ( DCTELEM data  ) 

int main ( int  argc,
char **  argv 
)

void odivx_idct_c ( short *  block  ) 


Variable Documentation

const unsigned short aanscales[64] [static]

Initial value:

 {
    
    16384, 22725, 21407, 19266, 16384, 12873,  8867,  4520,
    22725, 31521, 29692, 26722, 22725, 17855, 12299,  6270,
    21407, 29692, 27969, 25172, 21407, 16819, 11585,  5906,
    19266, 26722, 25172, 22654, 19266, 15137, 10426,  5315,
    16384, 22725, 21407, 19266, 16384, 12873,  8867,  4520,
    12873, 17855, 16819, 15137, 12873, 10114,  6967,  3552,
    8867, 12299, 11585, 10426,  8867,  6967,  4799,  2446,
    4520,  6270,  5906,  5315,  4520,  3552,  2446,  1247
}

Definition at line 35 of file dct-test.c.

Referenced by dct_error().

uint8_t cropTbl[256+2 *MAX_NEG_CROP]

short idct_mmx_perm[64] [static]

Definition at line 59 of file dct-test.c.

Referenced by dct_error(), and idct_mmx_init().

short idct_simple_mmx_perm[64] [static]

Initial value:

{
        0x00, 0x08, 0x04, 0x09, 0x01, 0x0C, 0x05, 0x0D, 
        0x10, 0x18, 0x14, 0x19, 0x11, 0x1C, 0x15, 0x1D, 
        0x20, 0x28, 0x24, 0x29, 0x21, 0x2C, 0x25, 0x2D, 
        0x12, 0x1A, 0x16, 0x1B, 0x13, 0x1E, 0x17, 0x1F, 
        0x02, 0x0A, 0x06, 0x0B, 0x03, 0x0E, 0x07, 0x0F, 
        0x30, 0x38, 0x34, 0x39, 0x31, 0x3C, 0x35, 0x3D, 
        0x22, 0x2A, 0x26, 0x2B, 0x23, 0x2E, 0x27, 0x2F, 
        0x32, 0x3A, 0x36, 0x3B, 0x33, 0x3E, 0x37, 0x3F,
}

Definition at line 61 of file dct-test.c.

Referenced by dct_error().


Generated on Mon Apr 28 14:03:39 2008 for Cinelerra by  doxygen 1.5.5