xine-lib: xine-lib-1.2.12/src/video_dec/libmpeg2new/libmpeg2/header.c File Reference

xine-lib 1.2.12

Macros | Functions | Variables
header.c File Reference
`#include "config.h"`
`#include <inttypes.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include "../include/mpeg2.h"`
`#include "../include/attributes.h"`
`#include "mpeg2_internal.h"`

## Macros
#define | SEQ_EXT 2
#define | SEQ_DISPLAY_EXT 4
#define | QUANT_MATRIX_EXT 8
#define | COPYRIGHT_EXT 0x10
#define | PIC_DISPLAY_EXT 0x80
#define | PIC_CODING_EXT 0x100

## Functions
void | mpeg2_header_state_init (mpeg2dec_t *mpeg2dec)
void | mpeg2_reset_info (mpeg2_info_t *info)
static void | info_user_data (mpeg2dec_t *mpeg2dec)
int | mpeg2_header_sequence (mpeg2dec_t *mpeg2dec)
static int | sequence_ext (mpeg2dec_t *mpeg2dec)
static int | sequence_display_ext (mpeg2dec_t *mpeg2dec)
static void | simplify (unsigned int *u, unsigned int *v)
static void | finalize_sequence (mpeg2_sequence_t *sequence)
int | mpeg2_guess_aspect (const mpeg2_sequence_t *sequence, unsigned int *pixel_width, unsigned int *pixel_height)
static void | copy_matrix (mpeg2dec_t *mpeg2dec, int index)
static void | finalize_matrix (mpeg2dec_t *mpeg2dec)
static mpeg2_state_t | invalid_end_action (mpeg2dec_t *mpeg2dec)
void | mpeg2_header_sequence_finalize (mpeg2dec_t *mpeg2dec)
int | mpeg2_header_gop (mpeg2dec_t *mpeg2dec)
void | mpeg2_header_gop_finalize (mpeg2dec_t *mpeg2dec)
void | mpeg2_set_fbuf (mpeg2dec_t *mpeg2dec, int b_type)
int | mpeg2_header_picture (mpeg2dec_t *mpeg2dec)
static int | picture_coding_ext (mpeg2dec_t *mpeg2dec)
static int | picture_display_ext (mpeg2dec_t *mpeg2dec)
void | mpeg2_header_picture_finalize (mpeg2dec_t *mpeg2dec, uint32_t accels)
static int | copyright_ext (mpeg2dec_t *mpeg2dec)
static int | quant_matrix_ext (mpeg2dec_t *mpeg2dec)
int | mpeg2_header_extension (mpeg2dec_t *mpeg2dec)
int | mpeg2_header_user_data (mpeg2dec_t *mpeg2dec)
static void | prescale (mpeg2dec_t *mpeg2dec, int index)
mpeg2_state_t | mpeg2_header_slice_start (mpeg2dec_t *mpeg2dec)
static mpeg2_state_t | seek_sequence (mpeg2dec_t *mpeg2dec)
mpeg2_state_t | mpeg2_header_end (mpeg2dec_t *mpeg2dec)

## Variables
static const uint8_t | default_intra_quantizer_matrix [64]
uint8_t | mpeg2_scan_norm [64]
uint8_t | mpeg2_scan_alt [64]

## Macro Definition Documentation

## ◆ COPYRIGHT_EXT

#define COPYRIGHT_EXT 0x10

## ◆ PIC_CODING_EXT

#define PIC_CODING_EXT 0x100

## ◆ PIC_DISPLAY_EXT

#define PIC_DISPLAY_EXT 0x80

## ◆ QUANT_MATRIX_EXT

#define QUANT_MATRIX_EXT 8

## ◆ SEQ_DISPLAY_EXT

#define SEQ_DISPLAY_EXT 4

## ◆ SEQ_EXT

#define SEQ_EXT 2

## Function Documentation

## ◆ copy_matrix()

static void copy_matrix | ( | mpeg2dec_t * | mpeg2dec,
|  | int | index
| ) |  |
| static

References mpeg2dec_s::new_quantizer_matrix, mpeg2dec_s::quantizer_matrix, and mpeg2dec_s::scaled.

Referenced by finalize_matrix().

## ◆ copyright_ext()

static int copyright_ext | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

Referenced by mpeg2_header_extension().

## ◆ finalize_matrix()

static void finalize_matrix | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2_decoder_s::chroma_quantizer, copy_matrix(), mpeg2dec_s::copy_matrix, mpeg2dec_s::decoder, mpeg2dec_s::new_quantizer_matrix, mpeg2dec_s::quantizer_matrix, and mpeg2_decoder_s::quantizer_prescale.

Referenced by mpeg2_header_picture_finalize(), and mpeg2_header_sequence_finalize().

## ◆ finalize_sequence()

static void finalize_sequence | ( | mpeg2_sequence_t * | sequence | ) |
| inlinestatic

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

Referenced by mpeg2_header_sequence_finalize().

## ◆ info_user_data()

static void info_user_data | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2dec_s::chunk_buffer, mpeg2dec_s::info, mpeg2_info_s::user_data, mpeg2_info_s::user_data_len, and mpeg2dec_s::user_data_len.

Referenced by invalid_end_action(), mpeg2_header_gop_finalize(), mpeg2_header_picture_finalize(), and mpeg2_header_sequence_finalize().

## ◆ invalid_end_action()

static mpeg2_state_t invalid_end_action | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2dec_s::action, mpeg2_info_s::gop, mpeg2dec_s::info, info_user_data(), mpeg2_header_state_init(), mpeg2_reset_info(), mpeg2_seek_header(), mpeg2dec_s::new_sequence, NULL, mpeg2dec_s::sequence, mpeg2dec_s::state, and STATE_SEQUENCE.

Referenced by mpeg2_header_sequence_finalize().

## ◆ 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_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_sequence_s::flags, mpeg2_picture_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_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_sequence_s::height, mpeg2_decoder_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_sequence_s::width, and mpeg2_decoder_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_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_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().

## ◆ picture_coding_ext()

static int picture_coding_ext | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2_decoder_s::b_motion, BOTTOM_FIELD, mpeg2dec_s::chunk_start, mpeg2_decoder_s::concealment_motion_vectors, COPYRIGHT_EXT, mpeg2dec_s::decoder, mpeg2dec_s::ext_state, motion_t::f_code, mpeg2_decoder_s::f_motion, mpeg2_sequence_s::flags, mpeg2_picture_s::flags, FRAME_PICTURE, mpeg2_decoder_s::frame_pred_frame_dct, mpeg2_decoder_s::intra_dc_precision, mpeg2_decoder_s::intra_vlc_format, mpeg2_scan_alt, mpeg2_scan_norm, mpeg2_picture_s::nb_fields, mpeg2dec_s::new_picture, PIC_DISPLAY_EXT, PIC_FLAG_COMPOSITE_DISPLAY, PIC_FLAG_PROGRESSIVE_FRAME, PIC_FLAG_TOP_FIELD_FIRST, PIC_MASK_COMPOSITE_DISPLAY, mpeg2_decoder_s::picture_structure, mpeg2dec_s::q_scale_type, QUANT_MATRIX_EXT, mpeg2_decoder_s::scan, SEQ_FLAG_PROGRESSIVE_SEQUENCE, mpeg2dec_s::sequence, TOP_FIELD, and mpeg2_decoder_s::top_field_first.

Referenced by mpeg2_header_extension().

## ◆ picture_display_ext()

static int picture_display_ext | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2dec_s::chunk_start, mpeg2_picture_s::display_offset, mpeg2dec_s::display_offset_x, mpeg2dec_s::display_offset_y, mpeg2_sequence_s::flags, mpeg2_picture_s::nb_fields, mpeg2dec_s::new_picture, SEQ_FLAG_PROGRESSIVE_SEQUENCE, mpeg2dec_s::sequence, mpeg2_picture_s::x, and mpeg2_picture_s::y.

Referenced by mpeg2_header_extension().

## ◆ prescale()

static void prescale | ( | mpeg2dec_t * | mpeg2dec,
|  | int | index
| ) |  |
| static

References mpeg2dec_s::decoder, mpeg2dec_s::q_scale_type, mpeg2dec_s::quantizer_matrix, mpeg2_decoder_s::quantizer_prescale, and mpeg2dec_s::scaled.

Referenced by mpeg2_header_slice_start().

## ◆ quant_matrix_ext()

static int quant_matrix_ext | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2dec_s::chunk_start, mpeg2dec_s::copy_matrix, mpeg2_scan_norm, and mpeg2dec_s::new_quantizer_matrix.

Referenced by mpeg2_header_extension().

## ◆ seek_sequence()

static mpeg2_state_t seek_sequence | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2dec_s::action, mpeg2_info_s::gop, mpeg2dec_s::info, mpeg2_header_state_init(), mpeg2_reset_info(), mpeg2_seek_header(), NULL, and mpeg2_info_s::sequence.

Referenced by mpeg2_header_end().

## ◆ sequence_display_ext()

static int sequence_display_ext | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2dec_s::chunk_start, mpeg2_sequence_s::colour_primaries, mpeg2_sequence_s::display_height, mpeg2_sequence_s::display_width, mpeg2_sequence_s::flags, mpeg2_sequence_s::matrix_coefficients, mpeg2dec_s::new_sequence, SEQ_FLAG_COLOUR_DESCRIPTION, SEQ_MASK_VIDEO_FORMAT, and mpeg2_sequence_s::transfer_characteristics.

Referenced by mpeg2_header_extension().

## ◆ sequence_ext()

static int sequence_ext | ( | mpeg2dec_t * | mpeg2dec | ) |
| static

References mpeg2_sequence_s::byte_rate, mpeg2_sequence_s::chroma_height, mpeg2_sequence_s::chroma_width, mpeg2dec_s::chunk_start, mpeg2_sequence_s::display_height, mpeg2_sequence_s::display_width, mpeg2dec_s::ext_state, mpeg2_sequence_s::flags, mpeg2_sequence_s::frame_period, mpeg2_sequence_s::height, mpeg2dec_s::new_sequence, mpeg2_sequence_s::picture_height, mpeg2_sequence_s::picture_width, mpeg2_sequence_s::profile_level_id, SEQ_DISPLAY_EXT, SEQ_FLAG_LOW_DELAY, SEQ_FLAG_MPEG2, mpeg2_sequence_s::vbv_buffer_size, and mpeg2_sequence_s::width.

Referenced by mpeg2_header_extension().

## ◆ simplify()

static void simplify | ( | unsigned int * | u,
|  | unsigned int * | v
| ) |  |
| inlinestatic

References v.

Referenced by finalize_sequence(), and mpeg2_guess_aspect().

## Variable Documentation

## ◆ default_intra_quantizer_matrix

const uint8_t default_intra_quantizer_matrix[64]
| static

Initial value:
= {
8,
16, 16,
19, 16, 19,
22, 22, 22, 22,
22, 22, 26, 24, 26,
27, 27, 27, 26, 26, 26,
26, 27, 27, 27, 29, 29, 29,
34, 34, 34, 29, 29, 29, 27, 27,
29, 29, 32, 32, 34, 34, 37,
38, 37, 35, 35, 34, 35,
38, 38, 40, 40, 40,
48, 48, 46, 46,
56, 56, 58,
69, 69,
83
}

## ◆ mpeg2_scan_alt

uint8_t mpeg2_scan_alt[64]

Initial value:
= {
0, 8, 16, 24, 1, 9, 2, 10, 17, 25, 32, 40, 48, 56, 57, 49,
41, 33, 26, 18, 3, 11, 4, 12, 19, 27, 34, 42, 50, 58, 35, 43,
51, 59, 20, 28, 5, 13, 6, 14, 21, 29, 36, 44, 52, 60, 37, 45,
53, 61, 22, 30, 7, 15, 23, 31, 38, 46, 54, 62, 39, 47, 55, 63
}

## ◆ mpeg2_scan_norm

uint8_t mpeg2_scan_norm[64]

Initial value:
= {
0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5,
12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28,
35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51,
58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63
}