"L. Spiro Engine"
|
00001 00020 #ifndef __LSS_VORBISSTRUCTS_H__ 00021 #define __LSS_VORBISSTRUCTS_H__ 00022 00023 #include "../LSSSoundLib.h" 00024 #include "LSSVorbisConstants.h" 00025 00026 namespace lss { 00027 00038 class CVorbisStructs { 00039 public : 00040 // == Types. 00044 typedef LSVOID vorbis_info_floor; 00045 00049 typedef LSVOID vorbis_info_residue; 00050 00054 typedef LSVOID vorbis_info_mapping; 00055 00059 typedef LSVOID vorbis_look_floor; 00060 00064 typedef LSVOID vorbis_look_residue; 00065 00069 typedef LSVOID vorbis_look_transform; 00070 00074 typedef struct vorbis_info_mode { 00075 LSINT32 blockflag; 00076 LSINT32 windowtype; 00077 LSINT32 transformtype; 00078 LSINT32 mapping; 00079 } * LPvorbis_info_mode, * const LPCvorbis_info_mode; 00080 00084 typedef struct vorbis_info_mapping0 { 00085 LSINT32 submaps; /* <= 16 */ 00086 LSINT32 chmuxlist[256]; /* up to 256 channels in a Vorbis stream */ 00087 00088 LSINT32 floorsubmap[16]; /* [mux] submap to floors */ 00089 LSINT32 residuesubmap[16]; /* [mux] submap to residue */ 00090 00091 LSINT32 coupling_steps; 00092 LSINT32 coupling_mag[256]; 00093 LSINT32 coupling_ang[256]; 00094 00095 } * LPvorbis_info_mapping0, * const LPCvorbis_info_mapping0; 00096 00100 typedef struct lsfit_acc { 00101 LSINT32 x0; 00102 LSINT32 x1; 00103 00104 LSINT32 xa; 00105 LSINT32 ya; 00106 LSINT32 x2a; 00107 LSINT32 y2a; 00108 LSINT32 xya; 00109 LSINT32 an; 00110 00111 LSINT32 xb; 00112 LSINT32 yb; 00113 LSINT32 x2b; 00114 LSINT32 y2b; 00115 LSINT32 xyb; 00116 LSINT32 bn; 00117 } * LPlsfit_acc, * const LPClsfit_acc; 00118 00119 }; 00120 00121 } // namespace lse 00122 00123 #endif // __LSS_VORBISSTRUCTS_H__ 00124