Commit c1a14fc2 authored by Mohammadreza Naghibzadeh's avatar Mohammadreza Naghibzadeh
Browse files

Merge remote-tracking branch 'origin/main' into 2041-fix-spectral-gaps-for-inactive-frames

# Conflicts:
#	lib_com/options.h
parents 7008e8f9 b9bfbe38
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -68,9 +68,13 @@ static
#endif
    int32_t frame = 0; /* Counter of frames */

#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
#define RANDOM_INITSEED_DEC ( 0xFADE )
#else
#ifdef FIXED_RTP_SEQUENCE_NUM
#define RANDOM_INITSEED_DEC ( 0xFEEDFADE )
#endif
#endif

#ifdef DEBUGGING
#define MIN_NUM_BITS_ACTIVE_FRAME 56
@@ -1888,6 +1892,14 @@ static ivas_error initOnFirstGoodFrame(
        int16_t splitRendIsarFrameSizeMs;
        int16_t lc3plusHighRes;

#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
        /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
           use fixed seed for random num generator for regression based tests. Any realtime
           application should implement this initialization seperately */
        uint16_t rtpDecSeed = RANDOM_INITSEED_DEC;
        uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpDecSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpDecSeed ) << 16 );
        uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpDecSeed );
#else
#ifdef FIXED_RTP_SEQUENCE_NUM
        /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
        use fixed seed for random num generator for regression based tests. Any realtime
@@ -1895,6 +1907,7 @@ static ivas_error initOnFirstGoodFrame(
        srand( RANDOM_INITSEED_DEC );
        uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 );
        uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF );
#endif
#endif

        if ( ( error = IVAS_DEC_GetDelay( hIvasDec, delayNumSamples_temp, &delayTimeScale_temp ) ) != IVAS_ERR_OK )
+13 −0
Original line number Diff line number Diff line
@@ -74,9 +74,13 @@ static
#endif
    int32_t frame = 0; /* Counter of frames */

#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
#define RANDOM_INITSEED_ENC ( 0xDEAF )
#else
#ifdef FIXED_RTP_SEQUENCE_NUM
#define RANDOM_INITSEED_ENC ( 0xFEEDDEAF )
#endif
#endif

#define DEFAULT_FIXED_SID_RATE 8 /* DTX SID rate */

@@ -230,6 +234,14 @@ int main(
    IVAS_RTP ivasRtp = { 0 };
#endif

#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
    /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
       use fixed seed for random num generator for regression based tests. Any realtime
       application should implement this initialization seperately */
    uint16_t rtpEncSeed = RANDOM_INITSEED_ENC;
    uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) << 16 );
    uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpEncSeed );
#else
#ifdef FIXED_RTP_SEQUENCE_NUM
    /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
       use fixed seed for random num generator for regression based tests. Any realtime
@@ -237,6 +249,7 @@ int main(
    srand( RANDOM_INITSEED_ENC );
    uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 );
    uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF );
#endif
#endif

    /*------------------------------------------------------------------------------------------*
+13 −0
Original line number Diff line number Diff line
@@ -77,9 +77,13 @@ static
#endif
    int32_t frame = 0; /* Counter of frames */

#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
#define RANDOM_INITSEED_ENC ( 0xDEAF )
#else
#ifdef FIXED_RTP_SEQUENCE_NUM
#define RANDOM_INITSEED_ENC ( 0xFEEDDEAF )
#endif
#endif

#define DEFAULT_FIXED_SID_RATE 8 /* DTX SID rate */

@@ -355,6 +359,14 @@ int encoder_main(
    /* IVAS_RTP ivasRtp = { 0 }; */
#endif

#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
    /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
       use fixed seed for random num generator for regression based tests. Any realtime
       application should implement this initialization seperately */
    uint16_t rtpEncSeed = RANDOM_INITSEED_ENC;
    uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) << 16 );
    uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpEncSeed );
#else
#ifdef FIXED_RTP_SEQUENCE_NUM
    /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
       use fixed seed for random num generator for regression based tests. Any realtime
@@ -362,6 +374,7 @@ int encoder_main(
    srand( RANDOM_INITSEED_ENC );
    uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 );
    uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF );
#endif
#endif

    /*------------------------------------------------------------------------------------------*
+2 −0
Original line number Diff line number Diff line
@@ -113,6 +113,8 @@

#define NONBE_FIX_ISSUE_2232_CHECK_CLDFB_STATES             /* FhG: Adjust scaleFactor according to st->cldfbSyn->cldfb_state_fx too to avoid overflow in cldfbSynthesis_ivas_fx() */
#define FIX_2041_SPECTRAL_GAPS_FOR_INACTIVE_FRAMES          /* FhG: Using rounding in multiplication to improve precision in cngNoiseLevel[] */
#define NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS /* Nokia: fix basop issue 2233: Fix differing rtpdump streams */

/* ################### End FIXES switches ########################### */

/* #################### Start BASOP porting switches ############################ */
+7 −0
Original line number Diff line number Diff line
@@ -1154,3 +1154,10 @@ ivas_error IVAS_RTP_ReadNextFrame(

    return IVAS_ERR_OK;
}

uint16_t IVAS_RTP_OwnRandom( uint16_t *seed )
{
    *seed = (uint16_t) ( *seed * 31821L + 13849L );

    return ( *seed );
}
Loading