/******************************************************************* block layer interface *******************************************************************/ #ifndef BLOCK_H #define BLOCK_H #include "video_stream.h" typedef struct { /* in sequence_header -> sequence_extension */ int chroma_format; /* in sequence_header & picture_header -> quant_matrix_extension */ unsigned char quantizer_weight[4][64]; /* in picture_header -> picture_coding_extension */ int picture_structure; int intra_dc_precision; int intra_vlc_format; int alternate_scan; int q_scale_type; /* in macroblock */ int macroblock_intra; int dct_type; int dc_dct_predictor[3]; int quantizer_scale_code; } READ_BLOCK_OPTION; #ifdef __cplusplus extern "C" { #endif #ifndef BLOCK_C extern int read_block(VIDEO_STREAM *in, short *out, int block_number, READ_BLOCK_OPTION *opt); extern int reset_dc_dct_predictor(READ_BLOCK_OPTION *p); #endif #ifdef __cplusplus } #endif #endif