Commit fc1cf035 authored by vaclav's avatar vaclav
Browse files

- Merge branch '1217-object-edit-file-interface-and-test-cases' of...

- Merge branch '1217-object-edit-file-interface-and-test-cases' of https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec into 1217-object-edit-file-interface-and-test-cases
parents 9efe5dc6 2b9e28da
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -1508,16 +1508,11 @@ static bool parseCmdlIVAS_dec(

            i += tmp;
        }
#ifndef OBJECT_EDIT_FILE_INTERFACE
        else if ( strcmp( argv_to_upper, "-OBJ_EDIT" ) == 0 )
        {
            arg->objEditEnabled = true;
            i++;
        }
#else
        else if ( strcmp( argv_to_upper, "-OBJ_EDIT_FILE" ) == 0 )
        {
            i++;
#ifdef OBJECT_EDIT_FILE_INTERFACE
            if ( argc - i <= 3 || argv[i][0] == '-' )
            {
                fprintf( stderr, "Error: Object editing instruction filename not specified!\n\n" );
@@ -1533,11 +1528,9 @@ static bool parseCmdlIVAS_dec(
            {
                arg->objEditFileName = argv[i]; /* read edit instructions from this file */
            }

            arg->objEditEnabled = true;
            i++;
        }
#endif
        }

        /*-----------------------------------------------------------------*
         * Option not recognized
@@ -1742,7 +1735,7 @@ static void usage_dec( void )
#ifndef OBJECT_EDIT_FILE_INTERFACE
    fprintf( stdout, "-obj_edit           : Enable objects editing\n" );
#else
    fprintf( stdout, "-obj_edit_file File : Object editing instructions file or NULL for built-in example\n" );
    fprintf( stdout, "-obj_edit File      : Object editing instructions file or NULL for built-in example\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" );
+6 −5
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ the United Nations Convention on Contracts on the International Sales of Goods.
#include <stdlib.h>
#include <string.h>
#include "obj_edit_file_reader.h"
#include "prot.h"


#ifdef OBJECT_EDIT_FILE_INTERFACE
@@ -47,15 +48,15 @@ ivas_error ObjectEditFileReader_open(
    ObjectEditFileReader **objEditReader /* o  : ObjectEditFileReader handle          */
)
{
    if ( fileName == NULL || *objEditReader == NULL || objEditReader == NULL )
    {
        return IVAS_ERR_UNEXPECTED_NULL_POINTER;
    }

    ObjectEditFileReader *self;
    FILE *fileHandle;
    int16_t obj_idx;

    if ( fileName == NULL || objEditReader == NULL )
    {
        return IVAS_ERR_UNEXPECTED_NULL_POINTER;
    }

    /* Open file */
    if ( strlen( fileName ) < 1 )
    {
+1 −1
Original line number Diff line number Diff line
@@ -307,7 +307,7 @@ Options:
-aeid ID | File     : Acoustic environment ID (number > 0) or
                      alternatively, it can be a text file where each line contains "ID duration"
                      for BINAURAL_ROOM_REVERB output configuration.
-obj_edit_file File : Object editing instructions file or NULL for built-in example
-obj_edit File      : Object editing instructions file or NULL for built-in example
-level level        : Complexity level, level = (1, 2, 3), will be defined after characterisation.
-om File            : Coded metadata File for BINAURAL_SPLIT_PCM OutputConf
                      Currently, all values default to level 3 (full functionality).
+34 −52
Original line number Diff line number Diff line
@@ -1950,74 +1950,56 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_10pct.g

// TODO: OBJECT EDITING TESTS: finalize and replicate to LTV
// OMASA 2Dir2TC 4ISM at 80 kbps, 48kHz in, 48kHz out, BINAURAL out, default object editing, 1SEP-PARAM
// ../IVAS_cod -ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met 80000 48 testv/stvOMASA_4ISM_2MASA2TC48c.wav bit
// ../IVAS_dec -obj_edit_file NULL BINAURAL 48 bit testv/stvOMASA_4ISM_2MASA2TC48c.wav_BINAURAL_80000_48-48_OE.tst
../IVAS_cod -ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met 80000 48 testv/stvOMASA_4ISM_2MASA2TC48c.wav bit
../IVAS_dec -obj_edit NULL BINAURAL 48 bit testv/stvOMASA_4ISM_2MASA2TC48c.wav_BINAURAL_80000_48-48_OE.tst

// OMASA 2Dir2TC 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC
// ../IVAS_cod -ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met 256000 48 testv/stvOMASA_4ISM_2MASA2TC48c.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/stvOMASA_4ISM_2MASA2TC48c.wav_BINAURAL_256000_48-48_OE_JBM5.tst

// OMASA 2Dir2TC 3ISM at 64 kbps, 48kHz in, 48kHz out, MONO out, object editing, JBM Prof 5, 1SEP-PARAM
// ../IVAS_cod -ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA2TC48c.met 64000 48 testv/stvOMASA_3ISM_2MASA2TC48c.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP MONO 48 netsimoutput testv/stvOMASA_3ISM_2MASA2TC48c.wav_MONO_64000_48-48_OE_JBM5.tst

// OMASA 2Dir2TC 3ISM at 384 kbps, 48kHz in, 48kHz out, MONO out, object editing, DISC
// ../IVAS_cod -ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA2TC48c.met 384000 48 testv/stvOMASA_3ISM_2MASA2TC48c.wav bit
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt MONO 48 bit testv/stvOMASA_3ISM_2MASA2TC48c.wav_MONO_384000_48-48_OE.tst

// OMASA 2Dir2TC 2ISM at 32 kbps, 48kHz in, 48kHz out, FOA out, object editing, 1SEP-PARAM
// ../IVAS_cod -ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met 32000 48 testv/stvOMASA_2ISM_2MASA2TC48c.wav bit
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt MONO 48 bit testv/stvOMASA_2ISM_2MASA2TC48c.wav_FOA_32000_48-48_OE.tst
../IVAS_cod -ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met 256000 48 testv/stvOMASA_4ISM_2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/stvOMASA_4ISM_2MASA2TC48c.wav_BINAURAL_256000_48-48_OE_JBM5.tst

// OMASA 2Dir2TC 2ISM at 96 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC
// ../IVAS_cod -ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met 96000 48 testv/stvOMASA_2ISM_2MASA2TC48c.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stvOMASA_2ISM_2MASA2TC48c.wav_FOA_96000_48-48_OE_JBM5.tst
../IVAS_cod -ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met 96000 48 testv/stvOMASA_2ISM_2MASA2TC48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stvOMASA_2ISM_2MASA2TC48c.wav_FOA_96000_48-48_OE_JBM5.tst

// OMASA 2Dir2TC 2ISM bitrate switching from 32 kbps to 48 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, 1SEP-PARAM<->DISC
// ../IVAS_cod -ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_32-48k_10fr.bin 48 testv/stvOMASA_2ISM_2MASA2TC48c.wav bit
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stvOMASA_2ISM_2MASA2TC48c.wav_BINAURAL_sw_48-48_OE.tst

// OMASA 2Dir2TC 2ISM bitrate switching from 48 kbps to 32 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, JBM Prof 5, DISC<->1SEP-PARAM
// ../IVAS_cod -ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_48-32k_10fr.bin 48 testv/stvOMASA_2ISM_2MASA2TC48c.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/stvOMASA_2ISM_2MASA2TC48c.wav_BINAURAL_sw_48-48_OE_JBM5.tst
../IVAS_cod -ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_32-48k_10fr.bin 48 testv/stvOMASA_2ISM_2MASA2TC48c.wav bit
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stvOMASA_2ISM_2MASA2TC48c.wav_BINAURAL_sw_48-48_OE.tst

// OSBA 3OA 4ISM at 256 kbps, 48kHz in, 48kHz out, BINAURAL out, object editing, DISC
// ../IVAS_cod -ism_sba 4 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 256000 48 testv/stvOSBA_4ISM_3OA48c.wav bit
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stvOSBA_4ISM_3OA48c.wav_BINAURAL_256000_48-48_OE.tst
../IVAS_cod -ism_sba 4 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 256000 48 testv/stvOSBA_4ISM_3OA48c.wav bit
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stvOSBA_4ISM_3OA48c.wav_BINAURAL_256000_48-48_OE.tst

// OSBA 2OA 3ISM at 128 kbps, 48kHz in, 48kHz out, FOA out, object editing, JBM Prof 5, DISC
// ../IVAS_cod -ism_sba 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 128000 48 testv/stvOSBA_3ISM_2OA48c.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stvOSBA_3ISM_2OA48c.wav_FOA_128000_48-48_OE_JBM5.tst
../IVAS_cod -ism_sba 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 128000 48 testv/stvOSBA_3ISM_2OA48c.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stvOSBA_3ISM_2OA48c.wav_FOA_128000_48-48_OE_JBM5.tst

// 4 ISM with metadata at 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, PARAM_ISM
// ../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 32000 48 testv/stv4ISM48s.wav bit
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stv4ISM48s.wav_32000_48-48_BINAURAL_OE.tst
../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 32000 48 testv/stv4ISM48s.wav bit
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stv4ISM48s.wav_32000_48-48_BINAURAL_OE.tst

// 4 ISM with metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, DISC
// ../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 128000 48 testv/stv4ISM48s.wav bit
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stv4ISM48s.wav_128000_48-48_BINAURAL_OE.tst
../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 128000 48 testv/stv4ISM48s.wav bit
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stv4ISM48s.wav_128000_48-48_BINAURAL_OE.tst

// 3 ISM with metadata at 24.4 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, PARAM_ISM
// ../IVAS_cod -ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 24400 48 testv/stv3ISM48s.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv3ISM48s.wav_24400_48-48_FOA_OE_JBM5.tst
../IVAS_cod -ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 24400 48 testv/stv3ISM48s.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv3ISM48s.wav_24400_48-48_FOA_OE_JBM5.tst

// 3 ISM with metadata at 384 kbps, 48 kHz in, 48 kHz out, FOA out, object editing, JBM Prof 5, DISC
// ../IVAS_cod -ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 384000 48 testv/stv3ISM48s.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv3ISM48s.wav_384000_48-48_FOA_OE_JBM5.tst

// 4 ISM with metadata bitrate switching from 32 kbps to 48 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, PARAM_ISM<->DISC
// ../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv ../scripts/switchPaths/sw_32-48k_10fr.bin 48 testv/stv4ISM48s.wav bit
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt BINAURAL 48 bit testv/stv4ISM48s.wav_sw_48-48_BINAURAL_OE.tst

// 4 ISM with metadata bitrate switching from 48 kbps to 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, JBM Prof 5, DISC<->PARAM_ISM
// ../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv ../scripts/switchPaths/sw_48-32k_10fr.bin 48 testv/stv4ISM48s.wav bit
// networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
// ../IVAS_dec -obj_edit_file ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/stv4ISM48s.wav_sw_48-48_BINAURAL_OE_JBM5.tst
../IVAS_cod -ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 384000 48 testv/stv3SM48s.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit NULL -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv3ISM48s.wav_384000_48-48_FOA_OE_JBM5.tst

// 4 ISM with metadata bitrate switching from 32 kbps to 48 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_IR out, object editing
../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv ../scripts/switchPaths/sw_32-48k_10fr.bin 48 testv/stv4ISM48s.wav bit
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt BINAURAL_ROOM_IR 48 bit testv/stv4ISM48s.wav_sw_48-48_BINAURAL_ROOM_IR_OE.tst

// 4 ISM with metadata bitrate switching from 48 kbps to 32 kbps, 48 kHz in, 48 kHz out, BINAURAL out, object editing, JBM Prof 5
../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv ../scripts/switchPaths/sw_48-32k_10fr.bin 48 testv/stv4ISM48s.wav bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -obj_edit ../scripts/object_edit/combined_edit.txt -Tracefile tracefile_dec -VOIP BINAURAL 48 netsimoutput testv/stv4ISM48s.wav_sw_48-48_BINAURAL_OE_JBM5.tst