xine-lib 1.2.11
Macros | Functions | Variables
idct.c File Reference
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include "mpeg2_internal.h"
#include <xine/xineutils.h>

Macros

#define W1   2841 /* 2048*sqrt (2)*cos (1*pi/16) */
 
#define W2   2676 /* 2048*sqrt (2)*cos (2*pi/16) */
 
#define W3   2408 /* 2048*sqrt (2)*cos (3*pi/16) */
 
#define W5   1609 /* 2048*sqrt (2)*cos (5*pi/16) */
 
#define W6   1108 /* 2048*sqrt (2)*cos (6*pi/16) */
 
#define W7   565 /* 2048*sqrt (2)*cos (7*pi/16) */
 
#define CLIP(i)   ((clip_lut+384)[ (i)])
 

Functions

static void idct_row (int16_t *block)
 
static void idct_col (int16_t *block)
 
static void mpeg2_idct_copy_c (int16_t *block, uint8_t *dest, int stride)
 
static void mpeg2_idct_add_c (int16_t *block, uint8_t *dest, int stride)
 
static void mpeg2_idct_c (int16_t *block)
 
static void mpeg2_zero_block_c (int16_t *wblock)
 
void mpeg2_idct_init (uint32_t mm_accel)
 

Variables

void(* mpeg2_idct_copy )(int16_t *block, uint8_t *dest, int stride)
 
void(* mpeg2_idct_add )(int16_t *block, uint8_t *dest, int stride)
 
void(* mpeg2_idct )(int16_t *block)
 
void(* mpeg2_zero_block )(int16_t *block)
 
static uint8_t clip_lut [1024]
 

Macro Definition Documentation

◆ CLIP

#define CLIP (   i)    ((clip_lut+384)[ (i)])

◆ W1

#define W1   2841 /* 2048*sqrt (2)*cos (1*pi/16) */

◆ W2

#define W2   2676 /* 2048*sqrt (2)*cos (2*pi/16) */

◆ W3

#define W3   2408 /* 2048*sqrt (2)*cos (3*pi/16) */

◆ W5

#define W5   1609 /* 2048*sqrt (2)*cos (5*pi/16) */

◆ W6

#define W6   1108 /* 2048*sqrt (2)*cos (6*pi/16) */

◆ W7

#define W7   565 /* 2048*sqrt (2)*cos (7*pi/16) */

Function Documentation

◆ idct_col()

static void idct_col ( int16_t *  block)
inlinestatic

References W1, W2, W3, W5, W6, and W7.

Referenced by mpeg2_idct_add_c(), mpeg2_idct_c(), and mpeg2_idct_copy_c().

◆ idct_row()

static void idct_row ( int16_t *  block)
inlinestatic

References W1, W2, W3, W5, W6, and W7.

Referenced by mpeg2_idct_add_c(), mpeg2_idct_c(), and mpeg2_idct_copy_c().

◆ mpeg2_idct_add_c()

static void mpeg2_idct_add_c ( int16_t *  block,
uint8_t *  dest,
int  stride 
)
static

References CLIP, idct_col(), and idct_row().

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_c()

static void mpeg2_idct_c ( int16_t *  block)
static

References idct_col(), and idct_row().

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_copy_c()

static void mpeg2_idct_copy_c ( int16_t *  block,
uint8_t *  dest,
int  stride 
)
static

References CLIP, idct_col(), and idct_row().

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_init()

void mpeg2_idct_init ( uint32_t  mm_accel)

◆ mpeg2_zero_block_c()

static void mpeg2_zero_block_c ( int16_t *  wblock)
static

Referenced by mpeg2_idct_init().

Variable Documentation

◆ clip_lut

uint8_t clip_lut[1024]
static

Referenced by mpeg2_idct_init().

◆ mpeg2_idct

void(* mpeg2_idct) (int16_t *block) ( int16_t *  block)

◆ mpeg2_idct_add

void(* mpeg2_idct_add) (int16_t *block, uint8_t *dest, int stride) ( int16_t *  block,
uint8_t *  dest,
int  stride 
)

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_copy

void(* mpeg2_idct_copy) (int16_t *block, uint8_t *dest, int stride) ( int16_t *  block,
uint8_t *  dest,
int  stride 
)

Referenced by mpeg2_idct_init().

◆ mpeg2_zero_block

void(* mpeg2_zero_block) (int16_t *block) ( int16_t *  block)