xine-lib: xine-lib-1.2.12/src/video_dec/libmpeg2/mpeg2_internal.h File Reference

xine-lib 1.2.12

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

## ◆ 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)

## ◆ 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} \
};
mpeg2_mc_t
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
| ) |  |

References picture_coding_extension(), picture_display_extension(), quant_matrix_extension(), sequence_display_extension(), and sequence_extension().

Referenced by mpeg2_find_sequence_header(), mpeg2_parse_header(), and parse_chunk().

## ◆ 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
| ) |  |

References default_intra_quantizer_matrix, FRAME_PICTURE, height, mpeg2_scan_norm, and width.

Referenced by mpeg2_find_sequence_header(), mpeg2_parse_header(), and parse_chunk().

## ◆ mpeg2_header_state_init()

void mpeg2_header_state_init | ( | picture_t * | picture | ) |

References mpeg2_scan_norm.

Referenced by invalid_end_action(), mpeg2_close(), mpeg2_init(), mpeg2_reset(), and seek_sequence().

## ◆ mpeg2_idct_add_altivec()

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

Referenced by 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().

## ◆ mpeg2_idct_add_mmxext()

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

Referenced by mpeg2_idct_init().

## ◆ mpeg2_idct_altivec_init()

void mpeg2_idct_altivec_init | ( | void |  | ) |

Referenced by 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().

## ◆ 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().

## ◆ mpeg2_idct_copy_mmxext()

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

Referenced by 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().

## ◆ 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
| ) |  |

References bit_buf, bit_ptr, bits, bitstream_init(), code, D_TYPE, DCT_TYPE_INTERLACED, DUMPBITS, FRAME_PICTURE, get_coded_block_pattern(), get_macroblock_modes(), get_quantizer_scale(), MBAtab::len, MACROBLOCK_INTRA, MACROBLOCK_MOTION_FORWARD, MACROBLOCK_PATTERN, MACROBLOCK_QUANT, MBAtab::mba, MBA_11, MBA_5, MC_16X8, MC_DMV, MC_FIELD, MC_FRAME, MOTION_CALL, motion_fi_16x8(), motion_fi_conceal(), motion_fi_dmv(), motion_fi_field(), motion_fr_conceal(), motion_fr_dmv(), motion_fr_field(), motion_fr_frame(), motion_mp1(), motion_reuse(), MOTION_TYPE_MASK, motion_zero(), mpeg2_cpu_state_restore, mpeg2_cpu_state_save, NEEDBITS, NEXT_MACROBLOCK, P_TYPE, slice_init(), slice_intra_DCT(), slice_non_intra_DCT(), and UBITS.

Referenced by libmpeg2_accel_slice(), and mpeg2_parse().

## ◆ mpeg2_stats()

void mpeg2_stats | ( | int | code,
|  | uint8_t * | buffer
| ) |  |

References code, debug_is_on(), stats_copyright_extension(), stats_group(), stats_picture(), stats_picture_coding_extension(), stats_picture_display_extension(), stats_quant_matrix_extension(), stats_sequence(), stats_sequence_display_extension(), stats_sequence_end(), stats_sequence_error(), stats_sequence_extension(), stats_sequence_scalable_extension(), stats_slice(), and stats_user_data().

Referenced by mpeg2_find_sequence_header(), and parse_chunk().

## ◆ 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

Referenced by mpeg2_idct_init(), slice_xvmc_intra_DCT(), and slice_xvmc_non_intra_DCT().

## ◆ mpeg2_idct_add

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

Referenced by mpeg2_idct_init(), and slice_non_intra_DCT().

## ◆ 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().

## ◆ mpeg2_mc_altivec

mpeg2_mc_t mpeg2_mc_altivec
| extern

Referenced by 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().

## ◆ mpeg2_mc_mmxext

mpeg2_mc_t mpeg2_mc_mmxext
| extern

Referenced by mpeg2_mc_init().

## ◆ mpeg2_mc_vis

mpeg2_mc_t mpeg2_mc_vis
| extern

Referenced by mpeg2_mc_init().

## ◆ mpeg2_scan_alt

uint8_t mpeg2_scan_alt[64]
| extern

Referenced by mpeg2_idct_init(), mpeg2_init(), mpeg2_xxmc_slice(), picture_coding_ext(), picture_coding_extension(), and xvmc_setup_scan_ptable().

## ◆ mpeg2_scan_norm

uint8_t mpeg2_scan_norm[64]
| extern

Referenced by get_xvmc_intra_block_B14(), get_xvmc_intra_block_B15(), get_xvmc_mpeg1_intra_block(), get_xvmc_mpeg1_non_intra_block(), get_xvmc_non_intra_block(), mpeg2_header_picture(), mpeg2_header_sequence(), mpeg2_header_state_init(), mpeg2_idct_init(), mpeg2_init(), picture_coding_ext(), picture_coding_extension(), quant_matrix_ext(), quant_matrix_extension(), sequence_header(), and xvmc_setup_scan_ptable().

## ◆ mpeg2_zero_block

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

Referenced by mpeg2_idct_init(), slice_xvmc_intra_DCT(), and slice_xvmc_non_intra_DCT().