xine-lib: xine-lib-1.2.13/src/video_dec/libmpeg2new/include/mpeg2.h File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Enumerations | Functions
mpeg2.h File Reference

Go to the source code of this file.

## Data Structures
struct | mpeg2_sequence_s
struct | mpeg2_gop_s
struct | mpeg2_picture_s
struct | mpeg2_fbuf_s
struct | mpeg2_info_s
struct | mpeg2_convert_init_s

## Macros
#define | MPEG2_VERSION(a, b, c) (((a)<<16)|((b)<<8)|(c))
#define | MPEG2_RELEASE MPEG2_VERSION (0, 4, 1) /* 0.4.1 */
#define | SEQ_FLAG_MPEG2 1
#define | SEQ_FLAG_CONSTRAINED_PARAMETERS 2
#define | SEQ_FLAG_PROGRESSIVE_SEQUENCE 4
#define | SEQ_FLAG_LOW_DELAY 8
#define | SEQ_FLAG_COLOUR_DESCRIPTION 16
#define | SEQ_MASK_VIDEO_FORMAT 0xe0
#define | SEQ_VIDEO_FORMAT_COMPONENT 0
#define | SEQ_VIDEO_FORMAT_PAL 0x20
#define | SEQ_VIDEO_FORMAT_NTSC 0x40
#define | SEQ_VIDEO_FORMAT_SECAM 0x60
#define | SEQ_VIDEO_FORMAT_MAC 0x80
#define | SEQ_VIDEO_FORMAT_UNSPECIFIED 0xa0
#define | GOP_FLAG_DROP_FRAME 1
#define | GOP_FLAG_BROKEN_LINK 2
#define | GOP_FLAG_CLOSED_GOP 4
#define | PIC_MASK_CODING_TYPE 7
#define | PIC_FLAG_CODING_TYPE_I 1
#define | PIC_FLAG_CODING_TYPE_P 2
#define | PIC_FLAG_CODING_TYPE_B 3
#define | PIC_FLAG_CODING_TYPE_D 4
#define | PIC_FLAG_TOP_FIELD_FIRST 8
#define | PIC_FLAG_PROGRESSIVE_FRAME 16
#define | PIC_FLAG_COMPOSITE_DISPLAY 32
#define | PIC_FLAG_SKIP 64
#define | PIC_FLAG_TAGS 128
#define | PIC_MASK_COMPOSITE_DISPLAY 0xfffff000
#define | MPEG2_ACCEL_X86_MMX 1
#define | MPEG2_ACCEL_X86_3DNOW 2
#define | MPEG2_ACCEL_X86_MMXEXT 4
#define | MPEG2_ACCEL_X86_SSE2 8
#define | MPEG2_ACCEL_X86_SSE3 16
#define | MPEG2_ACCEL_PPC_ALTIVEC 1
#define | MPEG2_ACCEL_ALPHA 1
#define | MPEG2_ACCEL_ALPHA_MVI 2
#define | MPEG2_ACCEL_SPARC_VIS 1
#define | MPEG2_ACCEL_SPARC_VIS2 2
#define | MPEG2_ACCEL_DETECT 0x80000000

## Typedefs
typedef struct mpeg2_sequence_s | mpeg2_sequence_t
typedef struct mpeg2_gop_s | mpeg2_gop_t
typedef struct mpeg2_picture_s | mpeg2_picture_t
typedef struct mpeg2_fbuf_s | mpeg2_fbuf_t
typedef struct mpeg2_info_s | mpeg2_info_t
typedef struct mpeg2dec_s | mpeg2dec_t
typedef struct mpeg2_decoder_s | mpeg2_decoder_t
typedef struct mpeg2_convert_init_s | mpeg2_convert_init_t
typedef int | mpeg2_convert_t(int stage, void *id, const mpeg2_sequence_t *sequence, int stride, uint32_t accel, void *arg, mpeg2_convert_init_t *result)

## Enumerations
enum | mpeg2_state_t { STATE_BUFFER = 0 , STATE_SEQUENCE = 1 , STATE_SEQUENCE_REPEATED = 2 , STATE_SEQUENCE_MODIFIED = 3 , STATE_GOP = 4 , STATE_PICTURE = 5 , STATE_SLICE_1ST = 6 , STATE_PICTURE_2ND = 7 , STATE_SLICE = 8 , STATE_END = 9 , STATE_INVALID = 10 , STATE_INVALID_END = 11 }
enum | mpeg2_convert_stage_t { MPEG2_CONVERT_SET = 0 , MPEG2_CONVERT_STRIDE = 1 , MPEG2_CONVERT_START = 2 }
enum | mpeg2_alloc_t { MPEG2_ALLOC_MPEG2DEC = 0 , MPEG2_ALLOC_CHUNK = 1 , MPEG2_ALLOC_YUV = 2 , MPEG2_ALLOC_CONVERT_ID = 3 , MPEG2_ALLOC_CONVERTED = 4 }

## Functions
int | mpeg2_convert (mpeg2dec_t *mpeg2dec, mpeg2_convert_t convert, void *arg)
int | mpeg2_stride (mpeg2dec_t *mpeg2dec, int stride)
void | mpeg2_set_buf (mpeg2dec_t *mpeg2dec, uint8_t *buf[3], void *id)
void | mpeg2_custom_fbuf (mpeg2dec_t *mpeg2dec, int custom_fbuf)
uint32_t | mpeg2_accel (uint32_t accel)
mpeg2dec_t * | mpeg2_init (void)
const mpeg2_info_t * | mpeg2_info (mpeg2dec_t *mpeg2dec)
void | mpeg2_close (mpeg2dec_t *mpeg2dec)
void | mpeg2_buffer (mpeg2dec_t *mpeg2dec, uint8_t *start, uint8_t *end)
int | mpeg2_getpos (mpeg2dec_t *mpeg2dec)
mpeg2_state_t | mpeg2_parse (mpeg2dec_t *mpeg2dec)
void | mpeg2_reset (mpeg2dec_t *mpeg2dec, int full_reset)
void | mpeg2_skip (mpeg2dec_t *mpeg2dec, int skip)
void | mpeg2_slice_region (mpeg2dec_t *mpeg2dec, int start, int end)
void | mpeg2_tag_picture (mpeg2dec_t *mpeg2dec, uint32_t tag, uint32_t tag2)
void | mpeg2_init_fbuf (mpeg2_decoder_t *decoder, uint8_t *current_fbuf[3], uint8_t *forward_fbuf[3], uint8_t *backward_fbuf[3])
void | mpeg2_slice (mpeg2_decoder_t *decoder, int code, const uint8_t *buffer)
int | mpeg2_guess_aspect (const mpeg2_sequence_t *sequence, unsigned int *pixel_width, unsigned int *pixel_height)
void * | mpeg2_malloc (unsigned size, mpeg2_alloc_t reason)
void | mpeg2_free (void *buf)
void | mpeg2_malloc_hooks (void *malloc(unsigned, mpeg2_alloc_t), int free(void *))

## Macro Definition Documentation

## ◆ GOP_FLAG_BROKEN_LINK

#define GOP_FLAG_BROKEN_LINK 2

## ◆ GOP_FLAG_CLOSED_GOP

#define GOP_FLAG_CLOSED_GOP 4

## ◆ GOP_FLAG_DROP_FRAME

#define GOP_FLAG_DROP_FRAME 1

## ◆ MPEG2_ACCEL_ALPHA

#define MPEG2_ACCEL_ALPHA 1

Referenced by mpeg2_idct_init(), and mpeg2_mc_init().

## ◆ MPEG2_ACCEL_ALPHA_MVI

#define MPEG2_ACCEL_ALPHA_MVI 2

Referenced by mpeg2_idct_init().

## ◆ MPEG2_ACCEL_DETECT

#define MPEG2_ACCEL_DETECT 0x80000000

Referenced by mpeg2_accel(), and mpeg2_init().

## ◆ MPEG2_ACCEL_PPC_ALTIVEC

#define MPEG2_ACCEL_PPC_ALTIVEC 1

Referenced by mpeg2_cpu_state_init(), mpeg2_idct_init(), and mpeg2_mc_init().

## ◆ MPEG2_ACCEL_SPARC_VIS

#define MPEG2_ACCEL_SPARC_VIS 1

Referenced by mpeg2_mc_init().

## ◆ MPEG2_ACCEL_SPARC_VIS2

#define MPEG2_ACCEL_SPARC_VIS2 2

## ◆ MPEG2_ACCEL_X86_3DNOW

#define MPEG2_ACCEL_X86_3DNOW 2

Referenced by mpeg2_mc_init().

## ◆ MPEG2_ACCEL_X86_MMX

#define MPEG2_ACCEL_X86_MMX 1

Referenced by mpeg2_cpu_state_init(), mpeg2_idct_init(), and mpeg2_mc_init().

## ◆ MPEG2_ACCEL_X86_MMXEXT

#define MPEG2_ACCEL_X86_MMXEXT 4

Referenced by mpeg2_idct_init(), and mpeg2_mc_init().

## ◆ MPEG2_ACCEL_X86_SSE2

#define MPEG2_ACCEL_X86_SSE2 8

## ◆ MPEG2_ACCEL_X86_SSE3

#define MPEG2_ACCEL_X86_SSE3 16

## ◆ MPEG2_RELEASE

#define MPEG2_RELEASE MPEG2_VERSION (0, 4, 1) /* 0.4.1 */

## ◆ MPEG2_VERSION

#define MPEG2_VERSION | ( |  | a,
|  |  | b,
|  |  | c ) (((a)<<16)|((b)<<8)|(c))

## ◆ PIC_FLAG_CODING_TYPE_B

#define PIC_FLAG_CODING_TYPE_B 3

Referenced by mpeg2_header_picture(), and mpeg2_set_buf().

## ◆ PIC_FLAG_CODING_TYPE_D

#define PIC_FLAG_CODING_TYPE_D 4

## ◆ PIC_FLAG_CODING_TYPE_I

#define PIC_FLAG_CODING_TYPE_I 1

## ◆ PIC_FLAG_CODING_TYPE_P

#define PIC_FLAG_CODING_TYPE_P 2

Referenced by mpeg2_header_picture().

## ◆ PIC_FLAG_COMPOSITE_DISPLAY

#define PIC_FLAG_COMPOSITE_DISPLAY 32

Referenced by picture_coding_ext().

## ◆ PIC_FLAG_PROGRESSIVE_FRAME

#define PIC_FLAG_PROGRESSIVE_FRAME 16

Referenced by mpeg2_header_picture().

## ◆ PIC_FLAG_SKIP

#define PIC_FLAG_SKIP 64

Referenced by mpeg2_header_slice_start().

## ◆ PIC_FLAG_TAGS

#define PIC_FLAG_TAGS 128

Referenced by mpeg2_header_picture().

## ◆ PIC_FLAG_TOP_FIELD_FIRST

#define PIC_FLAG_TOP_FIELD_FIRST 8

Referenced by mpeg2_video_decode_data(), and picture_coding_ext().

## ◆ PIC_MASK_CODING_TYPE

#define PIC_MASK_CODING_TYPE 7

Referenced by mpeg2_header_picture_finalize().

## ◆ PIC_MASK_COMPOSITE_DISPLAY

#define PIC_MASK_COMPOSITE_DISPLAY 0xfffff000

Referenced by picture_coding_ext().

## ◆ SEQ_FLAG_COLOUR_DESCRIPTION

#define SEQ_FLAG_COLOUR_DESCRIPTION 16

Referenced by sequence_display_ext().

## ◆ SEQ_FLAG_CONSTRAINED_PARAMETERS

#define SEQ_FLAG_CONSTRAINED_PARAMETERS 2

Referenced by mpeg2_header_sequence().

## ◆ SEQ_FLAG_LOW_DELAY

#define SEQ_FLAG_LOW_DELAY 8

Referenced by mpeg2_header_end(), mpeg2_header_picture_finalize(), mpeg2_header_sequence_finalize(), mpeg2_set_fbuf(), and sequence_ext().

## ◆ SEQ_FLAG_MPEG2

#define SEQ_FLAG_MPEG2 1

Referenced by finalize_sequence(), mpeg2_guess_aspect(), mpeg2_header_sequence_finalize(), mpeg2_video_decode_data(), and sequence_ext().

## ◆ SEQ_FLAG_PROGRESSIVE_SEQUENCE

#define SEQ_FLAG_PROGRESSIVE_SEQUENCE 4

Referenced by mpeg2_header_sequence(), picture_coding_ext(), and picture_display_ext().

## ◆ SEQ_MASK_VIDEO_FORMAT

#define SEQ_MASK_VIDEO_FORMAT 0xe0

Referenced by sequence_display_ext().

## ◆ SEQ_VIDEO_FORMAT_COMPONENT

#define SEQ_VIDEO_FORMAT_COMPONENT 0

## ◆ SEQ_VIDEO_FORMAT_MAC

#define SEQ_VIDEO_FORMAT_MAC 0x80

## ◆ SEQ_VIDEO_FORMAT_NTSC

#define SEQ_VIDEO_FORMAT_NTSC 0x40

## ◆ SEQ_VIDEO_FORMAT_PAL

#define SEQ_VIDEO_FORMAT_PAL 0x20

## ◆ SEQ_VIDEO_FORMAT_SECAM

#define SEQ_VIDEO_FORMAT_SECAM 0x60

## ◆ SEQ_VIDEO_FORMAT_UNSPECIFIED

#define SEQ_VIDEO_FORMAT_UNSPECIFIED 0xa0

Referenced by mpeg2_header_sequence().

## Typedef Documentation

## ◆ mpeg2_convert_init_t

typedef struct mpeg2_convert_init_s mpeg2_convert_init_t

## ◆ mpeg2_convert_t

typedef int mpeg2_convert_t(int stage, void *id, const mpeg2_sequence_t *sequence, int stride, uint32_t accel, void *arg, mpeg2_convert_init_t *result)

## ◆ mpeg2_decoder_t

typedef struct mpeg2_decoder_s mpeg2_decoder_t

## ◆ mpeg2_fbuf_t

typedef struct mpeg2_fbuf_s mpeg2_fbuf_t

## ◆ mpeg2_gop_t

typedef struct mpeg2_gop_s mpeg2_gop_t

## ◆ mpeg2_info_t

typedef struct mpeg2_info_s mpeg2_info_t

## ◆ mpeg2_picture_t

typedef struct mpeg2_picture_s mpeg2_picture_t

## ◆ mpeg2_sequence_t

typedef struct mpeg2_sequence_s mpeg2_sequence_t

## ◆ mpeg2dec_t

typedef struct mpeg2dec_s mpeg2dec_t

## Enumeration Type Documentation

## ◆ mpeg2_alloc_t

enum mpeg2_alloc_t

Enumerator
MPEG2_ALLOC_MPEG2DEC |
MPEG2_ALLOC_CHUNK |
MPEG2_ALLOC_YUV |
MPEG2_ALLOC_CONVERT_ID |
MPEG2_ALLOC_CONVERTED |

## ◆ mpeg2_convert_stage_t

enum mpeg2_convert_stage_t

Enumerator
MPEG2_CONVERT_SET |
MPEG2_CONVERT_STRIDE |
MPEG2_CONVERT_START |

## ◆ mpeg2_state_t

enum mpeg2_state_t

Enumerator
STATE_BUFFER |
STATE_SEQUENCE |
STATE_SEQUENCE_REPEATED |
STATE_SEQUENCE_MODIFIED |
STATE_GOP |
STATE_PICTURE |
STATE_SLICE_1ST |
STATE_PICTURE_2ND |
STATE_SLICE |
STATE_END |
STATE_INVALID |
STATE_INVALID_END |

## Function Documentation

## ◆ mpeg2_accel()

uint32_t mpeg2_accel | ( | uint32_t | accel | ) |

References MPEG2_ACCEL_DETECT, mpeg2_accels, mpeg2_cpu_state_init(), mpeg2_detect_accel(), mpeg2_idct_init(), and mpeg2_mc_init().

Referenced by mpeg2_init().

## ◆ mpeg2_buffer()

void mpeg2_buffer | ( | mpeg2dec_t * | mpeg2dec,
|  | uint8_t * | start,
|  | uint8_t * | end )

References mpeg2dec_s::buf_end, and mpeg2dec_s::buf_start.

Referenced by mpeg2_video_decode_data().

## ◆ mpeg2_close()

void mpeg2_close | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::cc_dec, mpeg2dec_s::chunk_buffer, spu_decoder_s::dispose, get_frame_duration(), lprintf, mpeg2_free(), mpeg2_header_state_init(), NULL, mpeg2dec_s::picture, mpeg2dec_s::stream, and xine_freep_aligned.

Referenced by mpeg2_video_dispose(), and mpeg2dec_dispose().

## ◆ mpeg2_convert()

int mpeg2_convert | ( | mpeg2dec_t * | mpeg2dec,
|  | mpeg2_convert_t | convert,
|  | void * | arg )

References mpeg2dec_s::convert, mpeg2dec_s::convert_arg, mpeg2dec_s::convert_id_size, mpeg2dec_s::convert_stride, mpeg2_convert_init_s::id_size, mpeg2_accels, MPEG2_CONVERT_SET, NULL, and mpeg2dec_s::sequence.

## ◆ mpeg2_custom_fbuf()

void mpeg2_custom_fbuf | ( | mpeg2dec_t * | mpeg2dec,
|  | int | custom_fbuf )

References mpeg2dec_s::custom_fbuf.

Referenced by open_plugin().

## ◆ mpeg2_free()

void mpeg2_free | ( | void * | buf | ) |

References free_hook.

Referenced by mpeg2_close(), and mpeg2_header_state_init().

## ◆ mpeg2_getpos()

int mpeg2_getpos | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::buf_end, and mpeg2dec_s::buf_start.

## ◆ mpeg2_guess_aspect()

int mpeg2_guess_aspect | ( | const mpeg2_sequence_t * | sequence,
|  | unsigned int * | pixel_width,
|  | unsigned int * | pixel_height )

References mpeg2_sequence_s::display_height, mpeg2_sequence_s::display_width, mpeg2_sequence_s::flags, height, mpeg2_sequence_s::picture_height, mpeg2_sequence_s::picture_width, mpeg2_sequence_s::pixel_height, mpeg2_sequence_s::pixel_width, SEQ_FLAG_MPEG2, simplify(), and width.

## ◆ mpeg2_info()

const mpeg2_info_t * mpeg2_info | ( | mpeg2dec_t * | mpeg2dec | ) |

References mpeg2dec_s::info.

Referenced by mpeg2_video_decode_data(), and mpeg2_video_reset().

## ◆ mpeg2_init()

mpeg2dec_t * mpeg2_init | ( | void |  | ) |

References BUFFER_SIZE, mpeg2dec_s::chunk_buffer, mpeg2_decoder_s::DCTblock, mpeg2dec_s::decoder, mpeg2_accel(), MPEG2_ACCEL_DETECT, MPEG2_ALLOC_CHUNK, MPEG2_ALLOC_MPEG2DEC, mpeg2_malloc(), mpeg2_reset(), NULL, mpeg2dec_s::quantizer_matrix, mpeg2dec_s::sequence, and mpeg2_sequence_s::width.

Referenced by open_plugin(), and open_plugin().

## ◆ mpeg2_init_fbuf()

void mpeg2_init_fbuf | ( | mpeg2_decoder_t * | decoder,
|  | uint8_t * | current_fbuf[3],
|  | uint8_t * | forward_fbuf[3],
|  | uint8_t * | backward_fbuf[3] )

References mpeg2_decoder_s::b_motion, B_TYPE, BOTTOM_FIELD, mpeg2_decoder_s::chroma_format, mpeg2_decoder_s::coding_type, mpeg2_decoder_s::dmv_offset, mpeg2_decoder_s::f_motion, FRAME_PICTURE, height, mpeg2_decoder_s::height, mpeg2_decoder_s::limit_x, mpeg2_decoder_s::limit_y, mpeg2_decoder_s::limit_y_16, mpeg2_decoder_s::limit_y_8, MC_16X8, MC_DMV, MC_FIELD, MC_FRAME, motion_fi_16x8_420(), motion_fi_16x8_422(), motion_fi_16x8_444(), motion_fi_dmv_420(), motion_fi_dmv_422(), motion_fi_dmv_444(), motion_fi_field_420(), motion_fi_field_422(), motion_fi_field_444(), motion_fr_dmv_420(), motion_fr_dmv_422(), motion_fr_dmv_444(), motion_fr_field_420(), motion_fr_field_422(), motion_fr_field_444(), motion_fr_frame_420(), motion_fr_frame_422(), motion_fr_frame_444(), motion_mp1(), mpeg2_decoder_s::motion_parser, motion_reuse_420(), motion_reuse_422(), motion_reuse_444(), motion_zero_420(), motion_zero_422(), motion_zero_444(), mpeg2_decoder_s::mpeg1, mpeg2_decoder_s::picture_dest, mpeg2_decoder_s::picture_structure, motion_t::ref, motion_t::ref2, mpeg2_decoder_s::second_field, mpeg2_decoder_s::slice_stride, mpeg2_decoder_s::slice_uv_stride, mpeg2_decoder_s::stride, mpeg2_decoder_s::stride_frame, mpeg2_decoder_s::uv_stride, and mpeg2_decoder_s::width.

Referenced by mpeg2_header_slice_start().

## ◆ mpeg2_malloc()

void * mpeg2_malloc | ( | unsigned | size,
|  | mpeg2_alloc_t | reason )

References malloc_hook, and NULL.

Referenced by mpeg2_header_picture_finalize(), and mpeg2_init().

## ◆ mpeg2_malloc_hooks()

void mpeg2_malloc_hooks | ( | void * | mallocunsigned, mpeg2_alloc_t,
|  | int | freevoid * )

References free_hook, and malloc_hook.

## ◆ mpeg2_parse()

mpeg2_state_t mpeg2_parse | ( | 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::decoder, mpeg2dec_s::first_decode_slice, mpeg2_seek_header(), mpeg2_slice(), mpeg2dec_s::nb_decode_slices, seek_chunk(), mpeg2dec_s::state, STATE_BUFFER, STATE_INTERNAL_NORETURN, STATE_INVALID, and STATE_SLICE.

Referenced by mpeg2_video_decode_data(), and mpeg2_video_reset().

## ◆ mpeg2_reset()

void mpeg2_reset | ( | mpeg2dec_t * | mpeg2dec,
|  | int | full_reset )

References mpeg2dec_s::action, mpeg2dec_s::buf_end, mpeg2dec_s::buf_start, mpeg2dec_s::code, mpeg2dec_s::first, mpeg2_info_s::gop, mpeg2dec_s::info, mpeg2_header_state_init(), mpeg2_reset_info(), mpeg2_seek_header(), NULL, mpeg2dec_s::num_tags, mpeg2_info_s::sequence, mpeg2dec_s::shift, mpeg2dec_s::state, STATE_INVALID, mpeg2_info_s::user_data, and mpeg2_info_s::user_data_len.

## ◆ mpeg2_set_buf()

void mpeg2_set_buf | ( | mpeg2dec_t * | mpeg2dec,
|  | uint8_t * | buf[3],
|  | void * | id )

References mpeg2dec_s::alloc_index, mpeg2dec_s::alloc_index_user, mpeg2_fbuf_s::buf, mpeg2_decoder_s::coding_type, mpeg2dec_s::custom_fbuf, mpeg2dec_s::decoder, fbuf_alloc_t::fbuf, mpeg2dec_s::fbuf, mpeg2dec_s::fbuf_alloc, mpeg2_fbuf_s::id, mpeg2_set_fbuf(), PIC_FLAG_CODING_TYPE_B, mpeg2dec_s::state, and STATE_SEQUENCE.

Referenced by mpeg2_video_decode_data().

## ◆ mpeg2_skip()

void mpeg2_skip | ( | mpeg2dec_t * | mpeg2dec,
|  | int | skip )

References mpeg2dec_s::first_decode_slice, and mpeg2dec_s::nb_decode_slices.

## ◆ mpeg2_slice()

void mpeg2_slice | ( | mpeg2_decoder_t * | decoder,
|  | int | code,
|  | const uint8_t * | buffer )

References mpeg2_decoder_s::b_motion, bit_buf, bit_ptr, bits, bitstream_init(), mpeg2_decoder_s::chroma_format, code, mpeg2_decoder_s::coding_type, mpeg2_decoder_s::concealment_motion_vectors, D_TYPE, mpeg2_decoder_s::dc_dct_pred, DCT_TYPE_INTERLACED, mpeg2_decoder_s::dest, DUMPBITS, mpeg2_decoder_s::f_motion, FRAME_PICTURE, get_coded_block_pattern(), get_macroblock_modes(), get_quantizer_scale(), MBAtab::len, likely, MACROBLOCK_INTRA, MACROBLOCK_MOTION_FORWARD, MACROBLOCK_PATTERN, MACROBLOCK_QUANT, MBAtab::mba, MBA_11, MBA_5, MOTION_CALL, motion_fi_conceal(), motion_fr_conceal(), mpeg2_decoder_s::motion_parser, MOTION_TYPE_SHIFT, mpeg2_cpu_state_restore, mpeg2_cpu_state_save, NEEDBITS, NEXT_MACROBLOCK, mpeg2_decoder_s::offset, P_TYPE, mpeg2_decoder_s::picture_structure, motion_t::pmv, slice_init(), slice_intra_DCT(), slice_non_intra_DCT(), mpeg2_decoder_s::stride, UBITS, and mpeg2_decoder_s::uv_stride.

## ◆ mpeg2_slice_region()

void mpeg2_slice_region | ( | mpeg2dec_t * | mpeg2dec,
|  | int | start,
|  | int | end )

References mpeg2dec_s::first_decode_slice, and mpeg2dec_s::nb_decode_slices.

## ◆ mpeg2_stride()

int mpeg2_stride | ( | mpeg2dec_t * | mpeg2dec,
|  | int | stride )

References mpeg2dec_s::convert, mpeg2dec_s::convert_arg, mpeg2dec_s::convert_id_size, mpeg2dec_s::convert_stride, mpeg2dec_s::decoder, mpeg2_convert_init_s::id_size, mpeg2_accels, MPEG2_CONVERT_STRIDE, NULL, mpeg2dec_s::sequence, mpeg2_decoder_s::stride_frame, and mpeg2_sequence_s::width.

## ◆ mpeg2_tag_picture()

void mpeg2_tag_picture | ( | mpeg2dec_t * | mpeg2dec,
|  | uint32_t | tag,
|  | uint32_t | tag2 )

References mpeg2dec_s::bytes_since_tag, mpeg2dec_s::num_tags, mpeg2dec_s::tag2_current, mpeg2dec_s::tag2_previous, mpeg2dec_s::tag_current, and mpeg2dec_s::tag_previous.