Changeset 10 for trunk/include
- Timestamp:
- 08/12/06 16:35:51 (18 years ago)
- Location:
- trunk/include/mpcdec
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/mpcdec/decoder.h
r6 r10 44 44 #include "streaminfo.h" 45 45 46 #define MPC_SUPPORT_SV456 47 46 48 enum { 47 49 MPC_V_MEM = 2304, … … 60 62 //@{ 61 63 62 mpc_uint32_t dword; /// actually decoded 32bit-word64 mpc_uint32_t dword; /// currently decoded 32bit-word 63 65 mpc_uint32_t pos; /// bit-position within dword 64 66 mpc_uint32_t Speicher[MPC_DECODER_MEMSIZE]; /// read-buffer 65 67 mpc_uint32_t Zaehler; /// actual index within read-buffer 66 68 67 mpc_uint32_t samples_to_skip;69 mpc_uint32_t samples_to_skip; 68 70 69 71 mpc_uint32_t FwdJumpInfo; 70 72 mpc_uint32_t ActDecodePos; 71 mpc_uint32_t FrameWasValid;73 72 74 73 75 mpc_uint32_t DecodedFrames; … … 76 78 77 79 mpc_uint32_t StreamVersion; // version of bitstream 78 mpc_uint32_t MS_used; // MS-coding used ?79 80 mpc_int32_t Max_Band; 80 81 mpc_uint32_t MPCHeaderPos; // AB: needed to support ID3v2 81 mpc_uint32_t LastValidSamples; 82 83 mpc_uint32_t FrameWasValid; 84 mpc_uint32_t MS_used; // MS-coding used ? 82 85 mpc_uint32_t TrueGaplessPresent; 83 84 mpc_uint32_t EQ_activated;85 86 86 87 mpc_uint32_t WordsRead; // counts amount of decoded dwords … … 90 91 mpc_uint32_t __r2; 91 92 92 mpc_uint32_t Q_bit [32];93 mpc_uint32_t Q_res [32][16];94 95 // huffman table stuff96 HuffmanTyp HuffHdr [10];97 HuffmanTyp HuffSCFI [ 4];98 HuffmanTyp HuffDSCF [16];99 HuffmanTyp* HuffQ [2] [8];100 101 HuffmanTyp HuffQ1 [2] [3*3*3];102 HuffmanTyp HuffQ2 [2] [5*5];103 HuffmanTyp HuffQ3 [2] [ 7];104 HuffmanTyp HuffQ4 [2] [ 9];105 HuffmanTyp HuffQ5 [2] [15];106 HuffmanTyp HuffQ6 [2] [31];107 HuffmanTyp HuffQ7 [2] [63];108 const HuffmanTyp* SampleHuff [18];109 HuffmanTyp SCFI_Bundle [ 8];110 HuffmanTyp DSCF_Entropie [13];111 HuffmanTyp Region_A [16];112 HuffmanTyp Region_B [ 8];113 HuffmanTyp Region_C [ 4];114 115 HuffmanTyp Entropie_1 [ 3];116 HuffmanTyp Entropie_2 [ 5];117 HuffmanTyp Entropie_3 [ 7];118 HuffmanTyp Entropie_4 [ 9];119 HuffmanTyp Entropie_5 [15];120 HuffmanTyp Entropie_6 [31];121 HuffmanTyp Entropie_7 [63];122 123 93 mpc_int32_t SCF_Index_L [32] [3]; 124 94 mpc_int32_t SCF_Index_R [32] [3]; // holds scalefactor-indices … … 126 96 mpc_int32_t Res_L [32]; 127 97 mpc_int32_t Res_R [32]; // holds the chosen quantizer for each subband 128 mpc_ int32_tDSCF_Flag_L [32];129 mpc_ int32_tDSCF_Flag_R [32]; // differential SCF used?98 mpc_bool_t DSCF_Flag_L [32]; 99 mpc_bool_t DSCF_Flag_R [32]; // differential SCF used? 130 100 mpc_int32_t SCFI_L [32]; 131 101 mpc_int32_t SCFI_R [32]; // describes order of transmitted SCF 132 102 mpc_int32_t DSCF_Reference_L [32]; 133 103 mpc_int32_t DSCF_Reference_R [32]; // holds last frames SCF 134 mpc_ int32_tMS_Flag[32]; // MS used?104 mpc_bool_t MS_Flag[32]; // MS used? 135 105 #ifdef MPC_FIXED_POINT 136 106 unsigned char SCF_shift[256]; -
trunk/include/mpcdec/huffman.h
r7 r10 52 52 typedef struct huffman_type_t { 53 53 mpc_uint32_t Code; 54 mpc_uint 32_t Length;55 mpc_int 32_t Value;54 mpc_uint16_t Length; 55 mpc_int16_t Value; 56 56 } HuffmanTyp; 57 57 58 //! \brief Sorts huffman-tables by codeword.59 //!60 //! offset resulting value.61 //! \param elements62 //! \param Table table to sort63 //! \param offset offset of resulting sort64 void65 mpc_decoder_resort_huff_tables(66 const mpc_uint32_t elements, HuffmanTyp *Table, const mpc_int32_t offset);67 68 /// Initializes sv6 huffman decoding structures.69 void mpc_decoder_init_huffman_sv6(struct mpc_decoder_t *d);70 71 /// Initializes sv6 huffman decoding tables.72 void mpc_decoder_init_huffman_sv6_tables(struct mpc_decoder_t *d);73 74 /// Initializes sv7 huffman decoding structures.75 void mpc_decoder_init_huffman_sv7(struct mpc_decoder_t *d);76 77 /// Initializes sv7 huffman decoding tables.78 void mpc_decoder_init_huffman_sv7_tables(struct mpc_decoder_t *d);79 80 58 #endif // _mpcdec_huffman_h_
Note: See TracChangeset
for help on using the changeset viewer.