Loading apps/decoder.c +7 −1 Original line number Diff line number Diff line Loading @@ -2563,7 +2563,13 @@ static ivas_error decodeG192( } #endif /* Feed into decoder */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , isSplitRend, splitRendBits #endif ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not feed frame to decoder: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; Loading lib_dec/lib_dec.c +33 −2 Original line number Diff line number Diff line Loading @@ -871,6 +871,11 @@ ivas_error IVAS_DEC_FeedFrame_Serial( uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ const uint16_t num_bits, /* i : number of bits in input bitstream */ int16_t bfi /* i : bad frame indicator flag */ #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , int16_t isSplitRend, ISAR_SPLIT_REND_BITS_DATA *splitRendBits #endif ) { ivas_error error; Loading Loading @@ -959,6 +964,18 @@ ivas_error IVAS_DEC_FeedFrame_Serial( uint16_t l_ts, nTimeScalerOutSamples; uint8_t nTransportChannels, nOutChannels; int16_t nResidualSamples, nSamplesTcsScaled, nOutSamplesElse; #ifdef SPLIT_REND_WITH_HEAD_ROT if ( isSplitRend ) { if ( ( error = isar_set_split_rend_setup( hIvasDec->st_ivas->hSplitBinRend, &hIvasDec->st_ivas->hRenderConfig->split_rend_config, hIvasDec->st_ivas->hCombinedOrientationData, splitRendBits ) ) != IVAS_ERR_OK ) { return error; } } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = IVAS_DEC_Setup( hIvasDec, &l_ts, &nTransportChannels, &nOutChannels, &hIvasDec->nSamplesFlushed, hIvasDec->pcmType, hIvasDec->flushbuffer ) ) != IVAS_ERR_OK ) #else Loading Loading @@ -1505,10 +1522,12 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( *needNewFrame = false; hSplitBinRend = st_ivas->hSplitBinRend; #ifndef OBJ_EDITING_API if ( ( error = isar_set_split_rend_setup( hSplitBinRend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hCombinedOrientationData, splitRendBits ) ) != IVAS_ERR_OK ) { return error; } #endif numPoses = hSplitBinRend->splitrend.multiBinPoseData.num_poses; Loading Loading @@ -3149,7 +3168,13 @@ ivas_error IVAS_DEC_VoIP_GetSamples( bsCompactToSerial( dataUnit->data, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize ); if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize, 0 ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize, 0 #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , 0, 0 #endif ) ) != IVAS_ERR_OK ) { return error; } Loading @@ -3157,7 +3182,13 @@ ivas_error IVAS_DEC_VoIP_GetSamples( else if ( hIvasDec->hasDecodedFirstGoodFrame ) { /* Decoder has been initialized with first good frame - do PLC */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, 0, 1 ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, 0, 1 #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , 0, 0 #endif ) ) != IVAS_ERR_OK ) { return error; } Loading lib_dec/lib_dec.h +5 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,11 @@ ivas_error IVAS_DEC_FeedFrame_Serial( uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ const uint16_t num_bits, /* i : number of bits in input bitstream */ int16_t bfi /* i : bad frame indicator flag */ #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , int16_t isSplitRend, ISAR_SPLIT_REND_BITS_DATA *splitRendBits #endif ); #ifdef OBJ_EDITING_API Loading Loading
apps/decoder.c +7 −1 Original line number Diff line number Diff line Loading @@ -2563,7 +2563,13 @@ static ivas_error decodeG192( } #endif /* Feed into decoder */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , isSplitRend, splitRendBits #endif ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not feed frame to decoder: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; Loading
lib_dec/lib_dec.c +33 −2 Original line number Diff line number Diff line Loading @@ -871,6 +871,11 @@ ivas_error IVAS_DEC_FeedFrame_Serial( uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ const uint16_t num_bits, /* i : number of bits in input bitstream */ int16_t bfi /* i : bad frame indicator flag */ #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , int16_t isSplitRend, ISAR_SPLIT_REND_BITS_DATA *splitRendBits #endif ) { ivas_error error; Loading Loading @@ -959,6 +964,18 @@ ivas_error IVAS_DEC_FeedFrame_Serial( uint16_t l_ts, nTimeScalerOutSamples; uint8_t nTransportChannels, nOutChannels; int16_t nResidualSamples, nSamplesTcsScaled, nOutSamplesElse; #ifdef SPLIT_REND_WITH_HEAD_ROT if ( isSplitRend ) { if ( ( error = isar_set_split_rend_setup( hIvasDec->st_ivas->hSplitBinRend, &hIvasDec->st_ivas->hRenderConfig->split_rend_config, hIvasDec->st_ivas->hCombinedOrientationData, splitRendBits ) ) != IVAS_ERR_OK ) { return error; } } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = IVAS_DEC_Setup( hIvasDec, &l_ts, &nTransportChannels, &nOutChannels, &hIvasDec->nSamplesFlushed, hIvasDec->pcmType, hIvasDec->flushbuffer ) ) != IVAS_ERR_OK ) #else Loading Loading @@ -1505,10 +1522,12 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( *needNewFrame = false; hSplitBinRend = st_ivas->hSplitBinRend; #ifndef OBJ_EDITING_API if ( ( error = isar_set_split_rend_setup( hSplitBinRend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hCombinedOrientationData, splitRendBits ) ) != IVAS_ERR_OK ) { return error; } #endif numPoses = hSplitBinRend->splitrend.multiBinPoseData.num_poses; Loading Loading @@ -3149,7 +3168,13 @@ ivas_error IVAS_DEC_VoIP_GetSamples( bsCompactToSerial( dataUnit->data, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize ); if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize, 0 ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize, 0 #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , 0, 0 #endif ) ) != IVAS_ERR_OK ) { return error; } Loading @@ -3157,7 +3182,13 @@ ivas_error IVAS_DEC_VoIP_GetSamples( else if ( hIvasDec->hasDecodedFirstGoodFrame ) { /* Decoder has been initialized with first good frame - do PLC */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, 0, 1 ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, 0, 1 #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , 0, 0 #endif ) ) != IVAS_ERR_OK ) { return error; } Loading
lib_dec/lib_dec.h +5 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,11 @@ ivas_error IVAS_DEC_FeedFrame_Serial( uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ const uint16_t num_bits, /* i : number of bits in input bitstream */ int16_t bfi /* i : bad frame indicator flag */ #if defined( OBJ_EDITING_API ) && defined( SPLIT_REND_WITH_HEAD_ROT ) , int16_t isSplitRend, ISAR_SPLIT_REND_BITS_DATA *splitRendBits #endif ); #ifdef OBJ_EDITING_API Loading