00001 #ifndef VLC_H 00002 #define VLC_H 00003 00004 /* variable length code tables */ 00005 00006 typedef struct { 00007 char val, len; 00008 } mpeg3_VLCtab_t; 00009 00010 typedef struct { 00011 char run, level, len; 00012 } mpeg3_DCTtab_t; 00013 00014 /* Added 03/38/96 by Alex de Jong : avoid IRIX GNU warning */ 00015 #ifdef ERROR 00016 #undef ERROR 00017 #define ERROR 99 00018 #endif 00019 00020 /* Table B-3, mb_type in P-pictures, codes 001..1xx */ 00021 extern mpeg3_VLCtab_t mpeg3_PMBtab0[8]; 00022 00023 /* Table B-3, mb_type in P-pictures, codes 000001..00011x */ 00024 extern mpeg3_VLCtab_t mpeg3_PMBtab1[8]; 00025 00026 /* Table B-4, mb_type in B-pictures, codes 0010..11xx */ 00027 extern mpeg3_VLCtab_t mpeg3_BMBtab0[16]; 00028 00029 /* Table B-4, mb_type in B-pictures, codes 000001..00011x */ 00030 extern mpeg3_VLCtab_t mpeg3_BMBtab1[8]; 00031 00032 /* Table B-5, mb_type in spat. scal. I-pictures, codes 0001..1xxx */ 00033 extern mpeg3_VLCtab_t mpeg3_spIMBtab[16]; 00034 00035 /* Table B-6, mb_type in spat. scal. P-pictures, codes 0010..11xx */ 00036 extern mpeg3_VLCtab_t mpeg3_spPMBtab0[16]; 00037 00038 /* Table B-6, mb_type in spat. scal. P-pictures, codes 0000010..000111x */ 00039 extern mpeg3_VLCtab_t mpeg3_spPMBtab1[16]; 00040 00041 /* Table B-7, mb_type in spat. scal. B-pictures, codes 0010..11xx */ 00042 extern mpeg3_VLCtab_t mpeg3_spBMBtab0[14]; 00043 00044 /* Table B-7, mb_type in spat. scal. B-pictures, codes 0000100..000111x */ 00045 extern mpeg3_VLCtab_t mpeg3_spBMBtab1[12]; 00046 00047 /* Table B-7, mb_type in spat. scal. B-pictures, codes 00000100x..000001111 */ 00048 extern mpeg3_VLCtab_t mpeg3_spBMBtab2[8]; 00049 00050 /* Table B-8, mb_type in spat. scal. B-pictures, codes 001..1xx */ 00051 extern mpeg3_VLCtab_t mpeg3_SNRMBtab[8]; 00052 00053 /* Table B-10, motion_code, codes 0001 ... 01xx */ 00054 extern mpeg3_VLCtab_t mpeg3_MVtab0[8]; 00055 00056 /* Table B-10, motion_code, codes 0000011 ... 000011x */ 00057 extern mpeg3_VLCtab_t mpeg3_MVtab1[8]; 00058 00059 /* Table B-10, motion_code, codes 0000001100 ... 000001011x */ 00060 extern mpeg3_VLCtab_t mpeg3_MVtab2[12]; 00061 00062 /* Table B-9, coded_block_pattern, codes 01000 ... 111xx */ 00063 extern mpeg3_VLCtab_t mpeg3_CBPtab0[32]; 00064 00065 /* Table B-9, coded_block_pattern, codes 00000100 ... 001111xx */ 00066 extern mpeg3_VLCtab_t mpeg3_CBPtab1[64]; 00067 00068 /* Table B-9, coded_block_pattern, codes 000000001 ... 000000111 */ 00069 extern mpeg3_VLCtab_t mpeg3_CBPtab2[8]; 00070 00071 /* Table B-1, macroblock_address_increment, codes 00010 ... 011xx */ 00072 extern mpeg3_VLCtab_t mpeg3_MBAtab1[16]; 00073 00074 /* Table B-1, macroblock_address_increment, codes 00000011000 ... 0000111xxxx */ 00075 extern mpeg3_VLCtab_t mpeg3_MBAtab2[104]; 00076 00077 /* Table B-12, dct_dc_size_luminance, codes 00xxx ... 11110 */ 00078 extern mpeg3_VLCtab_t mpeg3_DClumtab0[32]; 00079 00080 /* Table B-12, dct_dc_size_luminance, codes 111110xxx ... 111111111 */ 00081 extern mpeg3_VLCtab_t mpeg3_DClumtab1[16]; 00082 00083 /* Table B-13, dct_dc_size_chrominance, codes 00xxx ... 11110 */ 00084 extern mpeg3_VLCtab_t mpeg3_DCchromtab0[32]; 00085 00086 /* Table B-13, dct_dc_size_chrominance, codes 111110xxxx ... 1111111111 */ 00087 extern mpeg3_VLCtab_t mpeg3_DCchromtab1[32]; 00088 00089 /* Table B-14, DCT coefficients table zero, 00090 * codes 0100 ... 1xxx (used for first (DC) coefficient) 00091 */ 00092 extern mpeg3_DCTtab_t mpeg3_DCTtabfirst[12]; 00093 00094 /* Table B-14, DCT coefficients table zero, 00095 * codes 0100 ... 1xxx (used for all other coefficients) 00096 */ 00097 extern mpeg3_DCTtab_t mpeg3_DCTtabnext[12]; 00098 00099 /* Table B-14, DCT coefficients table zero, 00100 * codes 000001xx ... 00111xxx 00101 */ 00102 extern mpeg3_DCTtab_t mpeg3_DCTtab0[60]; 00103 00104 /* Table B-15, DCT coefficients table one, 00105 * codes 000001xx ... 11111111 00106 */ 00107 extern mpeg3_DCTtab_t mpeg3_DCTtab0a[252]; 00108 00109 /* Table B-14, DCT coefficients table zero, 00110 * codes 0000001000 ... 0000001111 00111 */ 00112 extern mpeg3_DCTtab_t mpeg3_DCTtab1[8]; 00113 00114 /* Table B-15, DCT coefficients table one, 00115 * codes 000000100x ... 000000111x 00116 */ 00117 extern mpeg3_DCTtab_t mpeg3_DCTtab1a[8]; 00118 00119 /* Table B-14/15, DCT coefficients table zero / one, 00120 * codes 000000010000 ... 000000011111 00121 */ 00122 extern mpeg3_DCTtab_t mpeg3_DCTtab2[16]; 00123 00124 /* Table B-14/15, DCT coefficients table zero / one, 00125 * codes 0000000010000 ... 0000000011111 00126 */ 00127 extern mpeg3_DCTtab_t mpeg3_DCTtab3[16]; 00128 00129 /* Table B-14/15, DCT coefficients table zero / one, 00130 * codes 00000000010000 ... 00000000011111 00131 */ 00132 extern mpeg3_DCTtab_t mpeg3_DCTtab4[16]; 00133 00134 /* Table B-14/15, DCT coefficients table zero / one, 00135 * codes 000000000010000 ... 000000000011111 00136 */ 00137 extern mpeg3_DCTtab_t mpeg3_DCTtab5[16]; 00138 00139 /* Table B-14/15, DCT coefficients table zero / one, 00140 * codes 0000000000010000 ... 0000000000011111 00141 */ 00142 extern mpeg3_DCTtab_t mpeg3_DCTtab6[16]; 00143 00144 00145 #endif
1.5.5