Commit d19f133b authored by sbsarac's avatar sbsarac
Browse files

Add DEBUGGING switch

parent 458de603
Loading
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
@@ -47,8 +47,10 @@
#include "aeid_file_reader.h"
#endif
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
#include "quaternion_file_writer.h"
#endif
#endif
#ifdef SPLIT_REND_WITH_HEAD_ROT
#include "split_render_file_read_write.h"
#endif
@@ -120,12 +122,14 @@ typedef struct
    bool enableHeadRotation;
    char *headrotTrajFileName;
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    bool mainOrientationWriterEnabled;
    char *mainOrientationFilename;
    bool trackedRotationWriterEnabled;
    char *trackedRotationFilename;
    bool combinedOrientationWriterEnabled;
    char *combinedOrientationFilename;
#endif
#endif
    bool enableReferenceRotation;
    char *refrotTrajFileName;
@@ -184,6 +188,7 @@ typedef struct
static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg );
static void usage_dec( void );
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
#ifdef SPLIT_REND_WITH_HEAD_ROT
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, QuaternionFileWriter *mainOrientWriter, QuaternionFileWriter *trackRotWriter, QuaternionFileWriter *combOrientWriter, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#else
@@ -198,6 +203,14 @@ static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotF
#endif
static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec );
#endif
#else
#ifdef SPLIT_REND_WITH_HEAD_ROT
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#else
static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf );
#endif
static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec );
#endif

#ifdef DEBUGGING
static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec );
@@ -232,9 +245,11 @@ int main(
    RotFileReader *externalOrientationFileReader = NULL;
    RotFileReader *refRotReader = NULL;
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    QuaternionFileWriter *mainOrientWriter = NULL;
    QuaternionFileWriter *trackRotWriter = NULL;
    QuaternionFileWriter *combOrientWriter = NULL;
#endif
#endif
    Vector3PairFileReader *referenceVectorReader = NULL;
    RenderConfigReader *renderConfigReader = NULL;
@@ -372,6 +387,7 @@ int main(
    }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    /*------------------------------------------------------------------------------------------*
     * Open main orientation output file for writing
     *------------------------------------------------------------------------------------------*/
@@ -410,6 +426,7 @@ int main(
            goto cleanup;
        }
    }
#endif
#endif

    /*------------------------------------------------------------------------------------------*
@@ -949,7 +966,11 @@ int main(
    if ( arg.voipMode )
    {
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
        error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, mainOrientWriter, trackRotWriter, combOrientWriter, referenceVectorReader, hIvasDec );
#else
        error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec );
#endif
#else
        error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec );
#endif
@@ -957,6 +978,7 @@ int main(
    else
    {
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
#ifdef SPLIT_REND_WITH_HEAD_ROT
        error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, mainOrientWriter, trackRotWriter, combOrientWriter, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf );
#else
@@ -968,6 +990,13 @@ int main(
#else
        error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf );
#endif
#endif
#else
#ifdef SPLIT_REND_WITH_HEAD_ROT
        error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf );
#else
        error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec, pcmBuf );
#endif
#endif
    }

@@ -1039,9 +1068,11 @@ cleanup:
    RotationFileReader_close( &externalOrientationFileReader );
    RotationFileReader_close( &refRotReader );
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    QuaternionFileWriter_close( &mainOrientWriter );
    QuaternionFileWriter_close( &trackRotWriter );
    QuaternionFileWriter_close( &combOrientWriter );
#endif
#endif
    Vector3PairFileReader_close( &referenceVectorReader );
    RenderConfigReader_close( &renderConfigReader );
@@ -1195,12 +1226,14 @@ static bool parseCmdlIVAS_dec(
    arg->enableHeadRotation = false;
    arg->headrotTrajFileName = NULL;
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    arg->mainOrientationWriterEnabled = false;
    arg->mainOrientationFilename = NULL;
    arg->trackedRotationWriterEnabled = false;
    arg->trackedRotationFilename = NULL;
    arg->combinedOrientationWriterEnabled = false;
    arg->combinedOrientationFilename = NULL;
#endif
#endif
    arg->orientation_tracking = ORIENT_TRK_NONE;
    arg->enableReferenceRotation = false;
@@ -1437,6 +1470,7 @@ static bool parseCmdlIVAS_dec(
            i++;
        }
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
        else if ( strcmp( argv_to_upper, "-MOOF" ) == 0 )
        {
            arg->mainOrientationWriterEnabled = true;
@@ -1482,6 +1516,7 @@ static bool parseCmdlIVAS_dec(
            arg->combinedOrientationFilename = argv[i];
            i++;
        }
#endif
#endif
        else if ( strcmp( argv_to_upper, "-FR" ) == 0 )
        {
@@ -1947,9 +1982,11 @@ static void usage_dec( void )
    fprintf( stdout, "-hrtf File          : HRTF filter File used in BINAURAL output configuration\n" );
    fprintf( stdout, "-T File             : Head rotation specified by external trajectory File\n" );
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    fprintf( stdout, "-moof File          : Main orientation data output File\n" );
    fprintf( stdout, "-trof File          : Tracked rotation data output File\n" );
    fprintf( stdout, "-coof File          : Combined orientation data output File\n" );
#endif
#endif
    fprintf( stdout, "-otr tracking_type  : Head orientation tracking type: 'none', 'ref', 'avg', 'ref_vec' \n" );
    fprintf( stdout, "                      or 'ref_vec_lev' (only for binaural rendering)\n" );
@@ -2367,9 +2404,11 @@ static ivas_error decodeG192(
    RotFileReader *externalOrientationFileReader,
    RotFileReader *refRotReader,
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    QuaternionFileWriter *mainOrientWriter,
    QuaternionFileWriter *trackRotWriter,
    QuaternionFileWriter *combOrientWriter,
#endif
#endif
    Vector3PairFileReader *referenceVectorReader,
#ifdef SPLIT_REND_WITH_HEAD_ROT
@@ -2615,6 +2654,7 @@ static ivas_error decodeG192(
            }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
            if ( arg.mainOrientationWriterEnabled )
            {
                IVAS_QUATERNION orientation;
@@ -2652,6 +2692,7 @@ static ivas_error decodeG192(
                    }
                }
            }
#endif
#endif
        }

@@ -2682,6 +2723,7 @@ static ivas_error decodeG192(
        }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
        if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) )
        {
            IVAS_QUATERNION orientation;
@@ -2700,6 +2742,7 @@ static ivas_error decodeG192(
                }
            }
        }
#endif
#endif

        /* decode and get samples */
@@ -3036,6 +3079,7 @@ static ivas_error decodeG192(
            }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
            if ( arg.mainOrientationWriterEnabled )
            {
                IVAS_QUATERNION orientation;
@@ -3073,10 +3117,12 @@ static ivas_error decodeG192(
                    }
                }
            }
#endif
#endif
        }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
        if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) )
        {
            IVAS_QUATERNION orientation;
@@ -3095,6 +3141,7 @@ static ivas_error decodeG192(
                }
            }
        }
#endif
#endif

        /* decode and get samples */
@@ -3389,9 +3436,11 @@ static ivas_error decodeVoIP(
    RotFileReader *externalOrientationFileReader,
    RotFileReader *refRotReader,
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    QuaternionFileWriter *mainOrientWriter,
    QuaternionFileWriter *trackRotWriter,
    QuaternionFileWriter *combOrientWriter,
#endif
#endif
    Vector3PairFileReader *referenceVectorReader,
    IVAS_DEC_HANDLE hIvasDec )
@@ -3648,6 +3697,7 @@ static ivas_error decodeVoIP(
            }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
            if ( arg.mainOrientationWriterEnabled )
            {
                IVAS_QUATERNION orientation;
@@ -3685,6 +3735,7 @@ static ivas_error decodeVoIP(
                    }
                }
            }
#endif
#endif
        }

@@ -3717,6 +3768,7 @@ static ivas_error decodeVoIP(
        }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
        if ( arg.combinedOrientationWriterEnabled && ( arg.enableHeadRotation || arg.enableExternalOrientation ) )
        {
            IVAS_QUATERNION orientation;
@@ -3735,6 +3787,7 @@ static ivas_error decodeVoIP(
                }
            }
        }
#endif
#endif

        /* read all packets with a receive time smaller than the system time */
+22 −0
Original line number Diff line number Diff line
@@ -46,8 +46,10 @@
#include "render_config_reader.h"
#include "rotation_file_reader.h"
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
#include "quaternion_file_writer.h"
#endif
#endif
#ifdef FIX_1053_REVERB_RECONFIGURATION
#include "aeid_file_reader.h"
#endif
@@ -182,9 +184,11 @@ typedef struct
    char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    char mainOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    char trackedOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    char combinedOrientationOutputFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
#endif
#endif
    int8_t orientation_tracking;
    int16_t nonDiegeticPan;
@@ -238,9 +242,11 @@ typedef enum
    CmdLnOptionId_referenceVectorFile,
    CmdLnOptionId_exteriorOrientationFile,
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    CmdLnOptionId_mainOrientationOutputFile,
    CmdLnOptionId_trackedRotationOutputFile,
    CmdLnOptionId_combinedOrientationOutputFile,
#endif
#endif
    CmdLnOptionId_framing,
    CmdLnOptionId_syncMdDelay,
@@ -394,6 +400,7 @@ static const CmdLnParser_Option cliOptions[] = {
        .description = "External orientation trajectory file for simulation of external orientations",
    },
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    {
        .id = CmdLnOptionId_mainOrientationOutputFile,
        .match = "main_orientation_output_file",
@@ -412,6 +419,7 @@ static const CmdLnParser_Option cliOptions[] = {
        .matchShort = "coof",
        .description = "Combined orientation data output File",
    },
#endif
#endif
    {
        .id = CmdLnOptionId_framing,
@@ -724,10 +732,12 @@ int main(
    RotFileReader *externalOrientationFileReader = NULL;
    RotFileReader *referenceRotReader = NULL;
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    QuaternionFileWriter *mainOrientationFileWriter = NULL;
    QuaternionFileWriter *trackedRotationFileWriter = NULL;
    QuaternionFileWriter *combinedOrientationFileWriter = NULL;
#endif
#endif
#ifdef SPLIT_REND_WITH_HEAD_ROT
    IVAS_CLDFB_FILTER_BANK_HANDLE cldfbAna[IVAS_MAX_INPUT_CHANNELS];
    IVAS_CLDFB_FILTER_BANK_HANDLE cldfbSyn[IVAS_MAX_INPUT_CHANNELS];
@@ -842,9 +852,11 @@ int main(
    convert_backslash( args.inLfePanningMatrixFile );
    convert_backslash( args.externalOrientationFilePath );
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    convert_backslash( args.mainOrientationOutputFilePath );
    convert_backslash( args.trackedOrientationOutputFilePath );
    convert_backslash( args.combinedOrientationOutputFilePath );
#endif
#endif

    if ( !isEmptyString( args.headRotationFilePath ) )
@@ -890,6 +902,7 @@ int main(
    }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    if ( !isEmptyString( args.mainOrientationOutputFilePath ) )
    {
        if ( QuaternionFileWriter_open( args.mainOrientationOutputFilePath, &mainOrientationFileWriter ) != IVAS_ERR_OK )
@@ -916,6 +929,7 @@ int main(
            exit( -1 );
        }
    }
#endif
#endif

    if ( !isEmptyString( args.renderConfigFilePath ) )
@@ -1795,6 +1809,7 @@ int main(
        }

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
        if ( mainOrientationFileWriter != NULL && headRotReader != NULL )
        {
            for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ )
@@ -1851,6 +1866,7 @@ int main(
                }
            }
        }
#endif
#endif

        /* Combine external orientations and head rotation */
@@ -2261,9 +2277,11 @@ cleanup:
    RotationFileReader_close( &externalOrientationFileReader );
    RotationFileReader_close( &referenceRotReader );
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    QuaternionFileWriter_close( &mainOrientationFileWriter );
    QuaternionFileWriter_close( &trackedRotationFileWriter );
    QuaternionFileWriter_close( &combinedOrientationFileWriter );
#endif
#endif

    Vector3PairFileReader_close( &referenceVectorReader );
@@ -2839,9 +2857,11 @@ static CmdlnArgs defaultArgs(
    clearString( args.externalOrientationFilePath );

#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
    clearString( args.mainOrientationOutputFilePath );
    clearString( args.trackedOrientationOutputFilePath );
    clearString( args.combinedOrientationOutputFilePath );
#endif
#endif

    args.orientation_tracking = IVAS_HEAD_ORIENT_TRK_NONE;
@@ -2961,6 +2981,7 @@ static void parseOption(
            strncpy( args->externalOrientationFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
            break;
#ifdef FIX_1100_OUTPUT_ORIENT
#ifdef DEBUGGING
        case CmdLnOptionId_mainOrientationOutputFile:
            assert( numOptionValues == 1 );
            strncpy( args->mainOrientationOutputFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
@@ -2973,6 +2994,7 @@ static void parseOption(
            assert( numOptionValues == 1 );
            strncpy( args->combinedOrientationOutputFilePath, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 );
            break;
#endif
#endif
        case CmdLnOptionId_customHrtfFile:
            assert( numOptionValues == 1 );
+0 −6
Original line number Diff line number Diff line
@@ -274,9 +274,6 @@ Options:
-fr L               : render frame size in ms L=(5,10,20), default is 20					  
-hrtf File          : HRTF filter File used in BINAURAL rendering
-T File             : Head rotation specified by external trajectory File
-moof File          : Main orientation data output File
-trof File          : Tracked rotation data output File
-coof File          : Combined orientation data output File
-otr tracking_type  : Head orientation tracking type: 'none', 'ref', 'avg', 'ref_vec'
                      or 'ref_vec_lev' (only for binaural rendering)
-rf File            : Reference rotation specified by external trajectory File
@@ -315,9 +312,6 @@ Options:
-fr L                : render frame size in ms L=(5,10,20), default is 20
-hrtf File          : Custom HRTF File for binaural rendering (only for binaural outputs)
-T File             : Head rotation trajectory File for simulation of head tracking (only for binaural outputs)
-moof File          : Main orientation data output File
-trof File          : Tracked rotation data output File
-coof File          : Combined orientation data output File
-otr tracking_type  : Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec` or `ref_vec_lev` (only for binaural outputs)
-rf File           	: Reference rotation trajectory File for simulation of head tracking (only for binaural outputs)
-rvf File           : Reference vector trajectory File for simulation of head tracking (only for binaural outputs)
+1 −1

File changed.

Contains only whitespace changes.