"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSSoundLib/Src/Ogg/LSSVorbisLsp.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-2009             *
00009  * by the Xiph.Org Foundation http://www.xiph.org/                  *
00010  *                                                                  *
00011  ********************************************************************
00012 
00013   function: LSP (also called LSF) conversion routines
00014   last mod: $Id: lsp.h 16227 2009-07-08 06:58:46Z xiphmont $
00015 
00016  ********************************************************************/
00017 
00018 
00019 #ifndef __LSS_VORBISLSP_H__
00020 #define __LSS_VORBISLSP_H__
00021 
00022 #include "../LSSSoundLib.h"
00023 
00024 namespace lss {
00025 
00032         class CVorbisLsp {
00033         public :
00034                 // == Functions.
00043                 static LSINT32                                          vorbis_lpc_to_lsp( LSFLOAT * _pfLpc, LSFLOAT * _pfLsp, LSINT32 _i32M );
00044 
00057                 static LSVOID                                           vorbis_lsp_to_curve( LSFLOAT * _pfCurve, LSINT32 * _pi32Map, LSINT32 _i32N, LSINT32 _i32Ln, 
00058                         LSFLOAT * _pfLsp, LSINT32 _i32M, 
00059                         LSFLOAT _fAmp, LSFLOAT _fAmpOffset );
00060 
00061 
00062         protected :
00069                 static LSVOID                                           cheby( LSFLOAT * _pfG, LSINT32 _i32Ord );
00070 
00079                 static LSINT32                                          Laguerre_With_Deflation( LSFLOAT * _pfA, LSINT32 _i32Ord, LSFLOAT * _pfR );
00080 
00089                 static LSINT32                                          Newton_Raphson( LSFLOAT * _pfA, LSINT32 _i32Ord, LSFLOAT * _pfR );
00090 
00099                 static LSINT32 LSE_CCALL                        comp( LSVOID * _pvContext, const LSVOID * _pvA, const LSVOID * _pvB );
00100         };
00101 
00102 }       // namespace lss
00103 
00104 #endif  // __LSS_VORBISLSP_H__
00105 
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator