DCT test (c) 2001 Fabrice Bellard Started from sample code by Juan J. More...
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <unistd.h>
#include <math.h>
#include "libavutil/common.h"
#include "libavutil/lfg.h"
#include "simple_idct.h"
#include "aandcttab.h"
#include "faandct.h"
#include "faanidct.h"
#include "x86/idct_xvid.h"
#include "dctref.h"
Go to the source code of this file.
Data Structures | |
struct | algo |
Defines | |
#define | FAAN_SCALE NO_PERM |
#define | AANSCALE_BITS 12 |
#define | NB_ITS 20000 |
#define | NB_ITS_SPEED 50000 |
Functions | |
void | ff_mmx_idct (DCTELEM *data) |
void | ff_mmxext_idct (DCTELEM *data) |
void | odivx_idct_c (short *block) |
void | ff_bfin_idct (DCTELEM *block) |
void | ff_bfin_fdct (DCTELEM *block) |
void | fdct_altivec (DCTELEM *block) |
void | ff_j_rev_dct_arm (DCTELEM *data) |
void | ff_simple_idct_arm (DCTELEM *data) |
void | ff_simple_idct_armv5te (DCTELEM *data) |
void | ff_simple_idct_armv6 (DCTELEM *data) |
void | ff_simple_idct_neon (DCTELEM *data) |
void | ff_simple_idct_axp (DCTELEM *data) |
static int64_t | gettime (void) |
static void | idct_mmx_init (void) |
DECLARE_ALIGNED (16, static DCTELEM, block)[64] | |
DECLARE_ALIGNED (8, static DCTELEM, block1)[64] | |
DECLARE_ALIGNED (8, static DCTELEM, block_org)[64] | |
static void | mmx_emms (void) |
static void | dct_error (const char *name, int is_idct, void(*fdct_func)(DCTELEM *block), void(*fdct_ref)(DCTELEM *block), int form, int test) |
DECLARE_ALIGNED (8, static uint8_t, img_dest)[64] | |
DECLARE_ALIGNED (8, static uint8_t, img_dest1)[64] | |
static void | idct248_ref (uint8_t *dest, int linesize, int16_t *block) |
static void | idct248_error (const char *name, void(*idct248_put)(uint8_t *dest, int line_size, int16_t *block)) |
static void | help (void) |
int | main (int argc, char **argv) |
Variables | |
static int | cpu_flags |
struct algo | algos [] |
uint8_t | cropTbl [256+2 *MAX_NEG_CROP] |
static short | idct_mmx_perm [64] |
static short | idct_simple_mmx_perm [64] |
static const uint8_t | idct_sse2_row_perm [8] = {0, 4, 1, 5, 2, 6, 3, 7} |
DCT test (c) 2001 Fabrice Bellard Started from sample code by Juan J.
Sierralta P.
Definition in file dct-test.c.
#define AANSCALE_BITS 12 |
Definition at line 143 of file dct-test.c.
Referenced by dct_error().
#define FAAN_SCALE NO_PERM |
Definition at line 81 of file dct-test.c.
#define NB_ITS 20000 |
Definition at line 154 of file dct-test.c.
#define NB_ITS_SPEED 50000 |
Definition at line 155 of file dct-test.c.
static void dct_error | ( | const char * | name, | |
int | is_idct, | |||
void(*)(DCTELEM *block) | fdct_func, | |||
void(*)(DCTELEM *block) | fdct_ref, | |||
int | form, | |||
int | test | |||
) | [static] |
Definition at line 195 of file dct-test.c.
Referenced by main().
DECLARE_ALIGNED | ( | 16 | , | |
static | DCTELEM, | |||
block | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static | DCTELEM, | |||
block1 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static | DCTELEM, | |||
block_org | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static | uint8_t, | |||
img_dest | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static | uint8_t, | |||
img_dest1 | ||||
) |
void fdct_altivec | ( | DCTELEM * | block | ) |
void ff_bfin_fdct | ( | DCTELEM * | block | ) |
void ff_bfin_idct | ( | DCTELEM * | block | ) |
void ff_j_rev_dct_arm | ( | DCTELEM * | data | ) |
void ff_mmx_idct | ( | DCTELEM * | data | ) |
void ff_mmxext_idct | ( | DCTELEM * | data | ) |
void ff_simple_idct_arm | ( | DCTELEM * | data | ) |
void ff_simple_idct_armv5te | ( | DCTELEM * | data | ) |
void ff_simple_idct_armv6 | ( | DCTELEM * | data | ) |
void ff_simple_idct_axp | ( | DCTELEM * | data | ) |
Definition at line 254 of file simple_idct_alpha.c.
void ff_simple_idct_neon | ( | DCTELEM * | data | ) |
static int64_t gettime | ( | void | ) | [static] |
Definition at line 147 of file dct-test.c.
Referenced by dct_error(), and idct248_error().
static void help | ( | void | ) | [static] |
Definition at line 542 of file dct-test.c.
Referenced by main().
static void idct248_error | ( | const char * | name, | |
void(*)(uint8_t *dest, int line_size, int16_t *block) | idct248_put | |||
) | [static] |
Definition at line 464 of file dct-test.c.
Referenced by main().
static void idct248_ref | ( | uint8_t * | dest, | |
int | linesize, | |||
int16_t * | block | |||
) | [static] |
Definition at line 384 of file dct-test.c.
Referenced by idct248_error().
static void idct_mmx_init | ( | void | ) | [static] |
Definition at line 172 of file dct-test.c.
Referenced by main().
int main | ( | int | argc, | |
char ** | argv | |||
) |
Definition at line 552 of file dct-test.c.
static void mmx_emms | ( | void | ) | [inline, static] |
Definition at line 187 of file dct-test.c.
Referenced by dct_error(), and idct248_error().
void odivx_idct_c | ( | short * | block | ) |
Definition at line 86 of file dct-test.c.
int cpu_flags [static] |
Definition at line 84 of file dct-test.c.
Referenced by main(), and mmx_emms().
uint8_t cropTbl[256+2 *MAX_NEG_CROP] |
Definition at line 145 of file dct-test.c.
Referenced by main().
short idct_mmx_perm[64] [static] |
Definition at line 157 of file dct-test.c.
Referenced by dct_error(), and idct_mmx_init().
short idct_simple_mmx_perm[64] [static] |
{ 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 159 of file dct-test.c.
Referenced by dct_error().
const uint8_t idct_sse2_row_perm[8] = {0, 4, 1, 5, 2, 6, 3, 7} [static] |
Definition at line 170 of file dct-test.c.
Referenced by dct_error().