diff --git a/src_FIX/SKP_Silk_encode_frame_FIX.c b/src_FIX/SKP_Silk_encode_frame_FIX.c index 36c57c7e7bbd9fe1bd991242d04ab68ef8414ef9..057d3b40691a8f7d7ff7109a7e94aba9afa36b2e 100644 --- a/src_FIX/SKP_Silk_encode_frame_FIX.c +++ b/src_FIX/SKP_Silk_encode_frame_FIX.c @@ -46,24 +46,6 @@ SKP_int SKP_Silk_encode_frame_FIX( TIC(ENCODE_FRAME) - if( psEnc->sCmn.nFramesAnalyzed == 0 && !psEnc->sCmn.prefillFlag && !( psEnc->sCmn.useDTX && psEnc->sCmn.inDTX ) ) { - /* Create space at start of payload for VAD and FEC flags */ - SKP_uint8 iCDF[ 2 ] = { 0, 0 }; - iCDF[ 0 ] = 256 - SKP_RSHIFT( 256, psEnc->sCmn.nFramesPerPacket + 1 ); - ec_enc_icdf( psRangeEnc, 0, iCDF, 8 ); - - /* Encode any LBRR data from previous packet */ - SKP_Silk_LBRR_embed( &psEnc->sCmn, psRangeEnc ); - - /* Reduce coding SNR depending on how many bits used by LBRR */ - nBits = ec_tell( psRangeEnc ); - psEnc->inBandFEC_SNR_comp_Q7 = SKP_DIV32_16( SKP_SMULBB( SKP_FIX_CONST( 6.0f, 7 ), nBits ), - SKP_SMULBB( psEnc->sCmn.nFramesPerPacket, psEnc->sCmn.frame_length ) ); - - /* Reset LBRR flags */ - SKP_memset( psEnc->sCmn.LBRR_flags, 0, sizeof( psEnc->sCmn.LBRR_flags ) ); - } - psEnc->sCmn.indices.Seed = psEnc->sCmn.frameCounter++ & 3; /**************************************************************/ @@ -101,6 +83,24 @@ TOC(VAD) psEnc->sCmn.VAD_flags[ psEnc->sCmn.nFramesAnalyzed ] = 1; } + if( psEnc->sCmn.nFramesAnalyzed == 0 && !psEnc->sCmn.prefillFlag && !( psEnc->sCmn.useDTX && psEnc->sCmn.inDTX ) ) { + /* Create space at start of payload for VAD and FEC flags */ + SKP_uint8 iCDF[ 2 ] = { 0, 0 }; + iCDF[ 0 ] = 256 - SKP_RSHIFT( 256, psEnc->sCmn.nFramesPerPacket + 1 ); + ec_enc_icdf( psRangeEnc, 0, iCDF, 8 ); + + /* Encode any LBRR data from previous packet */ + SKP_Silk_LBRR_embed( &psEnc->sCmn, psRangeEnc ); + + /* Reduce coding SNR depending on how many bits used by LBRR */ + nBits = ec_tell( psRangeEnc ); + psEnc->inBandFEC_SNR_comp_Q7 = SKP_DIV32_16( SKP_SMULBB( SKP_FIX_CONST( 6.0f, 7 ), nBits ), + SKP_SMULBB( psEnc->sCmn.nFramesPerPacket, psEnc->sCmn.frame_length ) ); + + /* Reset LBRR flags */ + SKP_memset( psEnc->sCmn.LBRR_flags, 0, sizeof( psEnc->sCmn.LBRR_flags ) ); + } + /*******************************************/ /* High-pass filtering of the input signal */ /*******************************************/ diff --git a/src_FIX/src_FIX.vcxproj b/src_FIX/src_FIX.vcxproj index 15da4c620a4ab5ca99f6ed03133efc613bd656aa..ece080ec7fdbe3a39f17a77573c7886306dfe267 100644 --- a/src_FIX/src_FIX.vcxproj +++ b/src_FIX/src_FIX.vcxproj @@ -45,7 +45,7 @@ <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface;../src_SigProc_FIX;../src_common;../../celt/libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface;../src_SigProc_FIX;../src_common;../../celt/msvc;../../celt/libcelt</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -61,7 +61,7 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface;../src_SigProc_FIX;../src_common;../../celt/libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface;../src_SigProc_FIX;../src_common;../../celt/msvc;../../celt/libcelt</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> diff --git a/src_FLP/SKP_Silk_encode_frame_FLP.c b/src_FLP/SKP_Silk_encode_frame_FLP.c index c80bcbeb4c9948f4a08f983aee12a0a4d0253025..2bc74a6f035d60ef10616db214df3fc6f30e904f 100644 --- a/src_FLP/SKP_Silk_encode_frame_FLP.c +++ b/src_FLP/SKP_Silk_encode_frame_FLP.c @@ -95,14 +95,13 @@ TOC(VAD) /* Reduce coding SNR depending on how many bits used by LBRR */ nBits = ec_tell( psRangeEnc ); - psEnc->inBandFEC_SNR_comp = ( 6.0f * nBits ) / - ( psEnc->sCmn.nFramesPerPacket * psEnc->sCmn.frame_length ); + psEnc->inBandFEC_SNR_comp = ( 6.0f * nBits ) / + ( psEnc->sCmn.nFramesPerPacket * psEnc->sCmn.frame_length ); /* Reset LBRR flags */ SKP_memset( psEnc->sCmn.LBRR_flags, 0, sizeof( psEnc->sCmn.LBRR_flags ) ); } - /*******************************************/ /* High-pass filtering of the input signal */ /*******************************************/ diff --git a/src_FLP/src_FLP.vcxproj b/src_FLP/src_FLP.vcxproj index 256ba7aad33d3d339cfa4f8429a344a2cb11cd7d..576fe4fc8436de1872126f73692632460ec18f5b 100644 --- a/src_FLP/src_FLP.vcxproj +++ b/src_FLP/src_FLP.vcxproj @@ -45,7 +45,7 @@ <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface;../src_SigProc_FLP;../src_SigProc_FIX;../src_common;../../celt/libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface;../src_SigProc_FLP;../src_SigProc_FIX;../src_common;../../celt/msvc;../../celt/libcelt</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -61,7 +61,7 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface;../src_SigProc_FLP;../src_SigProc_FIX;../src_common;../../celt/libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface;../src_SigProc_FLP;../src_SigProc_FIX;../src_common;../../celt/msvc;../../celt/libcelt</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> diff --git a/src_SigProc_FIX/src_SigProc_FIX.vcxproj b/src_SigProc_FIX/src_SigProc_FIX.vcxproj index ca8d7898a92bfe1fd9acd4ec02b9fb1531b887bb..fb9df8d6948997c64c60e180dafed200e23cc2f5 100644 --- a/src_SigProc_FIX/src_SigProc_FIX.vcxproj +++ b/src_SigProc_FIX/src_SigProc_FIX.vcxproj @@ -45,7 +45,7 @@ <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface;H:\Work\Codecs_silk_celt_experiments\ietfcodec\celt\libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface;..\..\celt\libcelt</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -61,7 +61,7 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface;H:\Work\Codecs_silk_celt_experiments\ietfcodec\celt\libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface;..\..\celt\libcelt</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> diff --git a/src_SigProc_FLP/src_SigProc_FLP.vcxproj b/src_SigProc_FLP/src_SigProc_FLP.vcxproj index 9284850ded0c99e3250b8bdc3a984061c3e48f2d..c566243537b5332dcc2a911723265f1a53dad64b 100644 --- a/src_SigProc_FLP/src_SigProc_FLP.vcxproj +++ b/src_SigProc_FLP/src_SigProc_FLP.vcxproj @@ -45,7 +45,7 @@ <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>H:\Work\Codecs_silk_celt_experiments\ietfcodec\celt\libcelt;../interface;../src_SigProc_FIX</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\celt\libcelt;../interface;../src_SigProc_FIX</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -61,7 +61,7 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>H:\Work\Codecs_silk_celt_experiments\ietfcodec\celt\libcelt;../interface;../src_SigProc_FIX</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\celt\libcelt;../interface;../src_SigProc_FIX</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> diff --git a/src_common/SKP_Silk_dec_API.c b/src_common/SKP_Silk_dec_API.c index ebf62504bc345f0400803ba248d3f3f15b7e9045..ce03b9eded50765421e5ffc9b574bdd994001193 100644 --- a/src_common/SKP_Silk_dec_API.c +++ b/src_common/SKP_Silk_dec_API.c @@ -25,6 +25,9 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include "SKP_Silk_SDK_API.h" #include "SKP_Silk_main.h" diff --git a/src_common/src_common.vcxproj b/src_common/src_common.vcxproj index e0e2bdc4b0a09c77775b4079d7a37e545e4bd6bc..c90bf51b1c51ddb97c36771e4573e93334dc4b0e 100644 --- a/src_common/src_common.vcxproj +++ b/src_common/src_common.vcxproj @@ -45,7 +45,7 @@ <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface/;../src_SigProc_FIX;../src_SigProc_FLP;../src_FIX;../src_FLP;../../celt/libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface/;../src_SigProc_FIX;../src_SigProc_FLP;../src_FIX;../src_FLP;../../celt/libcelt;../../celt/msvc</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -61,7 +61,7 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../interface/;../src_SigProc_FIX;../src_SigProc_FLP;../src_FIX;../src_FLP;../../celt/libcelt</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>../interface/;../src_SigProc_FIX;../src_SigProc_FLP;../src_FIX;../src_FLP;../../celt/libcelt;../../celt/msvc</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Windows</SubSystem> diff --git a/test/Decoder.c b/test/Decoder.c index 5fc8c2e43e6a09a6b54cf8847bd87621b4fbaf99..51a6b8999c97d05bd43d2c6d7bda618b02ceff6b 100644 --- a/test/Decoder.c +++ b/test/Decoder.c @@ -37,6 +37,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <stdio.h> #include <stdlib.h> #include <string.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "SKP_Silk_SDK_API.h" #include "../src_SigProc_FIX/SKP_Silk_SigProc_FIX.h" diff --git a/test/Encoder.c b/test/Encoder.c index ef344b19693abda89b32166308b0ef265316f3bd..c1566cf5eebbb8b1cb1c747d2c215ef795462b58 100644 --- a/test/Encoder.c +++ b/test/Encoder.c @@ -38,6 +38,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <stdlib.h> #include <string.h> #include <math.h> + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "SKP_Silk_SDK_API.h" #include "../src_SigProc_FIX/SKP_Silk_SigProc_FIX.h" diff --git a/test_silk_dec/test_silk_dec.vcxproj b/test_silk_dec/test_silk_dec.vcxproj index 7cdf9af05508012ebeec55bc45b64f513b6a8a16..dddc378879cce10539642da61203d42561ebf747 100644 --- a/test_silk_dec/test_silk_dec.vcxproj +++ b/test_silk_dec/test_silk_dec.vcxproj @@ -50,7 +50,7 @@ <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;../../celt/msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Console</SubSystem> @@ -68,7 +68,7 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;../../celt/msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Console</SubSystem> diff --git a/test_silk_enc/test_silk_enc.vcxproj b/test_silk_enc/test_silk_enc.vcxproj index cf33d594de07a4a59fd9826ed05ed952c6aad8d5..96f216ddbd1de0587459b0b1ddfe5749b6033c53 100644 --- a/test_silk_enc/test_silk_enc.vcxproj +++ b/test_silk_enc/test_silk_enc.vcxproj @@ -50,7 +50,7 @@ <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;../../celt/msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Console</SubSystem> @@ -68,7 +68,7 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\interface;..\..\celt\libcelt;../../celt/msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <SubSystem>Console</SubSystem>