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

xine-lib 1.2.13-20230125hg15249

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

Referenced by get_macroblock_modes(), and mpeg2_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} \
};
mpeg2_mc_t
Definition mpeg2_internal.h:284

## ◆ P_TYPE

#define P_TYPE 2

## ◆ STATE_INTERNAL_NORETURN

#define STATE_INTERNAL_NORETURN ((mpeg2_state_t)-1)

Referenced by mpeg2_header_slice_start(), mpeg2_parse(), and seek_chunk().

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

References MM_ACCEL_PPC_ALTIVEC, MM_ACCEL_X86_MMX, MPEG2_ACCEL_PPC_ALTIVEC, MPEG2_ACCEL_X86_MMX, mpeg2_cpu_state_restore, and mpeg2_cpu_state_save.

Referenced by mpeg2_accel(), and mpeg2_init().

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

References mpeg2dec_s::action, B_TYPE, mpeg2_decoder_s::coding_type, mpeg2dec_s::convert, mpeg2dec_s::decoder, mpeg2_info_s::discard_fbuf, mpeg2_info_s::display_fbuf, mpeg2_info_s::display_picture, mpeg2_info_s::display_picture_2nd, mpeg2dec_s::fbuf, mpeg2_sequence_s::flags, mpeg2dec_s::info, mpeg2_reset_info(), mpeg2_picture_s::nb_fields, mpeg2dec_s::picture, mpeg2dec_s::pictures, seek_sequence(), SEQ_FLAG_LOW_DELAY, mpeg2dec_s::sequence, and STATE_END.

Referenced by mpeg2_header_sequence_finalize(), and mpeg2_seek_header().

## ◆ mpeg2_header_extension()

int mpeg2_header_extension | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::chunk_start, copyright_ext(), mpeg2dec_s::ext_state, picture_coding_ext(), picture_display_ext(), quant_matrix_ext(), sequence_display_ext(), and sequence_ext().

## ◆ mpeg2_header_gop()

int mpeg2_header_gop | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::chunk_start, mpeg2_gop_s::flags, mpeg2_gop_s::hours, mpeg2_gop_s::minutes, mpeg2dec_s::new_gop, mpeg2_gop_s::pictures, mpeg2_gop_s::seconds, mpeg2dec_s::state, and STATE_GOP.

Referenced by mpeg2_parse_header().

## ◆ mpeg2_header_gop_finalize()

void mpeg2_header_gop_finalize | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2_info_s::gop, mpeg2dec_s::gop, mpeg2dec_s::info, info_user_data(), mpeg2_reset_info(), and mpeg2dec_s::new_gop.

Referenced by mpeg2_parse_header().

## ◆ mpeg2_header_picture()

int mpeg2_header_picture | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2_decoder_s::b_motion, mpeg2dec_s::bytes_since_tag, mpeg2dec_s::chunk_ptr, mpeg2dec_s::chunk_start, mpeg2_decoder_s::concealment_motion_vectors, mpeg2dec_s::copy_matrix, mpeg2dec_s::decoder, mpeg2_picture_s::display_offset, mpeg2dec_s::display_offset_x, mpeg2dec_s::display_offset_y, mpeg2dec_s::ext_state, motion_t::f_code, mpeg2_decoder_s::f_motion, mpeg2_picture_s::flags, FRAME_PICTURE, mpeg2_decoder_s::frame_pred_frame_dct, mpeg2_decoder_s::intra_dc_precision, mpeg2_scan_norm, mpeg2_picture_s::nb_fields, mpeg2dec_s::new_picture, mpeg2dec_s::num_tags, PIC_CODING_EXT, PIC_FLAG_CODING_TYPE_B, PIC_FLAG_CODING_TYPE_P, PIC_FLAG_PROGRESSIVE_FRAME, PIC_FLAG_TAGS, mpeg2_decoder_s::picture_structure, mpeg2dec_s::q_scale_type, mpeg2_decoder_s::scan, mpeg2dec_s::state, STATE_PICTURE, STATE_PICTURE_2ND, STATE_SLICE_1ST, mpeg2_picture_s::tag, mpeg2_picture_s::tag2, mpeg2dec_s::tag2_current, mpeg2dec_s::tag2_previous, mpeg2dec_s::tag_current, mpeg2dec_s::tag_previous, mpeg2_picture_s::temporal_reference, type, mpeg2_picture_s::x, and mpeg2_picture_s::y.

## ◆ mpeg2_header_picture_finalize()

void mpeg2_header_picture_finalize | ( | mpeg2dec_t * | mpeg2dec,
|  | uint32_t | accels )

References mpeg2dec_s::alloc_index, B_TYPE, mpeg2_fbuf_s::buf, mpeg2_convert_init_s::buf_size, mpeg2_decoder_s::chroma_format, mpeg2_decoder_s::coding_type, mpeg2_decoder_s::convert, mpeg2dec_s::convert, mpeg2dec_s::convert_arg, mpeg2_decoder_s::convert_id, mpeg2dec_s::convert_id_size, mpeg2dec_s::convert_start, mpeg2dec_s::convert_stride, mpeg2_convert_init_s::copy, mpeg2_info_s::current_picture, mpeg2_info_s::current_picture_2nd, mpeg2dec_s::custom_fbuf, mpeg2dec_s::decoder, mpeg2_info_s::discard_fbuf, mpeg2_info_s::display_fbuf, mpeg2_info_s::display_picture, mpeg2_info_s::display_picture_2nd, fbuf_alloc_t::fbuf, mpeg2dec_s::fbuf, mpeg2dec_s::fbuf_alloc, finalize_matrix(), mpeg2dec_s::first, mpeg2_picture_s::flags, mpeg2_sequence_s::flags, mpeg2_sequence_s::height, mpeg2_fbuf_s::id, mpeg2dec_s::info, info_user_data(), MPEG2_ALLOC_CONVERT_ID, MPEG2_ALLOC_CONVERTED, MPEG2_ALLOC_YUV, MPEG2_CONVERT_START, mpeg2_malloc(), mpeg2_reset_info(), mpeg2_set_fbuf(), mpeg2_picture_s::nb_fields, mpeg2dec_s::new_picture, NULL, PIC_MASK_CODING_TYPE, mpeg2dec_s::picture, mpeg2dec_s::pictures, mpeg2_decoder_s::second_field, SEQ_FLAG_LOW_DELAY, mpeg2dec_s::sequence, mpeg2_convert_init_s::start, mpeg2dec_s::state, STATE_PICTURE, mpeg2_decoder_s::stride_frame, and mpeg2dec_s::yuv_buf.

Referenced by mpeg2_parse_header().

## ◆ mpeg2_header_picture_start()

mpeg2_state_t mpeg2_header_picture_start | ( | mpeg2dec_t * | mpeg2dec | ) |

## ◆ mpeg2_header_sequence()

int mpeg2_header_sequence | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2_sequence_s::byte_rate, mpeg2_sequence_s::chroma_height, mpeg2_sequence_s::chroma_width, mpeg2dec_s::chunk_start, mpeg2_sequence_s::colour_primaries, mpeg2dec_s::copy_matrix, default_intra_quantizer_matrix, mpeg2_sequence_s::display_height, mpeg2dec_s::display_offset_x, mpeg2dec_s::display_offset_y, mpeg2_sequence_s::display_width, mpeg2dec_s::ext_state, mpeg2_sequence_s::flags, mpeg2_sequence_s::frame_period, mpeg2_sequence_s::height, mpeg2_sequence_s::matrix_coefficients, mpeg2_scan_norm, mpeg2dec_s::new_quantizer_matrix, mpeg2dec_s::new_sequence, mpeg2_sequence_s::picture_height, mpeg2_sequence_s::picture_width, mpeg2_sequence_s::pixel_width, mpeg2_sequence_s::profile_level_id, SEQ_EXT, SEQ_FLAG_CONSTRAINED_PARAMETERS, SEQ_FLAG_PROGRESSIVE_SEQUENCE, SEQ_VIDEO_FORMAT_UNSPECIFIED, mpeg2dec_s::state, STATE_SEQUENCE, mpeg2_sequence_s::transfer_characteristics, mpeg2_sequence_s::vbv_buffer_size, and mpeg2_sequence_s::width.

## ◆ mpeg2_header_sequence_finalize()

void mpeg2_header_sequence_finalize | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::action, mpeg2_decoder_s::chroma_format, mpeg2_sequence_s::chroma_height, mpeg2_sequence_s::chroma_width, mpeg2dec_s::decoder, finalize_matrix(), finalize_sequence(), mpeg2_sequence_s::flags, mpeg2_info_s::gop, mpeg2_decoder_s::height, mpeg2_sequence_s::height, mpeg2dec_s::info, info_user_data(), invalid_end_action(), mpeg2_decoder_s::mpeg1, mpeg2_header_end(), mpeg2_reset_info(), mpeg2dec_s::new_sequence, NULL, mpeg2_sequence_s::picture_height, SEQ_FLAG_LOW_DELAY, SEQ_FLAG_MPEG2, mpeg2_info_s::sequence, mpeg2dec_s::sequence, mpeg2dec_s::state, STATE_INVALID_END, STATE_SEQUENCE_MODIFIED, STATE_SEQUENCE_REPEATED, mpeg2_decoder_s::stride_frame, mpeg2_decoder_s::vertical_position_extension, mpeg2_decoder_s::width, and mpeg2_sequence_s::width.

Referenced by mpeg2_parse_header().

## ◆ mpeg2_header_slice_start()

mpeg2_state_t mpeg2_header_slice_start | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::action, B_TYPE, mpeg2_fbuf_s::buf, mpeg2_decoder_s::chroma_quantizer, mpeg2_decoder_s::coding_type, mpeg2_decoder_s::convert_id, mpeg2dec_s::convert_start, D_TYPE, mpeg2dec_s::decoder, mpeg2dec_s::fbuf, mpeg2_info_s::gop, I_TYPE, mpeg2dec_s::info, mpeg2_init_fbuf(), mpeg2dec_s::nb_decode_slices, NULL, PIC_FLAG_SKIP, mpeg2dec_s::picture, prescale(), mpeg2_decoder_s::quantizer_prescale, mpeg2dec_s::state, STATE_INTERNAL_NORETURN, STATE_PICTURE_2ND, STATE_SLICE, STATE_SLICE_1ST, mpeg2_info_s::user_data, mpeg2_info_s::user_data_len, mpeg2dec_s::yuv_buf, and mpeg2dec_s::yuv_index.

Referenced by mpeg2_parse_header().

## ◆ mpeg2_header_state_init()

void mpeg2_header_state_init | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::alloc_index, mpeg2dec_s::alloc_index_user, mpeg2_fbuf_s::buf, mpeg2_decoder_s::coding_type, mpeg2_decoder_s::convert, mpeg2dec_s::convert, mpeg2_decoder_s::convert_id, mpeg2dec_s::convert_start, mpeg2dec_s::custom_fbuf, mpeg2dec_s::decoder, fbuf_alloc_t::fbuf, mpeg2dec_s::fbuf, mpeg2dec_s::fbuf_alloc, mpeg2dec_s::first, mpeg2dec_s::first_decode_slice, I_TYPE, mpeg2_free(), mpeg2dec_s::nb_decode_slices, NULL, mpeg2dec_s::picture, mpeg2dec_s::pictures, mpeg2dec_s::sequence, mpeg2_sequence_s::width, mpeg2dec_s::yuv_buf, and mpeg2dec_s::yuv_index.

## ◆ mpeg2_header_user_data()

int mpeg2_header_user_data | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::chunk_ptr, mpeg2dec_s::chunk_start, and mpeg2dec_s::user_data_len.

Referenced by mpeg2_parse_header().

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

References CLIP, clip_lut, MM_ACCEL_MLIB, MM_ACCEL_PPC_ALTIVEC, MM_ACCEL_X86_MMX, MM_ACCEL_X86_MMXEXT, MPEG2_ACCEL_ALPHA, MPEG2_ACCEL_ALPHA_MVI, MPEG2_ACCEL_PPC_ALTIVEC, MPEG2_ACCEL_X86_MMX, MPEG2_ACCEL_X86_MMXEXT, mpeg2_idct, mpeg2_idct_add, mpeg2_idct_add_alpha(), mpeg2_idct_add_altivec(), mpeg2_idct_add_c(), mpeg2_idct_add_mlib(), mpeg2_idct_add_mlib_non_ieee(), mpeg2_idct_add_mmx(), mpeg2_idct_add_mmxext(), mpeg2_idct_add_mvi(), mpeg2_idct_alpha_init(), mpeg2_idct_altivec_init(), mpeg2_idct_c(), mpeg2_idct_copy, mpeg2_idct_copy_alpha(), mpeg2_idct_copy_altivec(), mpeg2_idct_copy_c(), mpeg2_idct_copy_mlib_non_ieee(), mpeg2_idct_copy_mmx(), mpeg2_idct_copy_mmxext(), mpeg2_idct_copy_mvi(), mpeg2_idct_mlib(), mpeg2_idct_mmx(), mpeg2_idct_mmx_init(), mpeg2_idct_mmxext(), mpeg2_scan_alt, mpeg2_scan_norm, mpeg2_zero_block, mpeg2_zero_block_c(), mpeg2_zero_block_mmx(), and NULL.

Referenced by mpeg2_accel(), and mpeg2_init().

## ◆ mpeg2_idct_mmx_init()

void mpeg2_idct_mmx_init | ( | void |  | ) |

## ◆ mpeg2_mc_init()

void mpeg2_mc_init | ( | uint32_t | accel | ) |

References MM_ACCEL_MLIB, MM_ACCEL_PPC_ALTIVEC, MM_ACCEL_SPARC_VIS, MM_ACCEL_X86_3DNOW, MM_ACCEL_X86_MMX, MM_ACCEL_X86_MMXEXT, MPEG2_ACCEL_ALPHA, MPEG2_ACCEL_PPC_ALTIVEC, MPEG2_ACCEL_SPARC_VIS, MPEG2_ACCEL_X86_3DNOW, MPEG2_ACCEL_X86_MMX, MPEG2_ACCEL_X86_MMXEXT, mpeg2_mc, mpeg2_mc_3dnow, mpeg2_mc_alpha, mpeg2_mc_altivec, mpeg2_mc_c, mpeg2_mc_mlib, mpeg2_mc_mmx, mpeg2_mc_mmxext, and mpeg2_mc_vis.

Referenced by mpeg2_accel(), and mpeg2_init().

## ◆ mpeg2_parse_header()

mpeg2_state_t mpeg2_parse_header | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::action, mpeg2dec_s::buf_end, mpeg2dec_s::buf_start, BUFFER_SIZE, mpeg2dec_s::bytes_since_tag, mpeg2dec_s::chunk_buffer, mpeg2dec_s::chunk_ptr, mpeg2dec_s::chunk_start, mpeg2dec_s::code, copy_chunk(), mpeg2dec_s::info, mpeg2_accels, mpeg2_header_extension(), mpeg2_header_gop(), mpeg2_header_gop_finalize(), mpeg2_header_picture(), mpeg2_header_picture_finalize(), mpeg2_header_sequence(), mpeg2_header_sequence_finalize(), mpeg2_header_slice_start(), mpeg2_header_user_data(), mpeg2_parse_header(), mpeg2_seek_header(), NULL, process_header(), RECEIVED, mpeg2dec_s::state, STATE_BUFFER, STATE_GOP, STATE_INVALID, STATE_PICTURE, STATE_PICTURE_2ND, STATE_SEQUENCE, mpeg2_info_s::user_data, mpeg2_info_s::user_data_len, and mpeg2dec_s::user_data_len.

Referenced by mpeg2_parse_header(), and mpeg2_seek_header().

## ◆ mpeg2_reset_info()

void mpeg2_reset_info | ( | mpeg2_info_t * | info | ) |

References mpeg2_info_s::current_fbuf, mpeg2_info_s::current_picture, mpeg2_info_s::current_picture_2nd, mpeg2_info_s::discard_fbuf, mpeg2_info_s::display_fbuf, mpeg2_info_s::display_picture, mpeg2_info_s::display_picture_2nd, and NULL.

Referenced by invalid_end_action(), mpeg2_header_end(), mpeg2_header_gop_finalize(), mpeg2_header_picture_finalize(), mpeg2_header_sequence_finalize(), mpeg2_reset(), and seek_sequence().

## ◆ mpeg2_seek_header()

mpeg2_state_t mpeg2_seek_header | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::chunk_buffer, mpeg2dec_s::chunk_ptr, mpeg2dec_s::chunk_start, mpeg2dec_s::code, mpeg2_header_end(), mpeg2_parse_header(), seek_chunk(), mpeg2dec_s::sequence, STATE_BUFFER, mpeg2dec_s::user_data_len, and mpeg2_sequence_s::width.

Referenced by invalid_end_action(), mpeg2_parse(), mpeg2_parse_header(), mpeg2_reset(), and seek_sequence().

## ◆ mpeg2_set_fbuf()

void mpeg2_set_fbuf | ( | mpeg2dec_t * | mpeg2dec,
|  | int | b_type )

References mpeg2dec_s::convert, mpeg2_info_s::current_fbuf, mpeg2_info_s::discard_fbuf, mpeg2_info_s::display_fbuf, fbuf_alloc_t::fbuf, mpeg2dec_s::fbuf, mpeg2dec_s::fbuf_alloc, mpeg2_sequence_s::flags, mpeg2dec_s::info, SEQ_FLAG_LOW_DELAY, and mpeg2dec_s::sequence.

Referenced by mpeg2_header_picture_finalize(), and mpeg2_set_buf().

## 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(), and 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