Commit 8ce4b822 authored by sagnowski's avatar sagnowski
Browse files

Contribution 19 - mutllichannel JBM

Extends JBM to support more than one audio channel.
Introduces VoIP mode for decoding IVAS bitstreams.
parent 53694b65
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -47,6 +47,8 @@ scripts/ref/
scripts/test/
scripts/out/
scripts/self_test_summary.txt
scripts/cppp/
binary/
tests/renderer/cut
tests/renderer/ref
tests/dut
+3 −0
Original line number Diff line number Diff line
@@ -187,3 +187,6 @@ if(COPY_EXECUTABLES_FROM_BUILD_DIR)
  add_custom_command(TARGET IVAS_crend_unit_test POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:IVAS_crend_unit_test>" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/ivas_pytests/tests/unit_tests/crend/")
  add_custom_command(TARGET renderer_standalone POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:renderer_standalone>" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/td_object_renderer/object_renderer_standalone/")
endif()

# Allow creating packages for CMake install
install(TARGETS lib_enc lib_dec lib_rend lib_com lib_util ARCHIVE DESTINATION lib)
+432 −15

File changed.

Preview size limit exceeded, changes collapsed.

+14 −2
Original line number Diff line number Diff line
@@ -2020,7 +2020,11 @@ ivas_error read_indices(
    file_read_FECpattern( &st_ivas->bfi );
    st_ivas->bfi |= bfi;

#ifdef MC_JBM
    if ( bfi == FRAMEMODE_MISSING ) /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */
#else
    if ( bfi )
#endif
    {
        for ( k = 0; k < num_bits; k++ )
        {
@@ -2185,7 +2189,11 @@ ivas_error read_indices(
    }

    /* handle bad/lost speech frame(and CS bad SID frame) in the decoders CNG synthesis settings pair (total_brate, bfi) */
    if ( ( ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST)   --> stay in CNG */
    if ( ( 
#ifdef MC_JBM
        bfi != FRAMEMODE_FUTURE &&  /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */
#endif
         ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST)   --> stay in CNG */
         ( sid_upd_bad != 0 ) )                                                  /* SID_UPD_BAD              --> start CNG */
    {
        st_ivas->bfi = 0; /* bfi=0 needed to activate CNG code */
@@ -2228,7 +2236,11 @@ ivas_error read_indices(
    }

    /* GOOD frame */
    if ( st_ivas->bfi == 0 )
    if ( st_ivas->bfi == 0
#ifdef MC_JBM
    || st_ivas->bfi == FRAMEMODE_FUTURE /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */
#endif
    )
    {
        /* GOOD frame - convert ITU-T G.192 words to short values */
        st_ivas->hDecoderConfig->ivas_total_brate = total_brate;
+3 −0

File changed.

Preview size limit exceeded, changes collapsed.

Loading