libavcodec/x86/idct_mmx_xvid.c File Reference

#include <inttypes.h>
#include "libavcodec/avcodec.h"
#include "idct_xvid.h"

Go to the source code of this file.

Defines

#define BITS_INV_ACC   5
#define SHIFT_INV_ROW   (16 - BITS_INV_ACC)
#define SHIFT_INV_COL   (1 + BITS_INV_ACC)
#define RND_INV_ROW   (1024 * (6 - BITS_INV_ACC))
#define RND_INV_COL   (16 * (BITS_INV_ACC - 3))
#define RND_INV_CORR   (RND_INV_COL - 1)
#define BITS_FRW_ACC   3
#define SHIFT_FRW_COL   BITS_FRW_ACC
#define SHIFT_FRW_ROW   (BITS_FRW_ACC + 17)
#define RND_FRW_ROW   (262144*(BITS_FRW_ACC - 1))
#define DCT_8_INV_ROW_MMX(A1, A2, A3, A4)
#define DCT_8_INV_ROW_XMM(A1, A2, A3, A4)
#define DCT_8_INV_COL(A1, A2)

Functions

void ff_idct_xvid_mmx (short *block)
void ff_idct_xvid_mmx2 (short *block)

Variables

static const int16_t tg_1_16 [4 *4]
static const int32_t rounder_0 [2 *8]
static const int16_t tab_i_04_mmx [32 *4]
static const int16_t tab_i_04_xmm [32 *4]


Define Documentation

#define BITS_FRW_ACC   3

Definition at line 57 of file idct_mmx_xvid.c.

#define BITS_INV_ACC   5

Definition at line 50 of file idct_mmx_xvid.c.

#define DCT_8_INV_COL ( A1,
A2   ) 

Definition at line 394 of file idct_mmx_xvid.c.

#define DCT_8_INV_ROW_MMX ( A1,
A2,
A3,
A4   ) 

Definition at line 231 of file idct_mmx_xvid.c.

#define DCT_8_INV_ROW_XMM ( A1,
A2,
A3,
A4   ) 

Definition at line 286 of file idct_mmx_xvid.c.

#define RND_FRW_ROW   (262144*(BITS_FRW_ACC - 1))

Definition at line 60 of file idct_mmx_xvid.c.

#define RND_INV_COL   (16 * (BITS_INV_ACC - 3))

Definition at line 54 of file idct_mmx_xvid.c.

#define RND_INV_CORR   (RND_INV_COL - 1)

Definition at line 55 of file idct_mmx_xvid.c.

#define RND_INV_ROW   (1024 * (6 - BITS_INV_ACC))

Definition at line 53 of file idct_mmx_xvid.c.

#define SHIFT_FRW_COL   BITS_FRW_ACC

Definition at line 58 of file idct_mmx_xvid.c.

#define SHIFT_FRW_ROW   (BITS_FRW_ACC + 17)

Definition at line 59 of file idct_mmx_xvid.c.

#define SHIFT_INV_COL   (1 + BITS_INV_ACC)

Definition at line 52 of file idct_mmx_xvid.c.

#define SHIFT_INV_ROW   (16 - BITS_INV_ACC)

Definition at line 51 of file idct_mmx_xvid.c.


Function Documentation

void ff_idct_xvid_mmx ( short *  block  ) 

Definition at line 488 of file idct_mmx_xvid.c.

Referenced by dsputil_init_mmx(), ff_idct_xvid_mmx_add(), and ff_idct_xvid_mmx_put().

void ff_idct_xvid_mmx2 ( short *  block  ) 

Definition at line 511 of file idct_mmx_xvid.c.

Referenced by dsputil_init_mmx(), ff_idct_xvid_mmx2_add(), and ff_idct_xvid_mmx2_put().


Variable Documentation

const int32_t rounder_0[2 *8] [static]

Initial value:

 {
  65536,65536,
  3597,3597,
  2260,2260,
  1203,1203,
  0,0,
  120,120,
  512,512,
  512,512}

Definition at line 74 of file idct_mmx_xvid.c.

const int16_t tab_i_04_mmx[32 *4] [static]

Definition at line 144 of file idct_mmx_xvid.c.

const int16_t tab_i_04_xmm[32 *4] [static]

Definition at line 186 of file idct_mmx_xvid.c.

const int16_t tg_1_16[4 *4] [static]

Initial value:

 {
  13036,13036,13036,13036,        
  27146,27146,27146,27146,        
  -21746,-21746,-21746,-21746,    
  23170,23170,23170,23170}

Definition at line 68 of file idct_mmx_xvid.c.


Generated on Fri Oct 26 02:39:47 2012 for FFmpeg by  doxygen 1.5.8