"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSSoundLib/Src/Ogg/LSSVorbisMapping0.h

00001 /********************************************************************
00002  *                                                                  *
00003  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
00004  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
00005  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
00006  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
00007  *                                                                  *
00008  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010             *
00009  * by the Xiph.Org Foundation http://www.xiph.org/                  *
00010  *                                                                  *
00011  ********************************************************************
00012 
00013  function: channel mapping 0 implementation
00014  last mod: $Id: mapping0.c 17022 2010-03-25 03:45:42Z xiphmont $
00015 
00016  ********************************************************************/
00017 
00018 
00019 #ifndef __LSS_VORBISMAPPING0_H__
00020 #define __LSS_VORBISMAPPING0_H__
00021 
00022 #include "../LSSSoundLib.h"
00023 #include "LSSVorbisBackends.h"
00024 #include "LSSVorbisCodec.h"
00025 #include "LSSVorbisStructs.h"
00026 
00027 namespace lss {
00028 
00035         class CVorbisMapping0 {
00036         public :
00037                 // == Members.
00041                 static const CVorbisBackends::vorbis_func_mapping                                       mapping0_exportbundle;
00042 
00043 
00044         protected :
00045                 // == Functions.
00053                 static LSVOID                                                                                                           mapping0_pack( CVorbisCodec::vorbis_info * _pviVi, CVorbisStructs::vorbis_info_mapping * _pvimVm, COgg::oggpack_buffer * _pobOpb );
00054 
00062                 static CVorbisStructs::vorbis_info_mapping *                                            mapping0_unpack( CVorbisCodec::vorbis_info * _pviVi, COgg::oggpack_buffer * _pobOpb );
00063 
00069                 static LSVOID                                                                                                           mapping0_free_info( CVorbisStructs::vorbis_info_mapping * _pvmiI );
00070 
00077                 static LSINT32                                                                                                          mapping0_forward( CVorbisCodec::vorbis_block * _pvbVb );
00078 
00086                 static LSINT32                                                                                                          mapping0_inverse( CVorbisCodec::vorbis_block * _pvbVb, CVorbisStructs::vorbis_info_mapping * _pvimL );
00087 
00088 
00089         protected :
00096                 static LSINT32                                                                                                          ilog( LSUINT32 _ui32V );
00097         };
00098 
00099 }       // namespace lss
00100 
00101 #endif  // __LSS_VORBISMAPPING0_H__
00102 
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator