"L. Spiro Engine"
|
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