⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 decoder.h

📁 linux下的MPEG1
💻 H
字号:
/// \file decoder.h#ifndef _musepack_decoder_h_#define _musepack_decoder_h_#include "musepack/huffman.h"#include "musepack/math.h"#include "musepack/musepack.h"#include "musepack/reader.h"#include "musepack/streaminfo.h"enum {    MPC_V_MEM = 2304,    MPC_DECODER_MEMSIZE = 16384,  // overall buffer size};typedef struct {    mpc_int32_t  L [36];    mpc_int32_t  R [36];} QuantTyp;typedef struct mpc_decoder_t {    mpc_reader *r;    /// @name internal state variables    //@{    mpc_uint32_t  dword; /// actually decoded 32bit-word    mpc_uint32_t  pos;   /// bit-position within dword    mpc_uint32_t  Speicher[MPC_DECODER_MEMSIZE]; /// read-buffer    mpc_uint32_t  Zaehler; /// actual index within read-buffer    mpc_uint32_t samples_to_skip;    mpc_uint32_t  FwdJumpInfo;    mpc_uint32_t  ActDecodePos;    mpc_uint32_t  FrameWasValid;    mpc_uint32_t  DecodedFrames;    mpc_uint32_t  OverallFrames;    mpc_int32_t   SampleRate;                 // Sample frequency    mpc_uint32_t  StreamVersion;              // version of bitstream    mpc_uint32_t  MS_used;                    // MS-coding used ?    mpc_int32_t   Max_Band;    mpc_uint32_t  MPCHeaderPos;               // AB: needed to support ID3v2    mpc_uint32_t  LastValidSamples;    mpc_uint32_t  TrueGaplessPresent;    mpc_uint32_t  EQ_activated;    mpc_uint32_t  WordsRead;                  // counts amount of decoded dwords    // randomizer state variables    mpc_uint32_t  __r1;     mpc_uint32_t  __r2;     mpc_uint32_t  Q_bit [32];         mpc_uint32_t  Q_res [32][16];    // huffman table stuff    HuffmanTyp    HuffHdr  [10];    HuffmanTyp    HuffSCFI [ 4];    HuffmanTyp    HuffDSCF [16];    HuffmanTyp*   HuffQ [2] [8];    HuffmanTyp    HuffQ1 [2] [3*3*3];    HuffmanTyp    HuffQ2 [2] [5*5];    HuffmanTyp    HuffQ3 [2] [ 7];    HuffmanTyp    HuffQ4 [2] [ 9];    HuffmanTyp    HuffQ5 [2] [15];    HuffmanTyp    HuffQ6 [2] [31];    HuffmanTyp    HuffQ7 [2] [63];    const HuffmanTyp* SampleHuff [18];    HuffmanTyp    SCFI_Bundle   [ 8];    HuffmanTyp    DSCF_Entropie [13];    HuffmanTyp    Region_A [16];    HuffmanTyp    Region_B [ 8];    HuffmanTyp    Region_C [ 4];    HuffmanTyp    Entropie_1 [ 3];    HuffmanTyp    Entropie_2 [ 5];    HuffmanTyp    Entropie_3 [ 7];    HuffmanTyp    Entropie_4 [ 9];    HuffmanTyp    Entropie_5 [15];    HuffmanTyp    Entropie_6 [31];    HuffmanTyp    Entropie_7 [63];    mpc_int32_t   SCF_Index_L [32] [3];    mpc_int32_t   SCF_Index_R [32] [3];       // holds scalefactor-indices    QuantTyp      Q [32];                     // holds quantized samples    mpc_int32_t   Res_L [32];    mpc_int32_t   Res_R [32];                 // holds the chosen quantizer for each subband    mpc_int32_t   DSCF_Flag_L [32];    mpc_int32_t   DSCF_Flag_R [32];           // differential SCF used?    mpc_int32_t   SCFI_L [32];    mpc_int32_t   SCFI_R [32];                // describes order of transmitted SCF    mpc_int32_t   DSCF_Reference_L [32];    mpc_int32_t   DSCF_Reference_R [32];      // holds last frames SCF    mpc_int32_t   MS_Flag[32];                // MS used?#ifdef MPC_FIXED_POINT    unsigned char SCF_shift[256];#endif    MPC_SAMPLE_FORMAT V_L[MPC_V_MEM + 960];    MPC_SAMPLE_FORMAT V_R[MPC_V_MEM + 960];    MPC_SAMPLE_FORMAT Y_L[36][32];    MPC_SAMPLE_FORMAT Y_R[36][32];    MPC_SAMPLE_FORMAT SCF[256]; ///< holds adapted scalefactors (for clipping prevention)    //@}} mpc_decoder;#endif // _mpc_decoder_h

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -