xine-lib 1.2.13-20230125hg15249
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

Referenced by picture_coding_ext().

◆ PIC_CODING_EXT

#define PIC_CODING_EXT   0x100

Referenced by mpeg2_header_picture().

◆ PIC_DISPLAY_EXT

#define PIC_DISPLAY_EXT   0x80

Referenced by picture_coding_ext().

◆ QUANT_MATRIX_EXT

#define QUANT_MATRIX_EXT   8

Referenced by picture_coding_ext().

◆ SEQ_DISPLAY_EXT

#define SEQ_DISPLAY_EXT   4

Referenced by sequence_ext().

◆ SEQ_EXT

#define SEQ_EXT   2

Referenced by mpeg2_header_sequence().

Function Documentation

◆ copy_matrix()

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

◆ 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

◆ finalize_sequence()

static void finalize_sequence ( mpeg2_sequence_t * sequence)
inlinestatic

◆ info_user_data()

static void info_user_data ( mpeg2dec_t * mpeg2dec)
static

◆ invalid_end_action()

static mpeg2_state_t invalid_end_action ( mpeg2dec_t * mpeg2dec)
static

◆ mpeg2_guess_aspect()

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

◆ 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_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_reset_info()

void mpeg2_reset_info ( mpeg2_info_t * info)

◆ mpeg2_set_fbuf()

void mpeg2_set_fbuf ( mpeg2dec_t * mpeg2dec,
int b_type )

◆ picture_coding_ext()

static int picture_coding_ext ( mpeg2dec_t * mpeg2dec)
static

◆ picture_display_ext()

static int picture_display_ext ( mpeg2dec_t * mpeg2dec)
static

◆ prescale()

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

◆ quant_matrix_ext()

static int quant_matrix_ext ( mpeg2dec_t * mpeg2dec)
static

◆ seek_sequence()

static mpeg2_state_t seek_sequence ( mpeg2dec_t * mpeg2dec)
static

◆ sequence_display_ext()

static int sequence_display_ext ( mpeg2dec_t * mpeg2dec)
static

◆ sequence_ext()

static int sequence_ext ( mpeg2dec_t * mpeg2dec)
static

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