xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Typedefs | Functions | Variables
mpeg2_internal.h File Reference
#include <xine/video_out.h>
#include "accel_xvmc.h"

Go to the source code of this file.

Data Structures

struct  motion_s
 
struct  picture_s
 
struct  cpu_state_s
 
struct  mpeg2_mc_s
 

Macros

#define MACROBLOCK_INTRA   XINE_MACROBLOCK_INTRA
 
#define MACROBLOCK_PATTERN   XINE_MACROBLOCK_PATTERN
 
#define MACROBLOCK_MOTION_BACKWARD   XINE_MACROBLOCK_MOTION_BACKWARD
 
#define MACROBLOCK_MOTION_FORWARD   XINE_MACROBLOCK_MOTION_FORWARD
 
#define MACROBLOCK_QUANT   XINE_MACROBLOCK_QUANT
 
#define DCT_TYPE_INTERLACED   XINE_MACROBLOCK_DCT_TYPE_INTERLACED
 
#define MOTION_TYPE_MASK   (3*64)
 
#define MOTION_TYPE_BASE   64
 
#define MC_FIELD   (1*64)
 
#define MC_FRAME   (2*64)
 
#define MC_16X8   (2*64)
 
#define MC_DMV   (3*64)
 
#define TOP_FIELD   VO_TOP_FIELD
 
#define BOTTOM_FIELD   VO_BOTTOM_FIELD
 
#define FRAME_PICTURE   VO_BOTH_FIELDS
 
#define I_TYPE   1
 
#define P_TYPE   2
 
#define B_TYPE   3
 
#define D_TYPE   4
 
#define MPEG2_MC_EXTERN(x)
 

Typedefs

typedef struct motion_s motion_t
 
typedef struct picture_s picture_t
 
typedef struct cpu_state_s cpu_state_t
 
typedef struct mpeg2_mc_s mpeg2_mc_t
 

Functions

void mpeg2_cpu_state_init (uint32_t mm_accel)
 
void mpeg2_header_state_init (picture_t *picture)
 
int mpeg2_header_picture (picture_t *picture, uint8_t *buffer)
 
int mpeg2_header_sequence (picture_t *picture, uint8_t *buffer)
 
int mpeg2_header_extension (picture_t *picture, uint8_t *buffer)
 
int mpeg2_header_group_of_pictures (picture_t *picture, uint8_t *buffer)
 
void mpeg2_idct_init (uint32_t mm_accel)
 
void mpeg2_idct_add_mlib (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_copy_mlib_non_ieee (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_mlib_non_ieee (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_mlib (int16_t *block)
 
void mpeg2_idct_copy_mmxext (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_mmxext (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_mmxext (int16_t *block)
 
void mpeg2_idct_copy_mmx (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_mmx (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_mmx (int16_t *block)
 
void mpeg2_zero_block_mmx (int16_t *block)
 
void mpeg2_idct_mmx_init (void)
 
void mpeg2_idct_copy_altivec (signed short *block, unsigned char *dest, int stride)
 
void mpeg2_idct_add_altivec (signed short *block, unsigned char *dest, int stride)
 
void mpeg2_idct_altivec_init (void)
 
void mpeg2_mc_init (uint32_t mm_accel)
 
void mpeg2_slice (picture_t *picture, int code, uint8_t *buffer)
 
void mpeg2_stats (int code, uint8_t *buffer)
 

Variables

void(* mpeg2_cpu_state_save )(cpu_state_t *state)
 
void(* mpeg2_cpu_state_restore )(cpu_state_t *state)
 
uint8_t mpeg2_scan_norm [64]
 
uint8_t mpeg2_scan_alt [64]
 
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)
 
mpeg2_mc_t mpeg2_mc
 
mpeg2_mc_t mpeg2_mc_c
 
mpeg2_mc_t mpeg2_mc_mmx
 
mpeg2_mc_t mpeg2_mc_mmxext
 
mpeg2_mc_t mpeg2_mc_3dnow
 
mpeg2_mc_t mpeg2_mc_altivec
 
mpeg2_mc_t mpeg2_mc_mlib
 
mpeg2_mc_t mpeg2_mc_vis
 

Macro Definition Documentation

◆ B_TYPE

#define B_TYPE   3

◆ BOTTOM_FIELD

#define BOTTOM_FIELD   VO_BOTTOM_FIELD

◆ D_TYPE

#define D_TYPE   4

◆ DCT_TYPE_INTERLACED

#define DCT_TYPE_INTERLACED   XINE_MACROBLOCK_DCT_TYPE_INTERLACED

◆ FRAME_PICTURE

#define FRAME_PICTURE   VO_BOTH_FIELDS

◆ I_TYPE

#define I_TYPE   1

◆ MACROBLOCK_INTRA

#define MACROBLOCK_INTRA   XINE_MACROBLOCK_INTRA

◆ MACROBLOCK_MOTION_BACKWARD

#define MACROBLOCK_MOTION_BACKWARD   XINE_MACROBLOCK_MOTION_BACKWARD

Referenced by mpeg2_xvmc_slice().

◆ MACROBLOCK_MOTION_FORWARD

#define MACROBLOCK_MOTION_FORWARD   XINE_MACROBLOCK_MOTION_FORWARD

◆ MACROBLOCK_PATTERN

#define MACROBLOCK_PATTERN   XINE_MACROBLOCK_PATTERN

◆ MACROBLOCK_QUANT

#define MACROBLOCK_QUANT   XINE_MACROBLOCK_QUANT

◆ MC_16X8

#define MC_16X8   (2*64)

◆ MC_DMV

#define MC_DMV   (3*64)

◆ MC_FIELD

#define MC_FIELD   (1*64)

◆ MC_FRAME

#define MC_FRAME   (2*64)

◆ MOTION_TYPE_BASE

#define MOTION_TYPE_BASE   64

◆ MOTION_TYPE_MASK

#define MOTION_TYPE_MASK   (3*64)

Referenced by mpeg2_slice(), and mpeg2_xvmc_slice().

◆ MPEG2_MC_EXTERN

#define MPEG2_MC_EXTERN ( x)
Value:
mpeg2_mc_t mpeg2_mc_##x = { \
{MC_put_o_16_##x, MC_put_x_16_##x, MC_put_y_16_##x, MC_put_xy_16_##x, \
MC_put_o_8_##x, MC_put_x_8_##x, MC_put_y_8_##x, MC_put_xy_8_##x}, \
{MC_avg_o_16_##x, MC_avg_x_16_##x, MC_avg_y_16_##x, MC_avg_xy_16_##x, \
MC_avg_o_8_##x, MC_avg_x_8_##x, MC_avg_y_8_##x, MC_avg_xy_8_##x} \
};
Definition mpeg2_internal.h:284

◆ P_TYPE

#define P_TYPE   2

◆ TOP_FIELD

#define TOP_FIELD   VO_TOP_FIELD

Typedef Documentation

◆ cpu_state_t

typedef struct cpu_state_s cpu_state_t

◆ motion_t

typedef struct motion_s motion_t

◆ mpeg2_mc_t

typedef struct mpeg2_mc_s mpeg2_mc_t

◆ picture_t

typedef struct picture_s picture_t

Function Documentation

◆ mpeg2_cpu_state_init()

void mpeg2_cpu_state_init ( uint32_t mm_accel)

◆ mpeg2_header_extension()

int mpeg2_header_extension ( picture_t * picture,
uint8_t * buffer )

◆ mpeg2_header_group_of_pictures()

int mpeg2_header_group_of_pictures ( picture_t * picture,
uint8_t * buffer )

References get_bits().

Referenced by parse_chunk().

◆ mpeg2_header_picture()

int mpeg2_header_picture ( picture_t * picture,
uint8_t * buffer )

References FRAME_PICTURE.

Referenced by mpeg2_parse_header(), and parse_chunk().

◆ mpeg2_header_sequence()

int mpeg2_header_sequence ( picture_t * picture,
uint8_t * buffer )

◆ mpeg2_header_state_init()

void mpeg2_header_state_init ( picture_t * picture)

◆ mpeg2_idct_add_altivec()

void mpeg2_idct_add_altivec ( signed short * block,
unsigned char * dest,
int stride )

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_add_mlib()

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

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_add_mlib_non_ieee()

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

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_add_mmx()

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

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_add_mmxext()

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

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_altivec_init()

void mpeg2_idct_altivec_init ( void )

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_copy_altivec()

void mpeg2_idct_copy_altivec ( signed short * block,
unsigned char * dest,
int stride )

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_copy_mlib_non_ieee()

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

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_copy_mmx()

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

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_copy_mmxext()

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

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_init()

void mpeg2_idct_init ( uint32_t mm_accel)

◆ mpeg2_idct_mlib()

void mpeg2_idct_mlib ( int16_t * block)

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_mmx()

void mpeg2_idct_mmx ( int16_t * block)

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_mmx_init()

void mpeg2_idct_mmx_init ( void )

Referenced by mpeg2_idct_init(), and mpeg2_idct_init().

◆ mpeg2_idct_mmxext()

void mpeg2_idct_mmxext ( int16_t * block)

Referenced by mpeg2_idct_init().

◆ mpeg2_mc_init()

void mpeg2_mc_init ( uint32_t mm_accel)

◆ mpeg2_slice()

void mpeg2_slice ( picture_t * picture,
int code,
uint8_t * buffer )

◆ mpeg2_stats()

void mpeg2_stats ( int code,
uint8_t * buffer )

◆ mpeg2_zero_block_mmx()

void mpeg2_zero_block_mmx ( int16_t * block)

Referenced by mpeg2_idct_init().

Variable Documentation

◆ mpeg2_cpu_state_restore

void(* mpeg2_cpu_state_restore) (cpu_state_t *state) ( cpu_state_t * state)
extern

◆ mpeg2_cpu_state_save

void(* mpeg2_cpu_state_save) (cpu_state_t *state) ( cpu_state_t * state)
extern

◆ mpeg2_idct

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

◆ mpeg2_idct_add

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

◆ mpeg2_idct_copy

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

◆ mpeg2_mc

mpeg2_mc_t mpeg2_mc
extern

◆ mpeg2_mc_3dnow

mpeg2_mc_t mpeg2_mc_3dnow
extern

Referenced by mpeg2_mc_init(), and mpeg2_mc_init().

◆ mpeg2_mc_altivec

mpeg2_mc_t mpeg2_mc_altivec
extern

Referenced by mpeg2_mc_init(), and mpeg2_mc_init().

◆ mpeg2_mc_c

mpeg2_mc_t mpeg2_mc_c
extern

◆ mpeg2_mc_mlib

mpeg2_mc_t mpeg2_mc_mlib
extern

Referenced by mpeg2_mc_init().

◆ mpeg2_mc_mmx

mpeg2_mc_t mpeg2_mc_mmx
extern

Referenced by mpeg2_mc_init(), and mpeg2_mc_init().

◆ mpeg2_mc_mmxext

mpeg2_mc_t mpeg2_mc_mmxext
extern

Referenced by mpeg2_mc_init(), and mpeg2_mc_init().

◆ mpeg2_mc_vis

mpeg2_mc_t mpeg2_mc_vis
extern

Referenced by mpeg2_mc_init(), and mpeg2_mc_init().

◆ mpeg2_scan_alt

uint8_t mpeg2_scan_alt[64]
extern

◆ mpeg2_scan_norm

uint8_t mpeg2_scan_norm[64]
extern

◆ mpeg2_zero_block

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