Commit 86f8098b authored by TYAGIRIS's avatar TYAGIRIS
Browse files

q factor fixes in renderer

parent ca4f1e55
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -952,12 +952,12 @@ int main(
    inBuffer.config.is_cldfb = 0;
    inBuffer.config.numChannels = (int16_t) totalNumInChannels;
    inBuffer.data_fx = inFloatBuffer_fx;
    inBuffer.q_data_fx = malloc( sizeof( Word16 ) );
    inBuffer.pq_fact = malloc( sizeof( Word16 ) );

    outBuffer.config.is_cldfb = 0;
    outBuffer.config.numChannels = (int16_t) numOutChannels;
    outBuffer.data_fx = outFloatBuffer_fx;
    outBuffer.q_data_fx = malloc( sizeof( Word16 ) );
    outBuffer.pq_fact = malloc( sizeof( Word16 ) );

    memset( outBuffer.data_fx, 0, outBuffer.config.numSamplesPerChannel * outBuffer.config.numChannels * sizeof( Word32 ) );

@@ -1035,7 +1035,7 @@ int main(

        /* Convert from int to float and from interleaved to packed */
        convertInputBuffer( inpInt16Buffer, numSamplesRead, inBuffer.config.numSamplesPerChannel, num_in_channels, inFloatBuffer_fx );
        *inBuffer.q_data_fx = 0;
        *inBuffer.pq_fact = 0;
        int16_t num_subframes, sf_idx;
        num_subframes = (int16_t) args.render_framesize;

@@ -1121,7 +1121,7 @@ int main(

        /* Convert from float to int and from packed to interleaved.
         * Values in outFloatBuffer are guaranteed to be within range INT16_MIN:INT16_MAX */
        convertOutputBuffer( outFloatBuffer_fx, *outBuffer.q_data_fx, outBuffer.config.numSamplesPerChannel, num_out_channels, outInt16Buffer );
        convertOutputBuffer( outFloatBuffer_fx, *outBuffer.pq_fact, outBuffer.config.numSamplesPerChannel, num_out_channels, outInt16Buffer );

        if ( delayNumSamples == -1 )
        {
@@ -1225,10 +1225,10 @@ int main(
    /* === Close === */
    free( inpInt16Buffer );
    free( inFloatBuffer_fx );
    free( inBuffer.q_data_fx );
    free( inBuffer.pq_fact );
    free( outInt16Buffer );
    free( outFloatBuffer_fx );
    free( outBuffer.q_data_fx );
    free( outBuffer.pq_fact );

    if ( bitsBufferData != NULL )
    {
+182 −209
Original line number Diff line number Diff line
@@ -439,8 +439,36 @@ static IVAS_AUDIO_CONFIG parseAudioConfig( const char *configString );
static void convertInputBuffer( const int16_t *intBuffer, const int16_t numIntSamplesPerChannel, const int16_t numFloatSamplesPerChannel, const int16_t numChannels, float *floatBuffer, const int16_t cldfb_in, IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbAna );

static void convertOutputBuffer( const float *floatBuffer, const int16_t numSamplesPerChannel, const int16_t numChannels, int16_t *intBuffer, const int16_t cldfb_in, IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbSyn );
static void convertOutputBuffer_fx( const Word32 *Word32Buffer, const Word16 numSamplesPerChannel, const Word16 numChannels, Word16 *intBuffer, Word16 q_factor, const int16_t cldfb_in, IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbSyn );
static void convertInputBuffer_fx( const Word16 *intBuffer, const Word16 numIntSamplesPerChannel, const Word16 numFloatSamplesPerChannel, const Word16 numChannels, Word32 *Int32Buffer, Word16 in_q_factor, const int16_t cldfb_in, IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbAna );
static void convertOutputBuffer_fx(
    const Word32 *Word32Buffer,
    const Word16 numSamplesPerChannel,
    const Word16 numChannels,
#ifdef SPLIT_REND_WITH_HEAD_ROT
    Word16 *intBuffer,
    const Word16 cldfb_in_flag,
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbSyn,
    Word16 out_q
#else
    Word16 *intBuffer,
    Word16 out_q
#endif
);
static void convertInputBuffer_fx(
    const Word16 *intBuffer,
    const Word16 numIntSamplesPerChannel,
    const Word16 numFloatSamplesPerChannel,
    const Word16 numChannels,
#ifdef SPLIT_REND_WITH_HEAD_ROT
    Word32 *Word32Buffer,
    Word16 in_q_factor,
    const int16_t cldfb_in_flag,
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbAna,
    Word16 *out_q_factor
#else
    Word32 *Word32Buffer,
    Word16 in_q_factor
#endif
);
#else
static void convertInputBuffer( const int16_t *intBuffer, const int16_t numIntSamplesPerChannel, const int16_t numFloatSamplesPerChannel, const int16_t numChannels, float *floatBuffer );

@@ -1430,28 +1458,41 @@ int main(
    if ( cldfb_in_flag == 0 )
    {
        inFloatBuffer = malloc( inBufferSize * sizeof( float ) );
        inBuffer.config.numSamplesPerChannel = (int16_t) frameSize_smpls;
        outInt16Buffer = malloc( outBufferSize * sizeof( int16_t ) );
        outInt32Buffer = malloc( outBufferSize * sizeof( Word32 ) );
        inInt32Buffer = malloc( inBufferSize * sizeof( Word32 ) );
        outFloatBuffer = malloc( outBufferSize * sizeof( float ) );

        inBuffer.config.numSamplesPerChannel = (int16_t) frameSize_smpls;
        inBuffer.config.numChannels = (int16_t) totalNumInChannels;

        outBuffer.config.numSamplesPerChannel = (int16_t) frameSize_smpls;
        outBuffer.config.numChannels = (int16_t) numOutChannels;
        outBuffer.data_fx = outInt32Buffer;
        inBuffer.data_fx = inInt32Buffer;
    }
    else
    {
        inFloatBuffer = malloc( CLDFBframeSize_smpls * totalNumInChannels * sizeof( float ) );
        inBuffer.config.numSamplesPerChannel = (int16_t) CLDFBframeSize_smpls;
        outInt16Buffer = malloc( outBufferSize * sizeof( int16_t ) );
        outInt32Buffer = malloc( CLDFBframeSize_smpls * totalNumInChannels * sizeof( Word32 ) );
        inInt32Buffer = malloc( CLDFBframeSize_smpls * totalNumInChannels * sizeof( Word32 ) );
        outFloatBuffer = malloc( CLDFBframeSize_smpls * totalNumInChannels * sizeof( float ) );

        inBuffer.config.numSamplesPerChannel = (int16_t) CLDFBframeSize_smpls;
        inBuffer.config.numChannels = (int16_t) totalNumInChannels;

        outBuffer.config.numSamplesPerChannel = (int16_t) CLDFBframeSize_smpls;
        outBuffer.config.numChannels = (int16_t) numOutChannels;
        outBuffer.data_fx = outInt32Buffer;
        inBuffer.data_fx = inInt32Buffer;
    }
    outInt16Buffer = malloc( outBufferSize * sizeof( int16_t ) );

    inBuffer.config.is_cldfb = cldfb_in_flag;
    inBuffer.config.numChannels = (int16_t) totalNumInChannels;
    inBuffer.data = inFloatBuffer;

    outBuffer.config.is_cldfb = cldfb_in_flag;
    outBuffer.config.numChannels = (int16_t) numOutChannels;
    outBuffer.data = outFloatBuffer;

    memset( outBuffer.data, 0, outBuffer.config.numSamplesPerChannel * outBuffer.config.numChannels * sizeof( float ) );

    memset( outBuffer.data_fx, 0, outBuffer.config.numSamplesPerChannel * outBuffer.config.numChannels * sizeof( Word32 ) );

    if ( is_split_pre_rend_mode( &args ) )
    {
@@ -1533,12 +1574,15 @@ int main(

        /* Convert from int to float and from interleaved to packed */
#ifdef SPLIT_REND_WITH_HEAD_ROT
        convertInputBuffer( inpInt16Buffer, numSamplesRead, inBuffer.config.numSamplesPerChannel, num_in_channels, inFloatBuffer, inBuffer.config.is_cldfb, cldfbAna );
        Word16 Q_out;
        *outBuffer.pq_fact = 16 - ( gd_bits );
        convertInputBuffer_fx( inpInt16Buffer, numSamplesRead, inBuffer.config.numSamplesPerChannel, num_in_channels, inInt32Buffer, inBuffer.config.is_cldfb, cldfbAna, *outBuffer.pq_fact, &Q_out );
        *outBuffer.pq_fact = Q_out;
#else
        convertInputBuffer( inpInt16Buffer, numSamplesRead, inBuffer.config.numSamplesPerChannel, num_in_channels, inFloatBuffer );
#endif       
        *outBuffer.pq_fact = 16 - ( gd_bits );
        convertInputBuffer_fx( inpInt16Buffer, numSamplesRead, inBuffer.config.numSamplesPerChannel, num_in_channels, inInt32Buffer, *outBuffer.pq_fact );
#endif

        int16_t num_subframes, sf_idx;
        num_subframes = (int16_t) args.render_framesize;

@@ -1782,18 +1826,12 @@ int main(

        /* Convert from float to int and from packed to interleaved.
         * Values in outFloatBuffer are guaranteed to be within range INT16_MIN:INT16_MAX */
        if ( *outBuffer.pq_fact == 0 )
        {
#ifdef SPLIT_REND_WITH_HEAD_ROT
        convertOutputBuffer( outFloatBuffer, outBuffer.config.numSamplesPerChannel, num_out_channels, outInt16Buffer, cldfb_in_flag, cldfbSyn );
        convertOutputBuffer_fx( outInt32Buffer, outBuffer.config.numSamplesPerChannel, num_out_channels, outInt16Buffer, cldfb_in_flag, cldfbSyn, *outBuffer.pq_fact );
#else
        convertOutputBuffer( outFloatBuffer, outBuffer.config.numSamplesPerChannel, num_out_channels, outInt16Buffer );
#endif
        }
        else
        {
        convertOutputBuffer_fx( outInt32Buffer, outBuffer.config.numSamplesPerChannel, num_out_channels, outInt16Buffer, *outBuffer.pq_fact );
        }
#endif

        if ( delayNumSamples == -1 )
        {
            if ( args.delayCompensationEnabled )
@@ -3760,108 +3798,69 @@ static ivas_error parseLfePanMtxFile(
 * accepted by the renderer (float, packed)
 *--------------------------------------------------------------------------*/

static void convertInputBuffer(
    const int16_t *intBuffer,
    const int16_t numIntSamplesPerChannel,
    const int16_t numFloatSamplesPerChannel,
    const int16_t numChannels,
static void convertInputBuffer_fx(
    const Word16 *intBuffer,
    const Word16 numIntSamplesPerChannel,
    const Word16 numFloatSamplesPerChannel,
    const Word16 numChannels,
#ifdef SPLIT_REND_WITH_HEAD_ROT
    float *floatBuffer,
    Word32 *Word32Buffer,
    Word16 in_q_factor,
    const int16_t cldfb_in_flag,
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbAna
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbAna,
    Word16 *out_q_factor
#else
    float *floatBuffer
    Word32 *Word32Buffer,
    Word16 in_q_factor
#endif
)
{
    int16_t chnl, smpl, i;
    Word16 chnl, smpl, i;

    i = 0;

#ifdef SPLIT_REND_WITH_HEAD_ROT
    if ( cldfb_in_flag )
    IF( cldfb_in_flag )
    {
        int16_t slotIdx, numCldfbBands, numFloatPcmSamples;
        float fIn[IVAS_MAX_OUTPUT_CHANNELS][IVAS_MAX_FRAME_SIZE];
        Word16 slotIdx, numCldfbBands, numFloatPcmSamples;
        Word32 fIn[IVAS_MAX_OUTPUT_CHANNELS][IVAS_MAX_FRAME_SIZE];

        numFloatPcmSamples = numFloatSamplesPerChannel >> 1;
        numCldfbBands = numFloatPcmSamples / IVAS_CLDFB_NO_COL_MAX;

        /* CLDFB Analysis*/
        assert( numIntSamplesPerChannel <= IVAS_MAX_OUTPUT_CHANNELS * IVAS_MAX_FRAME_SIZE );
        for ( smpl = 0; smpl < numFloatPcmSamples; ++smpl )
        FOR( smpl = 0; smpl < numFloatPcmSamples; ++smpl )
        {
        for ( chnl = 0; chnl < numChannels; ++chnl )
            FOR( chnl = 0; chnl < numChannels; ++chnl )
            {
            if ( i < numIntSamplesPerChannel )
                IF( i < numIntSamplesPerChannel )
                {
                    fIn[chnl][smpl] = (float) intBuffer[i];
                    fIn[chnl][smpl] = L_shl( (Word32) intBuffer[i], Q11 );
                }
            else
                ELSE
                {
                    fIn[chnl][smpl] = 0.f;
                    fIn[chnl][smpl] = 0;
                }

                ++i;
            }
        }

        for ( chnl = 0; chnl < numChannels; ++chnl )
        FOR( chnl = 0; chnl < numChannels; ++chnl )
        {
            for ( slotIdx = 0; slotIdx < IVAS_CLDFB_NO_COL_MAX; slotIdx++ )
            FOR( slotIdx = 0; slotIdx < IVAS_CLDFB_NO_COL_MAX; slotIdx++ )
            {
                IVAS_REND_cldfbAnalysis_ts_wrapper( &fIn[chnl][numCldfbBands * slotIdx],
                                                    &floatBuffer[( chnl * numFloatSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands )],
                                                    &floatBuffer[numCldfbBands + ( chnl * numFloatSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands )],
                                                    numCldfbBands, cldfbAna[chnl] );
            }
                                                    &Word32Buffer[( chnl * numFloatSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands )],
                                                    &Word32Buffer[numCldfbBands + ( chnl * numFloatSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands )],
                                                    numCldfbBands, cldfbAna[chnl], in_q_factor, *out_q_factor );
            }
        }
    else
    {
#endif
        for ( smpl = 0; smpl < numFloatSamplesPerChannel; ++smpl )
        {
            for ( chnl = 0; chnl < numChannels; ++chnl )
            {
                if ( i < numIntSamplesPerChannel )
                {
                    floatBuffer[chnl * numFloatSamplesPerChannel + smpl] = (float) intBuffer[i];
    }
                else
    ELSE
    {
                    floatBuffer[chnl * numFloatSamplesPerChannel + smpl] = 0.f;
                }

                ++i;
            }
        }
#ifdef SPLIT_REND_WITH_HEAD_ROT
    }
#endif

    return;
}

/*--------------------------------------------------------------------------*
 * convertInputBuffer()
 *
 * Convert input buffer from WAV/PCM file (int16_t, interleaved) to a format
 * accepted by the renderer (float, packed)
 *--------------------------------------------------------------------------*/

static void convertInputBuffer_fx(
    const Word16 *intBuffer,
    const Word16 numIntSamplesPerChannel,
    const Word16 numFloatSamplesPerChannel,
    const Word16 numChannels,
    Word32 *Word32Buffer,
    Word16 in_q_factor )
{
    Word16 chnl, smpl, i;

    i = 0;

        FOR( smpl = 0; smpl < numFloatSamplesPerChannel; ++smpl )
        {
            FOR( chnl = 0; chnl < numChannels; ++chnl )
@@ -3878,139 +3877,113 @@ static void convertInputBuffer_fx(
                ++i;
            }
        }

    return;
        *out_q_factor = in_q_factor;
#ifdef SPLIT_REND_WITH_HEAD_ROT
    }
/*--------------------------------------------------------------------------*
 * convertOutputBuffer()
 *
 * Convert output buffer from the renderer (Word32, packed) to a format ready
 * for writing to a WAV/PCM file (Word16, interleaved)
 *--------------------------------------------------------------------------*/
static void convertOutputBuffer_fx(
    const Word32 *Word32Buffer,
    const Word16 numSamplesPerChannel,
    const Word16 numChannels,
    Word16 *intBuffer,
    Word16 out_q )
{
    Word16 chnl, smpl, i;
    Word32 temp_fx;
    Word32 temp_fx1;
    i = 0;
#endif

    FOR( smpl = 0; smpl < numSamplesPerChannel; ++smpl )
    {
        FOR( chnl = 0; chnl < numChannels; ++chnl )
        {
            temp_fx = L_add( Word32Buffer[chnl * numSamplesPerChannel + smpl], lshl( 1, ( out_q - 1 ) ) );
            temp_fx1 = L_shr( temp_fx, out_q );
            IF( GT_32( temp_fx1, IVAS_MAX16B_FX ) )
            {
                temp_fx1 = IVAS_MAX16B_FX;
            }
            ELSE IF( LT_32( temp_fx1, IVAS_MIN16B_FX ) )
            {
                temp_fx1 = IVAS_MIN16B_FX;
    return;
}
            intBuffer[i] = (Word16) temp_fx1;

            ++i;
        }
    }

    return;
}
/*--------------------------------------------------------------------------*
 * convertOutputBuffer()
 * convertOutputBuffer_fx()
 *
 * Convert output buffer from the renderer (float, packed) to a format ready
 * for writing to a WAV/PCM file (int16_t, interleaved)
 *--------------------------------------------------------------------------*/

static void convertOutputBuffer(
    const float *floatBuffer,
    const int16_t numSamplesPerChannel,
    const int16_t numChannels,
static void convertOutputBuffer_fx(
    const Word32 *Word32Buffer,
    const Word16 numSamplesPerChannel,
    const Word16 numChannels,
#ifdef SPLIT_REND_WITH_HEAD_ROT
    int16_t *intBuffer,
    const int16_t cldfb_in_flag,
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbSyn
    Word16 *intBuffer,
    const Word16 cldfb_in_flag,
    IVAS_CLDFB_FILTER_BANK_HANDLE *cldfbSyn,
    Word16 out_q
#else
    int16_t *intBuffer
    Word16 *intBuffer,
    Word16 out_q
#endif
)
{
    int16_t chnl, smpl, i;
    float temp;

    Word16 chnl, smpl, i;
    Word32 temp_fx;
    Word32 temp_fx1;
    i = 0;

#ifdef SPLIT_REND_WITH_HEAD_ROT
    if ( cldfb_in_flag )
    IF( cldfb_in_flag )
    {
        int16_t slotIdx, numCldfbBands, numPcmSamples, b;
        float fIn[IVAS_MAX_OUTPUT_CHANNELS][IVAS_MAX_FRAME_SIZE];
        float re[IVAS_MAX_OUTPUT_CHANNELS][IVAS_CLDFB_NO_COL_MAX][IVAS_CLDFB_NO_CHANNELS_MAX];
        float im[IVAS_MAX_OUTPUT_CHANNELS][IVAS_CLDFB_NO_COL_MAX][IVAS_CLDFB_NO_CHANNELS_MAX];
        Word16 slotIdx, numCldfbBands, numPcmSamples, b, temp_out_q;
        Word32 fIn[IVAS_MAX_OUTPUT_CHANNELS][IVAS_MAX_FRAME_SIZE];
        Word32 re[IVAS_MAX_OUTPUT_CHANNELS][IVAS_CLDFB_NO_COL_MAX][IVAS_CLDFB_NO_CHANNELS_MAX];
        Word32 im[IVAS_MAX_OUTPUT_CHANNELS][IVAS_CLDFB_NO_COL_MAX][IVAS_CLDFB_NO_CHANNELS_MAX];

        numPcmSamples = numSamplesPerChannel >> 1;
        numCldfbBands = numPcmSamples / IVAS_CLDFB_NO_COL_MAX;

        /* CLDFB Synthesis*/
        for ( chnl = 0; chnl < numChannels; ++chnl )
        FOR( chnl = 0; chnl < numChannels; ++chnl )
        {
            for ( slotIdx = 0; slotIdx < IVAS_CLDFB_NO_COL_MAX; slotIdx++ )
            FOR( slotIdx = 0; slotIdx < IVAS_CLDFB_NO_COL_MAX; slotIdx++ )
            {
                for ( b = 0; b < numCldfbBands; b++ )
                FOR( b = 0; b < numCldfbBands; b++ )
                {
                    re[chnl][slotIdx][b] = floatBuffer[( chnl * numSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands ) + b];
                    im[chnl][slotIdx][b] = floatBuffer[numCldfbBands + ( chnl * numSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands ) + b];
                    re[chnl][slotIdx][b] = Word32Buffer[( chnl * numSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands ) + b];
                    im[chnl][slotIdx][b] = Word32Buffer[numCldfbBands + ( chnl * numSamplesPerChannel ) + ( 2 * slotIdx * numCldfbBands ) + b];
                    move32();
                    move32();
                }
            }
        }

        /* Implement CLDFB synthesis */
        for ( chnl = 0; chnl < numChannels; ++chnl )
        FOR( chnl = 0; chnl < numChannels; ++chnl )
        {
            float *RealBuffer[IVAS_CLDFB_NO_COL_MAX];
            float *ImagBuffer[IVAS_CLDFB_NO_COL_MAX];
            Word32 *RealBuffer[IVAS_CLDFB_NO_COL_MAX];
            Word32 *ImagBuffer[IVAS_CLDFB_NO_COL_MAX];

            for ( slotIdx = 0; slotIdx < IVAS_CLDFB_NO_COL_MAX; slotIdx++ )
            FOR( slotIdx = 0; slotIdx < IVAS_CLDFB_NO_COL_MAX; slotIdx++ )
            {
                RealBuffer[slotIdx] = re[chnl][slotIdx];
                ImagBuffer[slotIdx] = im[chnl][slotIdx];
                move32();
                move32();
            }

            IVAS_REND_cldfbSynthesis_wrapper( RealBuffer, ImagBuffer, &( fIn[chnl][0] ), numCldfbBands * IVAS_CLDFB_NO_COL_MAX, cldfbSyn[chnl] );
            IVAS_REND_cldfbSynthesis_wrapper( RealBuffer, ImagBuffer, &( fIn[chnl][0] ), numCldfbBands * IVAS_CLDFB_NO_COL_MAX, cldfbSyn[chnl], out_q, &temp_out_q );
        }
        for ( smpl = 0; smpl < numPcmSamples; ++smpl )

        FOR( smpl = 0; smpl < numPcmSamples; ++smpl )
        {
            for ( chnl = 0; chnl < numChannels; ++chnl )
            FOR( chnl = 0; chnl < numChannels; ++chnl )
            {
                intBuffer[i] = (int16_t) roundf( fIn[chnl][smpl] );
                intBuffer[i] = (Word16) L_shl( fIn[chnl][smpl], sub( out_q, temp_out_q ) );
                ++i;
            }
        }
    }
    else
    ELSE
    {
#endif
        for ( smpl = 0; smpl < numSamplesPerChannel; ++smpl )

        FOR( smpl = 0; smpl < numSamplesPerChannel; ++smpl )
        {
            for ( chnl = 0; chnl < numChannels; ++chnl )
            FOR( chnl = 0; chnl < numChannels; ++chnl )
            {
                temp = floatBuffer[chnl * numSamplesPerChannel + smpl];
                temp = (float) floor( temp + 0.5f );
                if ( temp > IVAS_MAX16B_FLT )
                temp_fx = L_add( Word32Buffer[chnl * numSamplesPerChannel + smpl], lshl( 1, ( out_q - 1 ) ) );
                temp_fx1 = L_shr( temp_fx, out_q );
                IF( GT_32( temp_fx1, IVAS_MAX16B_FX ) )
                {
                    temp = IVAS_MAX16B_FLT;
                    temp_fx1 = IVAS_MAX16B_FX;
                }
                else if ( temp < IVAS_MIN16B_FLT )
                ELSE IF( LT_32( temp_fx1, IVAS_MIN16B_FX ) )
                {
                    temp = IVAS_MIN16B_FLT;
                    temp_fx1 = IVAS_MIN16B_FX;
                }
                intBuffer[i] = (int16_t) temp;
                intBuffer[i] = (Word16) temp_fx1;

                ++i;
            }
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@
#include "isar_prot.h"
#include "ivas_prot.h"
#include "prot.h"
#include "prot_fx.h"
#include "control.h"
#ifdef DEBUGGING
#include "debug.h"
+2 −3
Original line number Diff line number Diff line
@@ -43,9 +43,8 @@
#include "debug.h"
#endif
#include "wmc_auto.h"
#include "prot_fx2.h"
#include "prot_fx.h"
#include "basop_util.h"
#include "basop_mpy.h"
#include "enh64.h"

/*-------------------------------------------------------------------------
@@ -1034,7 +1033,7 @@ ivas_error isar_splitBinRendPLCOpen(
    ISAR_SPLIT_REND_PLC_HANDLE hSplitRendPLC;

    error = IVAS_ERR_OK;
    IF( ( hSplitRendPLC = (ISAR_SPLIT_REND_PLC_HANDLE) malloc( sizeof( SPLIT_REND_PLC_STRUCT ) ) ) == NULL )
    IF( ( hSplitRendPLC = (ISAR_SPLIT_REND_PLC_HANDLE) malloc( sizeof( ISAR_SPLIT_REND_PLC_STRUCT ) ) ) == NULL )
    {
        return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for bin split renderer PLC Module \n" ) );
    }
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@
#ifdef DEBUGGING
#include "debug.h"
#endif
#include "prot_fx2.h"
#include "prot_fx.h"
#include "wmc_auto.h"
#include "basop_util.h"
#define Q31_BY_360 ( 5965232 ) // Q31
Loading