/* Changed Sept 15th by John M McIntosh to support Macintosh & Squeak */ #ifndef VLC_H #define VLC_H /* variable length code tables */ typedef struct { char val, len; } mpeg3_VLCtab_t; typedef struct { char run, level, len; } mpeg3_DCTtab_t; /* Added 03/38/96 by Alex de Jong : avoid IRIX GNU warning */ //#ifdef ERROR //#undef ERROR //#define ERROR 99 //#endif /* Table B-3, mb_type in P-pictures, codes 001..1xx */ extern mpeg3_VLCtab_t mpeg3_PMBtab0[8]; /* Table B-3, mb_type in P-pictures, codes 000001..00011x */ extern mpeg3_VLCtab_t mpeg3_PMBtab1[8]; /* Table B-4, mb_type in B-pictures, codes 0010..11xx */ extern mpeg3_VLCtab_t mpeg3_BMBtab0[16]; /* Table B-4, mb_type in B-pictures, codes 000001..00011x */ extern mpeg3_VLCtab_t mpeg3_BMBtab1[8]; /* Table B-5, mb_type in spat. scal. I-pictures, codes 0001..1xxx */ extern mpeg3_VLCtab_t mpeg3_spIMBtab[16]; /* Table B-6, mb_type in spat. scal. P-pictures, codes 0010..11xx */ extern mpeg3_VLCtab_t mpeg3_spPMBtab0[16]; /* Table B-6, mb_type in spat. scal. P-pictures, codes 0000010..000111x */ extern mpeg3_VLCtab_t mpeg3_spPMBtab1[16]; /* Table B-7, mb_type in spat. scal. B-pictures, codes 0010..11xx */ extern mpeg3_VLCtab_t mpeg3_spBMBtab0[14]; /* Table B-7, mb_type in spat. scal. B-pictures, codes 0000100..000111x */ extern mpeg3_VLCtab_t mpeg3_spBMBtab1[12]; /* Table B-7, mb_type in spat. scal. B-pictures, codes 00000100x..000001111 */ extern mpeg3_VLCtab_t mpeg3_spBMBtab2[8]; /* Table B-8, mb_type in spat. scal. B-pictures, codes 001..1xx */ extern mpeg3_VLCtab_t mpeg3_SNRMBtab[8]; /* Table B-10, motion_code, codes 0001 ... 01xx */ extern mpeg3_VLCtab_t mpeg3_MVtab0[8]; /* Table B-10, motion_code, codes 0000011 ... 000011x */ extern mpeg3_VLCtab_t mpeg3_MVtab1[8]; /* Table B-10, motion_code, codes 0000001100 ... 000001011x */ extern mpeg3_VLCtab_t mpeg3_MVtab2[12]; /* Table B-9, coded_block_pattern, codes 01000 ... 111xx */ extern mpeg3_VLCtab_t mpeg3_CBPtab0[32]; /* Table B-9, coded_block_pattern, codes 00000100 ... 001111xx */ extern mpeg3_VLCtab_t mpeg3_CBPtab1[64]; /* Table B-9, coded_block_pattern, codes 000000001 ... 000000111 */ extern mpeg3_VLCtab_t mpeg3_CBPtab2[8]; /* Table B-1, macroblock_address_increment, codes 00010 ... 011xx */ extern mpeg3_VLCtab_t mpeg3_MBAtab1[16]; /* Table B-1, macroblock_address_increment, codes 00000011000 ... 0000111xxxx */ extern mpeg3_VLCtab_t mpeg3_MBAtab2[104]; /* Table B-12, dct_dc_size_luminance, codes 00xxx ... 11110 */ extern mpeg3_VLCtab_t mpeg3_DClumtab0[32]; /* Table B-12, dct_dc_size_luminance, codes 111110xxx ... 111111111 */ extern mpeg3_VLCtab_t mpeg3_DClumtab1[16]; /* Table B-13, dct_dc_size_chrominance, codes 00xxx ... 11110 */ extern mpeg3_VLCtab_t mpeg3_DCchromtab0[32]; /* Table B-13, dct_dc_size_chrominance, codes 111110xxxx ... 1111111111 */ extern mpeg3_VLCtab_t mpeg3_DCchromtab1[32]; /* Table B-14, DCT coefficients table zero, * codes 0100 ... 1xxx (used for first (DC) coefficient) */ extern mpeg3_DCTtab_t mpeg3_DCTtabfirst[12]; /* Table B-14, DCT coefficients table zero, * codes 0100 ... 1xxx (used for all other coefficients) */ extern mpeg3_DCTtab_t mpeg3_DCTtabnext[12]; /* Table B-14, DCT coefficients table zero, * codes 000001xx ... 00111xxx */ extern mpeg3_DCTtab_t mpeg3_DCTtab0[60]; /* Table B-15, DCT coefficients table one, * codes 000001xx ... 11111111 */ extern mpeg3_DCTtab_t mpeg3_DCTtab0a[252]; /* Table B-14, DCT coefficients table zero, * codes 0000001000 ... 0000001111 */ extern mpeg3_DCTtab_t mpeg3_DCTtab1[8]; /* Table B-15, DCT coefficients table one, * codes 000000100x ... 000000111x */ extern mpeg3_DCTtab_t mpeg3_DCTtab1a[8]; /* Table B-14/15, DCT coefficients table zero / one, * codes 000000010000 ... 000000011111 */ extern mpeg3_DCTtab_t mpeg3_DCTtab2[16]; /* Table B-14/15, DCT coefficients table zero / one, * codes 0000000010000 ... 0000000011111 */ extern mpeg3_DCTtab_t mpeg3_DCTtab3[16]; /* Table B-14/15, DCT coefficients table zero / one, * codes 00000000010000 ... 00000000011111 */ extern mpeg3_DCTtab_t mpeg3_DCTtab4[16]; /* Table B-14/15, DCT coefficients table zero / one, * codes 000000000010000 ... 000000000011111 */ extern mpeg3_DCTtab_t mpeg3_DCTtab5[16]; /* Table B-14/15, DCT coefficients table zero / one, * codes 0000000000010000 ... 0000000000011111 */ extern mpeg3_DCTtab_t mpeg3_DCTtab6[16]; #endif