Commit c2b27b4e authored by Jan Kiene's avatar Jan Kiene
Browse files

add complexity level indication placeholder in encoder

parent e15d8f5a
Loading
Loading
Loading
Loading
+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 = 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
@@ -213,6 +213,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
@@ -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
{