Commit 9b2d6490 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'FhG/complexity_level_placeholder' into 'main'

Add placeholder for complexity level indication

See merge request !635
parents ca227f6e 49454c85
Loading
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -109,6 +109,9 @@ typedef struct
    float no_diegetic_pan;
    bool renderConfigEnabled;
    char *renderConfigFilename;
#ifdef COMPLEXITY_LEVEL_INDICATION
    IVAS_DEC_COMPLEXITY_LEVEL complexityLevel;
#endif

#ifdef DEBUGGING
    IVAS_DEC_FORCED_REND_MODE forcedRendMode;
@@ -757,6 +760,9 @@ static bool parseCmdlIVAS_dec(
    arg->quietModeEnabled = false;
    arg->delayCompensationEnabled = true;
    arg->voipMode = false;
#ifdef COMPLEXITY_LEVEL_INDICATION
    arg->complexityLevel = IVAS_DEC_COMPLEXITY_LEVEL_THREE;
#endif

    arg->enableHeadRotation = false;
    arg->headrotTrajFileName = NULL;
@@ -1051,6 +1057,25 @@ static bool parseCmdlIVAS_dec(
            }
            i++;
        }
#ifdef COMPLEXITY_LEVEL_INDICATION
        else if ( strcmp( argv_to_upper, "-LEVEL" ) == 0 )
        {
            int16_t level;

            ++i;
            level = (int16_t) atoi( argv[i++] );
            if ( level < IVAS_DEC_COMPLEXITY_LEVEL_ONE || level > IVAS_DEC_COMPLEXITY_LEVEL_THREE )
            {
                fprintf( stdout, "Invalid complexity level specified.\n" );
                usage_dec();
                return false;
            }
            else if ( level == IVAS_DEC_COMPLEXITY_LEVEL_ONE || level == IVAS_DEC_COMPLEXITY_LEVEL_TWO )
            {
                fprintf( stdout, "Complexity levels 1 and 2 will be defined after characterisation - default to level 3 (full functionality).\n" );
            }
        }
#endif

        /*-----------------------------------------------------------------*
         * Option not recognized
@@ -1202,6 +1227,10 @@ static void usage_dec( void )
    fprintf( stdout, "                      containing FEC pattern (short values of 0 (good) or 1 (bad))\n" );
    fprintf( stdout, "                      default is OFF, if this option is not used\n" );
    fprintf( stdout, "-force R            : Force specific binaural rendering mode, R = (TDREND, CLDFBREND),\n" );
#ifdef COMPLEXITY_LEVEL_INDICATION
    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" );
#endif
#endif
#ifdef DEBUG_MODE_INFO
#ifdef DEBUG_MODE_INFO_TWEAK
+34 −0
Original line number Diff line number Diff line
@@ -111,6 +111,9 @@ typedef struct
    IVAS_ENC_CHANNEL_AWARE_CONFIG caConfig;
    const char *ca_config_file;
    bool mimeOutput;
#ifdef COMPLEXITY_LEVEL_INDICATION
    IVAS_ENC_COMPLEXITY_LEVEL complexityLevel;
#endif

#ifdef DEBUGGING
    IVAS_ENC_FORCED_MODE forcedMode;
@@ -878,6 +881,9 @@ static void initArgStruct( EncArguments *arg )
    arg->ca_config_file = NULL;
    arg->mimeOutput = false;
    arg->ism_extended_metadata = false;
#ifdef COMPLEXITY_LEVEL_INDICATION
    arg->complexityLevel = IVAS_ENC_COMPLEXITY_LEVEL_THREE;
#endif

#ifdef DEBUGGING
    arg->forcedMode = IVAS_ENC_FORCE_UNFORCED;
@@ -1190,6 +1196,32 @@ static bool parseCmdlIVAS_enc(
            ++i;
        }


#ifdef COMPLEXITY_LEVEL_INDICATION
        /*-----------------------------------------------------------------*
         * Complexity Level
         *-----------------------------------------------------------------*/

        /* actual parsing of level will be implemented after characterization */
        else if ( strcmp( argv_to_upper, "-LEVEL" ) == 0 )
        {
            int16_t level;

            ++i;
            level = (int16_t) atoi( argv[i++] );
            if ( level < IVAS_ENC_COMPLEXITY_LEVEL_ONE || level > IVAS_ENC_COMPLEXITY_LEVEL_THREE )
            {
                fprintf( stdout, "Invalid complexity level specified.\n" );
                usage_enc();
                return false;
            }
            else if ( level == IVAS_ENC_COMPLEXITY_LEVEL_ONE || level == IVAS_ENC_COMPLEXITY_LEVEL_TWO )
            {
                fprintf( stdout, "Complexity levels 1 and 2 will be defined after characterisation - default to level 3 (full functionality).\n" );
            }
        }
#endif

        /*-----------------------------------------------------------------*
         * IVAS Formats
         *-----------------------------------------------------------------*/
@@ -1697,6 +1729,8 @@ static void usage_enc( void )
    fprintf( stdout, "                      default output bitstream file format is G.192\n" );

    fprintf( stdout, "-bypass mode        : SBA PCA by-pass, mode = (1, 2), 1 = PCA off, 2 = signal adaptive, default is 1\n" );
    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
    fprintf( stdout, "-force T            : Force specific mode, T = (speech, music, ACELP, GSC, TCX, HQ),\n" );
    fprintf( stdout, "                      alternatively, T can be a text file where each line contains \"nb_frames T\"\n" );
+2 −0
Original line number Diff line number Diff line
@@ -214,6 +214,8 @@
//#define HODIRAC_READ_PARAMS
#endif

#define COMPLEXITY_LEVEL_INDICATION

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */

+9 −0
Original line number Diff line number Diff line
@@ -77,6 +77,15 @@ typedef enum
    IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF = 4, /* RTP payload: only Header-Full format without zero padding for size collision avoidance */
} IVAS_DEC_INPUT_FORMAT;

#ifdef COMPLEXITY_LEVEL_INDICATION
typedef enum _IVAS_DEC_COMPLEXITY_LEVEL
{
    IVAS_DEC_COMPLEXITY_LEVEL_ONE = 1,
    IVAS_DEC_COMPLEXITY_LEVEL_TWO = 2,
    IVAS_DEC_COMPLEXITY_LEVEL_THREE = 3
} IVAS_DEC_COMPLEXITY_LEVEL;
#endif

#ifdef DEBUGGING
typedef enum _IVAS_DEC_FORCED_REND_MODE
{
+9 −0
Original line number Diff line number Diff line
@@ -94,6 +94,15 @@ typedef enum _IVAS_ENC_MASA_VARIANT
    IVAS_ENC_MASA_UNDEFINED = 0xffff
} IVAS_ENC_MASA_VARIANT;

#ifdef COMPLEXITY_LEVEL_INDICATION
typedef enum _IVAS_ENC_COMPLEXITY_LEVEL
{
    IVAS_ENC_COMPLEXITY_LEVEL_ONE = 1,
    IVAS_ENC_COMPLEXITY_LEVEL_TWO = 2,
    IVAS_ENC_COMPLEXITY_LEVEL_THREE = 3
} IVAS_ENC_COMPLEXITY_LEVEL;
#endif

#ifdef DEBUGGING
typedef enum _IVAS_ENC_STEREO_MODE
{