Commit b1436fe6 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

implement sba output convention selection on the decoder command line

parent a26392d2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\lib_dec;..\lib_com;..\lib_util;..\lib_debug;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>..\lib_dec;..\lib_util;..\lib_com;..\lib_util;..\lib_debug;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;$(Macros);%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <ExceptionHandling />
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_lc3plus;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>..\lib_com;..\lib_util;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_rend;..\lib_lc3plus;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <ExceptionHandling />
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@
    </Midl>
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_lc3plus;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>..\lib_com;..\lib_util;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_lc3plus;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <ExceptionHandling />
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+35 −3
Original line number Diff line number Diff line
@@ -43,6 +43,9 @@
#include "masa_file_writer.h"
#include "render_config_reader.h"
#include "rotation_file_reader.h"
#ifdef AMBISONICS_CONVENTIONS
#include "ambi_convert.h"
#endif
#ifdef SPLIT_REND_WITH_HEAD_ROT
#include "split_render_file_read_write.h"
#endif
@@ -144,6 +147,9 @@ typedef struct
    uint16_t acousticEnvironmentId;
    int16_t Opt_dpid_on;
    uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS];
#ifdef AMBISONICS_CONVENTIONS
    AMBI_FMT sba_output_fmt;
#endif

} DecArguments;

@@ -433,7 +439,12 @@ int main(

    asked_frame_size = arg.renderFramesize;
    if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.tsmEnabled, arg.renderFramesize, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.Opt_non_diegetic_pan, arg.non_diegetic_pan_gain,
                                       arg.Opt_dpid_on, arg.acousticEnvironmentId, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK )
                                       arg.Opt_dpid_on, arg.acousticEnvironmentId, arg.delayCompensationEnabled
#ifdef AMBISONICS_CONVENTIONS
                                       ,
                                       arg.sba_output_fmt
#endif
	) ) != IVAS_ERR_OK )

    {
        fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -1253,7 +1264,28 @@ static bool parseCmdlIVAS_dec(
        }
#endif
#endif /* #ifdef DEBUGGING */
#ifdef AMBISONICS_CONVENTIONS
        else if ( strcmp( argv_to_upper, "-SBA_CONVENTION" ) == 0 )
        {
            int16_t tmp;
            i++;
            arg->sba_output_fmt = AMBI_FMT_ACN_SN3D;

            /* SBA configuration */
            if ( i < argc - 4 && is_number( argv[i] ) && sscanf( argv[i], "%d", &tmp ) > 0 )
            {
                i++;
            }
            else
            {
                tmp = -1; /* this is to avoid a compilation warning */
                fprintf( stderr, "Error: SBA input convention must be specified, expecting a number!\n\n" );
                usage_dec();
                return false;
            }
            arg->sba_output_fmt = tmp;
        }
#endif
        else if ( strcmp( argv_to_upper, "-MIME" ) == 0 )
        {
            arg->inputFormat = IVAS_DEC_INPUT_FORMAT_MIME;
+10 −6
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@
#include "cnst.h"
#include "ivas_cnst.h"
#include "stat_dec.h"
#include "ambi_convert.h"
#include "ivas_stat_com.h"
#include "ivas_stat_rend.h"

@@ -1016,6 +1017,9 @@ typedef struct decoder_config_structure
    int16_t Opt_Headrotation;                    /* indicates whether head-rotation is used */
    int16_t Opt_RendConfigCustom;                /* indicates whether Renderer configuration custom setup is used */
    IVAS_HEAD_ORIENT_TRK_T orientation_tracking; /* indicates orientation tracking type */
#ifdef AMBISONICS_CONVENTIONS
    AMBI_FMT sba_output_fmt;
#endif
    int16_t Opt_non_diegetic_pan;    /* indicates diegetic or not */
    float non_diegetic_pan_gain;     /* non diegetic panning gain*/
    int16_t Opt_AMR_WB;              /* flag indicating AMR-WB IO mode */
Loading