"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-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