Commit 209131bf authored by vaclav's avatar vaclav
Browse files

- Merge remote-tracking branch 'remotes/origin/main' into...

- Merge remote-tracking branch 'remotes/origin/main' into 876-nonbe_unified_decoding_paths-increased-memory-consumption_ver2
parents 4da28a99 332bc972
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ stages:
  - mv IVAS_rend_test IVAS_rend

.merge-request-comparison-check: &merge-request-comparison-check
  - echo "--------------- Running merge-request-comparison-check anchor ---------------"
  - if [ $zero_errors != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_FAIL; fi
  - if [ $exit_code -eq 1 ] && [ $non_be_flag == 0 ]; then echo "Non-bitexact cases without non-BE tag encountered!"; exit $EXIT_CODE_FAIL; fi
  - if [ $exit_code -eq 1 ] && [ $non_be_flag != 0 ]; then echo "Non-bitexact cases with non-BE tag encountered"; exit $EXIT_CODE_NON_BE; fi
@@ -1276,6 +1277,7 @@ test-long-self-test:
  stage: test
  tags:
    - sanitizer_test_main
    - ivas-linux-fast
  artifacts:
    name: "$CI_JOB_NAME--main--sha-$CI_COMMIT_SHORT_SHA"
    expire_in: 1 week
+1 −1
Original line number Diff line number Diff line
@@ -218,7 +218,7 @@ int main(
#endif
#ifdef WMOPS
    reset_wmops();
    reset_mem( USE_32BITS );
    reset_mem( USE_BYTES );
#endif

    /*------------------------------------------------------------------------------------------*
+13 −1
Original line number Diff line number Diff line
@@ -202,7 +202,7 @@ int main(
#endif
#ifdef WMOPS
    reset_wmops();
    reset_mem( USE_32BITS );
    reset_mem( USE_BYTES );
#endif

    initArgStruct( &arg );
@@ -1690,6 +1690,13 @@ static bool parseCmdlIVAS_enc(

            i++;
        }
#ifdef FIX_643_PCA_OPTION
        else if ( strcmp( argv_to_upper, "-PCA" ) == 0 )
        {
            arg->pca = 1;
            i++;
        }
#else
        else if ( strcmp( argv_to_upper, "-BYPASS" ) == 0 ) // TODO: should be renamed to "-pca"
        {
            i++;
@@ -1723,6 +1730,7 @@ static bool parseCmdlIVAS_enc(
                return false;
            }
        }
#endif

        /*-----------------------------------------------------------------*
         * Option not recognized
@@ -1919,7 +1927,11 @@ static void usage_enc( void )
    fprintf( stdout, "-mime               : Mime output bitstream file format\n" );
    fprintf( stdout, "                      The encoder produces TS26.445 Annex.2.6 Mime Storage Format, (not RFC4867 Mime Format).\n" );
    fprintf( stdout, "                      default output bitstream file format is G.192\n" );
#ifdef FIX_643_PCA_OPTION
    fprintf( stdout, "-pca                : activate PCA in SBA format FOA at 256 kbps \n" );
#else
    fprintf( stdout, "-bypass mode        : SBA PCA by-pass, mode = (1, 2), 1 = PCA off, 2 = signal adaptive, default is 1\n" );
#endif
    fprintf( stdout, "-level level        : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" );
    fprintf( stdout, "                      Currently, all values default to level 3 (full functionality).\n" );
#ifdef DEBUGGING
+40 −20
Original line number Diff line number Diff line
@@ -225,8 +225,9 @@ typedef enum
    CmdLnOptionId_exteriorOrientationFile,
#ifdef NONBE_UNIFIED_DECODING_PATHS
    CmdLnOptionId_framing,
#endif
#else
    CmdLnOptionId_framing5ms,
#endif
    CmdLnOptionId_syncMdDelay,
    CmdLnOptionId_directivityPatternId,
    CmdLnOptionId_acousticEnvironmentId
@@ -276,7 +277,7 @@ static const CmdLnParser_Option cliOptions[] = {
    {
        .id = CmdLnOptionId_trajFile,
        .match = "trajectory_file",
        .matchShort = "tf",
        .matchShort = "T",
        .description = "Head rotation trajectory file for simulation of head tracking (only for binaural outputs)",
    },
#ifdef SPLIT_REND_WITH_HEAD_ROT
@@ -307,14 +308,14 @@ static const CmdLnParser_Option cliOptions[] = {
    },
    {
        .id = CmdLnOptionId_renderConfigFile,
        .match = "render_config",
        .matchShort = "rc",
        .description = "Binaural renderer configuration file (only for binaural outputs)",
        .match = "render_config_parameters",
        .matchShort = "render_config",
        .description = "Binaural renderer configuration parameters in file (only for binaural outputs)",
    },
    {
        .id = CmdLnOptionId_nonDiegeticPan,
        .match = "non_diegetic_pan",
        .matchShort = "ndp",
        .match = "non_diegetic_panning",
        .matchShort = "non_diegetic_pan",
        .description = "Panning mono non diegetic sound to stereo -90<= pan <= 90\nleft or l or 90->left, right or r or -90->right, center or c or 0 ->middle\n",
    },
    {
@@ -335,8 +336,8 @@ static const CmdLnParser_Option cliOptions[] = {
      .description = "LFE panning matrix. File (CSV table) containing a matrix of dimensions [ num_input_lfe x num_output_channels ] with elements specifying linear routing gain (like --gain, -g). \nIf specified, overrides the output LFE position option and the default behavior which attempts to map input to output LFE channel(s)" },
    {
        .id = CmdLnOptionId_noDelayCmp,
        .match = "no_delay_cmp",
        .matchShort = "ndc",
        .match = "no_delay_comparison",
        .matchShort = "no_delay_cmp",
        .description = "[flag] Turn off delay compensation",
    },
    {
@@ -382,13 +383,14 @@ static const CmdLnParser_Option cliOptions[] = {
        .matchShort = "fr",
        .description = "Set Render audio framing.",
    },
#endif
#else
    {
        .id = CmdLnOptionId_framing5ms,
        .match = "framing_5ms",
        .matchShort = "fr5",
        .description = "Render audio with 5 ms framing.",
    },
#endif
    {
        .id = CmdLnOptionId_syncMdDelay,
        .match = "sync_md_delay",
@@ -799,7 +801,7 @@ int main(

#ifdef WMOPS
    reset_wmops();
    reset_mem( USE_32BITS );
    reset_mem( USE_BYTES );
#endif

    for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i )
@@ -1793,6 +1795,26 @@ int main(
                exit( -1 );
            }

#ifdef NONBE_FIX_225_MASA_EXT_REND
            if ( isCurrentFrameMultipleOf20ms )
            {
                if ( masaReaders[i] != NULL )
                {
                    /* This will update data in hMasaMetadata[i] */
                    if ( ( error = MasaFileReader_readNextFrame( masaReaders[i] ) ) != IVAS_ERR_OK )
                    {
                        fprintf( stderr, "Error in MASA Metadata File Reading: %s\n", ivas_error_to_string( error ) );
                        exit( -1 );
                    }

                    if ( ( error = IVAS_REND_FeedInputMasaMetadata( hIvasRend, masaIds[i], hMasaMetadata[i] ) ) != IVAS_ERR_OK )
                    {
                        fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) );
                        exit( -1 );
                    }
                }
            }
#else
            if ( masaReaders[i] != NULL )
            {
                /* This will update data in hMasaMetadata[i] */
@@ -1804,6 +1826,7 @@ int main(
                    exit( -1 );
                }
            }
#endif
        }


@@ -2508,9 +2531,13 @@ static IVAS_AUDIO_CONFIG parseAudioConfig(
        switch ( charBuf[4] )
        {
            case '1':
#ifdef NONBE_FIX_225_MASA_EXT_REND
                return IVAS_AUDIO_CONFIG_MASA1;
#else
                fprintf( stderr, "1TC MASA support is not functional and is pending on DirAC renderer refactoring.\n" );
                exit( EXIT_FAILURE );
                /*return IVAS_AUDIO_CONFIG_MASA1;*/ // ToDo: temporarily disabled to avoid compilation warnings
#endif
            case '2':
                return IVAS_AUDIO_CONFIG_MASA2;
            default:
@@ -2873,16 +2900,13 @@ static void parseOption(
            }

            break;
#endif
#else
        case CmdLnOptionId_framing5ms:
            assert( numOptionValues == 0 );
#ifdef NONBE_UNIFIED_DECODING_PATHS
            args->render_framesize = IVAS_RENDER_FRAMESIZE_5MS;
#else
            args->framing_5ms = true;
#endif
            fprintf( stderr, "Warning: this is a placeholder for 5ms framing.\n" );
            break;
#endif
        case CmdLnOptionId_directivityPatternId:
            assert( numOptionValues <= RENDERER_MAX_ISM_INPUTS );
            for ( int16_t i = 0; i < numOptionValues; ++i )
@@ -3792,11 +3816,7 @@ static void printSupportedAudioConfigs( void )
        "HOA2",
        "HOA3",
        "ISMx (input only)",
#ifdef FIX_740_MASA_PREREND_VALIDITY_CHECK
        "MASAx",
#else
        "MASAx (input only)",
#endif
        "BINAURAL (output only)",
#ifdef SPLIT_REND_WITH_HEAD_ROT
        "BINAURAL_SPLIT_PCM",
+21 −21
Original line number Diff line number Diff line
@@ -201,25 +201,25 @@
  <div class="graph-container" style="clear: both;">
    <ul class="legend">
      <li style="border-color: #FF0000;"><em>Max. total RAM Codec:</em>
            32 bit words, Encoder + Decoder</li>
            Encoder + Decoder</li>
      <li style="border-color: #FF8000;"><em>Max. total RAM Encoder:</em>
            32 bit words, Encoder only</li>
            Encoder only</li>
      <li style="border-color: #FFFF00;"><em>Max. total RAM Decoder:</em>
            32 bit words, Decoder only</li>
            Decoder only</li>
      
      <li style="border-color: #800080;"><em>Max. HEAP Codec:</em>
            32 bit words, Encoder + Decoder</li>
            Encoder + Decoder</li>
      <li style="border-color: #0000FF;"><em>Max. HEAP Encoder</em>
            32 bit words, Encoder only</li>
            Encoder only</li>
      <li style="border-color: #0080C0;"><em>Max. HEAP Decoder</em> 
            32 bit words, Decoder only</li>
            Decoder only</li>
      
      <li style="border-color: #004000;"><em>Max. STACK Codec:</em>
            32 bit words, max(Encoder, Decoder)</li>
            max(Encoder, Decoder)</li>
      <li style="border-color: #008000;"><em>Max. STACK Encoder:</em>
            32 bit words, Encoder only</li>
            Encoder only</li>
      <li style="border-color: #00FF00;"><em>Max. STACK Decoder:</em>
            32 bit words, Decoder only</li>
            Decoder only</li>
    </ul>
  </div>

@@ -261,10 +261,10 @@
    <ul class="legend">
      <li style="border-color: #FF0000;"><em>Max. total ROM Codec:</em> Encoder + Decoder</li>

      <li style="border-color: #FF8000;"><em>Max. max PROM Encoder Library:</em> lib_enc only</li>
      <li style="border-color: #FFFF00;"><em>Max. max PROM Decoder Library:</em> lib_dec only</li>
      <li style="border-color: #800080;"><em>Max. max PROM Common Library:</em> lib_com only/li>
      <li style="border-color: #0000FF;"><em>Max. max PROM Ext Renderer Library:</em> lib_ren only</li>
      <li style="border-color: #FF8000;"><em>Max. Program ROM Encoder Library:</em> lib_enc only</li>
      <li style="border-color: #FFFF00;"><em>Max. Program ROM Decoder Library:</em> lib_dec only</li>
      <li style="border-color: #800080;"><em>Max. Program ROM Common Library:</em> lib_com only</li>
      <li style="border-color: #0000FF;"><em>Max. Program ROM Ext Renderer Library:</em> lib_rend only</li>

      <li style="border-color: #0080C0;"><em>Max. Table ROM Encoder Library:</em> lib_enc only</li>
      <li style="border-color: #004000;"><em>Max. Table ROM Decoder Library:</em> lib_dec only</li>
@@ -707,7 +707,7 @@ function RAM() {
                max: max_val,
                tickFormatter: function (v, axis) {
                    if (graph.direction == -1)
                        return v + " Word";
                        return v + " bytes";
                    return v;
                },
                invert: graph.direction == 1
@@ -755,7 +755,7 @@ function RAM() {
              var text = 'Score: ' + y;

              if (graph.direction == -1)
                text += " Word";
                text += " bytes";
              text += "<br>";
            
              if (x > 0) {
@@ -774,7 +774,7 @@ function RAM() {
                if (diff === diff) {
                    text += String.fromCharCode(916) + ": " + diff;
                    if (graph.direction == -1)
                        text += " Word";
                        text += " bytes";
                    text += " (" + pdiff + "% " + better + ")<br>";
                }
              }
@@ -816,7 +816,7 @@ function RAM() {

              text += "<a href=\"logs/" + graph.runs[x].logFile + "\">Logfile</a><br>";
            } else {
              text = "RAM requirement: 100000 Word";
              text = "RAM requirement: 400000 bytes";
            }

	    showToolTip(item.pageX, item.pageY, text);
@@ -868,7 +868,7 @@ function ROM() {
                max: max_val,
                tickFormatter: function (v, axis) {
                    if (graph.direction == -1)
                        return v + " Word";
                        return v + " bytes";
                    return v;
                },
                invert: graph.direction == 1
@@ -916,7 +916,7 @@ function ROM() {
              var text = 'Score: ' + y;

              if (graph.direction == -1)
                text += " Word";
                text += " bytes";
              text += "<br>";
            
              if (x > 0) {
@@ -935,7 +935,7 @@ function ROM() {
                if (diff === diff) {
                    text += String.fromCharCode(916) + ": " + diff;
                    if (graph.direction == -1)
                        text += " Word";
                        text += " bytes";
                    text += " (" + pdiff + "% " + better + ")<br>";
                }
              }
@@ -991,7 +991,7 @@ function ROM() {
			  */

            } else {
              text = "ROM requirement: 200 kWord";
              text = "ROM requirement: 800000 bytes";
            }

	    showToolTip(item.pageX, item.pageY, text);
Loading