xine-lib 1.2.11
Data Structures | Macros | Typedefs | Functions | Variables
mpeg2_internal.h File Reference

Go to the source code of this file.

Data Structures

struct  motion_t
 
struct  mpeg2_decoder_s
 
struct  fbuf_alloc_t
 
struct  mpeg2dec_s
 
struct  cpu_state_t
 
struct  mpeg2_mc_t
 

Macros

#define STATE_INTERNAL_NORETURN   ((mpeg2_state_t)-1)
 
#define MACROBLOCK_INTRA   1
 
#define MACROBLOCK_PATTERN   2
 
#define MACROBLOCK_MOTION_BACKWARD   4
 
#define MACROBLOCK_MOTION_FORWARD   8
 
#define MACROBLOCK_QUANT   16
 
#define DCT_TYPE_INTERLACED   32
 
#define MOTION_TYPE_SHIFT   6
 
#define MC_FIELD   1
 
#define MC_FRAME   2
 
#define MC_16X8   2
 
#define MC_DMV   3
 
#define TOP_FIELD   1
 
#define BOTTOM_FIELD   2
 
#define FRAME_PICTURE   3
 
#define I_TYPE   1
 
#define P_TYPE   2
 
#define B_TYPE   3
 
#define D_TYPE   4
 
#define MPEG2_MC_EXTERN(x)
 

Typedefs

typedef void mpeg2_mc_fct(uint8_t *, const uint8_t *, int, int)
 
typedef void motion_parser_t(mpeg2_decoder_t *decoder, motion_t *motion, mpeg2_mc_fct *const *table)
 

Functions

uint32_t mpeg2_detect_accel (uint32_t accel)
 
void mpeg2_cpu_state_init (uint32_t accel)
 
mpeg2_state_t mpeg2_seek_header (mpeg2dec_t *mpeg2dec)
 
mpeg2_state_t mpeg2_parse_header (mpeg2dec_t *mpeg2dec)
 
void mpeg2_header_state_init (mpeg2dec_t *mpeg2dec)
 
void mpeg2_reset_info (mpeg2_info_t *info)
 
int mpeg2_header_sequence (mpeg2dec_t *mpeg2dec)
 
int mpeg2_header_gop (mpeg2dec_t *mpeg2dec)
 
mpeg2_state_t mpeg2_header_picture_start (mpeg2dec_t *mpeg2dec)
 
int mpeg2_header_picture (mpeg2dec_t *mpeg2dec)
 
int mpeg2_header_extension (mpeg2dec_t *mpeg2dec)
 
int mpeg2_header_user_data (mpeg2dec_t *mpeg2dec)
 
void mpeg2_header_sequence_finalize (mpeg2dec_t *mpeg2dec)
 
void mpeg2_header_gop_finalize (mpeg2dec_t *mpeg2dec)
 
void mpeg2_header_picture_finalize (mpeg2dec_t *mpeg2dec, uint32_t accels)
 
mpeg2_state_t mpeg2_header_slice_start (mpeg2dec_t *mpeg2dec)
 
mpeg2_state_t mpeg2_header_end (mpeg2dec_t *mpeg2dec)
 
void mpeg2_set_fbuf (mpeg2dec_t *mpeg2dec, int b_type)
 
void mpeg2_idct_init (uint32_t accel)
 
void mpeg2_idct_copy_mmxext (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_mmxext (int last, int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_copy_mmx (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_mmx (int last, int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_mmx_init (void)
 
void mpeg2_idct_copy_altivec (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_altivec (int last, int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_altivec_init (void)
 
void mpeg2_idct_copy_mvi (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_mvi (int last, int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_copy_alpha (int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_add_alpha (int last, int16_t *block, uint8_t *dest, int stride)
 
void mpeg2_idct_alpha_init (void)
 
void mpeg2_mc_init (uint32_t accel)
 

Variables

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_alpha
 
mpeg2_mc_t mpeg2_mc_vis
 

Macro Definition Documentation

◆ B_TYPE

#define B_TYPE   3

◆ BOTTOM_FIELD

#define BOTTOM_FIELD   2

◆ D_TYPE

#define D_TYPE   4

◆ DCT_TYPE_INTERLACED

#define DCT_TYPE_INTERLACED   32

◆ FRAME_PICTURE

#define FRAME_PICTURE   3

◆ I_TYPE

#define I_TYPE   1

◆ MACROBLOCK_INTRA

#define MACROBLOCK_INTRA   1

◆ MACROBLOCK_MOTION_BACKWARD

#define MACROBLOCK_MOTION_BACKWARD   4

◆ MACROBLOCK_MOTION_FORWARD

#define MACROBLOCK_MOTION_FORWARD   8

◆ MACROBLOCK_PATTERN

#define MACROBLOCK_PATTERN   2

◆ MACROBLOCK_QUANT

#define MACROBLOCK_QUANT   16

◆ MC_16X8

#define MC_16X8   2

◆ MC_DMV

#define MC_DMV   3

◆ MC_FIELD

#define MC_FIELD   1

◆ MC_FRAME

#define MC_FRAME   2

◆ MOTION_TYPE_SHIFT

#define MOTION_TYPE_SHIFT   6

◆ 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

◆ STATE_INTERNAL_NORETURN

#define STATE_INTERNAL_NORETURN   ((mpeg2_state_t)-1)

◆ TOP_FIELD

#define TOP_FIELD   1

Typedef Documentation

◆ motion_parser_t

typedef void motion_parser_t(mpeg2_decoder_t *decoder, motion_t *motion, mpeg2_mc_fct *const *table)

◆ mpeg2_mc_fct

typedef void mpeg2_mc_fct(uint8_t *, const uint8_t *, int, int)

Function Documentation

◆ mpeg2_cpu_state_init()

void mpeg2_cpu_state_init ( uint32_t  accel)

◆ mpeg2_detect_accel()

uint32_t mpeg2_detect_accel ( uint32_t  accel)

Referenced by mpeg2_accel().

◆ mpeg2_header_end()

mpeg2_state_t mpeg2_header_end ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_extension()

int mpeg2_header_extension ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_gop()

int mpeg2_header_gop ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_gop_finalize()

void mpeg2_header_gop_finalize ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_picture()

int mpeg2_header_picture ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_picture_finalize()

void mpeg2_header_picture_finalize ( mpeg2dec_t mpeg2dec,
uint32_t  accels 
)

◆ mpeg2_header_picture_start()

mpeg2_state_t mpeg2_header_picture_start ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_sequence()

int mpeg2_header_sequence ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_sequence_finalize()

void mpeg2_header_sequence_finalize ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_slice_start()

mpeg2_state_t mpeg2_header_slice_start ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_state_init()

void mpeg2_header_state_init ( mpeg2dec_t mpeg2dec)

◆ mpeg2_header_user_data()

int mpeg2_header_user_data ( mpeg2dec_t mpeg2dec)

◆ mpeg2_idct_add_alpha()

void mpeg2_idct_add_alpha ( int  last,
int16_t *  block,
uint8_t *  dest,
int  stride 
)

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_add_altivec()

void mpeg2_idct_add_altivec ( int  last,
int16_t *  block,
uint8_t *  dest,
int  stride 
)

◆ mpeg2_idct_add_mmx()

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

◆ mpeg2_idct_add_mmxext()

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

◆ mpeg2_idct_add_mvi()

void mpeg2_idct_add_mvi ( int  last,
int16_t *  block,
uint8_t *  dest,
int  stride 
)

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_alpha_init()

void mpeg2_idct_alpha_init ( void  )

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_altivec_init()

void mpeg2_idct_altivec_init ( void  )

◆ mpeg2_idct_copy_alpha()

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

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_copy_altivec()

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

◆ mpeg2_idct_copy_mmx()

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

◆ mpeg2_idct_copy_mmxext()

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

◆ mpeg2_idct_copy_mvi()

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

Referenced by mpeg2_idct_init().

◆ mpeg2_idct_init()

void mpeg2_idct_init ( uint32_t  accel)

◆ mpeg2_idct_mmx_init()

void mpeg2_idct_mmx_init ( void  )

◆ mpeg2_mc_init()

void mpeg2_mc_init ( uint32_t  accel)

◆ mpeg2_parse_header()

mpeg2_state_t mpeg2_parse_header ( mpeg2dec_t mpeg2dec)

◆ mpeg2_reset_info()

void mpeg2_reset_info ( mpeg2_info_t info)

◆ mpeg2_seek_header()

mpeg2_state_t mpeg2_seek_header ( mpeg2dec_t mpeg2dec)

◆ mpeg2_set_fbuf()

void mpeg2_set_fbuf ( mpeg2dec_t mpeg2dec,
int  b_type 
)

Variable Documentation

◆ mpeg2_mc_3dnow

mpeg2_mc_t mpeg2_mc_3dnow
extern

◆ mpeg2_mc_alpha

mpeg2_mc_t mpeg2_mc_alpha
extern

Referenced by mpeg2_mc_init().

◆ mpeg2_mc_altivec

mpeg2_mc_t mpeg2_mc_altivec
extern

◆ mpeg2_mc_c

mpeg2_mc_t mpeg2_mc_c
extern

Referenced by mpeg2_mc_init().

◆ mpeg2_mc_mmx

mpeg2_mc_t mpeg2_mc_mmx
extern

◆ mpeg2_mc_mmxext

mpeg2_mc_t mpeg2_mc_mmxext
extern

◆ mpeg2_mc_vis

mpeg2_mc_t mpeg2_mc_vis
extern