Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ #define NON_DIEGETIC_PAN #define FIX_CRASH_EVS_BITSTREAM_WITH_OUTPUT //#define ISM_NON_DIEGETIC_PAN #define ISM_NON_DIEGETIC_PAN #define ISM_BUG_FIX #define FIX_MDCT_BASED_BWD /* FhG: fixes for BWD for issues with reaction to transients for MDCT-stereo and MCT */ Loading lib_util/ism_file_reader.c +29 −9 Original line number Diff line number Diff line Loading @@ -34,15 +34,18 @@ #include "cmdl_tools.h" #include <stdlib.h> #include <string.h> #ifdef ISM_NON_DIEGETIC_PAN #include <math.h> #include <cnst.h> #endif #define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ #define NUM_ISM_METADATA_PER_LINE 7 /* Number of ISM metadata per line in a metadata file */ #ifdef ISM_NON_DIEGETIC_PAN #define NUM_MIN_ISM_METADATA 1 /* Minimum number of metadata parameters (azimuth and elevation) */ #define NUM_ISM_METADATA_PER_LINE 8 /* Number of ISM metadata per line in a metadata file */ #else #define NUM_MIN_ISM_METADATA 5 /* Number of ISM metadata per line in a metadata file */ #define NUM_ISM_METADATA_PER_LINE 7 /* Number of ISM metadata per line in a metadata file */ #endif #define NUM_MIN_ISM_METADATA 2 /* Minimum number of metadata parameters (azimuth and elevation) */ #ifdef ISM_NON_DIEGETIC_PAN #define TYPE_ISM_METADATA_SOURCE 1 #define TYPE_ISM_METADATA_NON_DIEGETIC_PAN 2 Loading Loading @@ -104,7 +107,11 @@ ivas_error IsmFileReader_readNextFrame( { char char_buff[META_LINE_LENGTH]; float meta_prm[NUM_ISM_METADATA_PER_LINE]; #ifdef ISM_NON_DIEGETIC_PAN const float meta_prm_default[NUM_ISM_METADATA_PER_LINE] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, FLT_MAX }; #else const float meta_prm_default[NUM_ISM_METADATA_PER_LINE] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f }; #endif char *char_ptr; int16_t i; FILE *file; Loading Loading @@ -151,17 +158,29 @@ ivas_error IsmFileReader_readNextFrame( } #ifdef ISM_NON_DIEGETIC_PAN if ( i == 1 ) if ( fabs( meta_prm[NUM_ISM_METADATA_PER_LINE - 1] ) <= 1.f ) { ismMetadata->metadata_flag = TYPE_ISM_METADATA_NON_DIEGETIC_PAN; ismMetadata->azimuth = meta_prm[NUM_ISM_METADATA_PER_LINE - 1]; ismMetadata->elevation = meta_prm_default[1]; ismMetadata->radius = meta_prm_default[2]; ismMetadata->spread = meta_prm_default[3]; ismMetadata->gainFactor = meta_prm_default[4]; ismMetadata->yaw = meta_prm_default[5]; ismMetadata->pitch = meta_prm_default[6]; } else { ismMetadata->metadata_flag = TYPE_ISM_METADATA_SOURCE; ismMetadata->azimuth = meta_prm[0]; ismMetadata->elevation = meta_prm[1]; ismMetadata->radius = meta_prm[2]; ismMetadata->spread = meta_prm[3]; ismMetadata->gainFactor = meta_prm[4]; ismMetadata->yaw = meta_prm[5]; ismMetadata->pitch = meta_prm[6]; } #endif #else ismMetadata->azimuth = meta_prm[0]; ismMetadata->elevation = meta_prm[1]; ismMetadata->radius = meta_prm[2]; Loading @@ -169,6 +188,7 @@ ivas_error IsmFileReader_readNextFrame( ismMetadata->gainFactor = meta_prm[4]; ismMetadata->yaw = meta_prm[5]; ismMetadata->pitch = meta_prm[6]; #endif /* verify whether the read metadata values are in an expected range */ #ifdef ISM_NON_DIEGETIC_PAN Loading Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ #define NON_DIEGETIC_PAN #define FIX_CRASH_EVS_BITSTREAM_WITH_OUTPUT //#define ISM_NON_DIEGETIC_PAN #define ISM_NON_DIEGETIC_PAN #define ISM_BUG_FIX #define FIX_MDCT_BASED_BWD /* FhG: fixes for BWD for issues with reaction to transients for MDCT-stereo and MCT */ Loading
lib_util/ism_file_reader.c +29 −9 Original line number Diff line number Diff line Loading @@ -34,15 +34,18 @@ #include "cmdl_tools.h" #include <stdlib.h> #include <string.h> #ifdef ISM_NON_DIEGETIC_PAN #include <math.h> #include <cnst.h> #endif #define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ #define NUM_ISM_METADATA_PER_LINE 7 /* Number of ISM metadata per line in a metadata file */ #ifdef ISM_NON_DIEGETIC_PAN #define NUM_MIN_ISM_METADATA 1 /* Minimum number of metadata parameters (azimuth and elevation) */ #define NUM_ISM_METADATA_PER_LINE 8 /* Number of ISM metadata per line in a metadata file */ #else #define NUM_MIN_ISM_METADATA 5 /* Number of ISM metadata per line in a metadata file */ #define NUM_ISM_METADATA_PER_LINE 7 /* Number of ISM metadata per line in a metadata file */ #endif #define NUM_MIN_ISM_METADATA 2 /* Minimum number of metadata parameters (azimuth and elevation) */ #ifdef ISM_NON_DIEGETIC_PAN #define TYPE_ISM_METADATA_SOURCE 1 #define TYPE_ISM_METADATA_NON_DIEGETIC_PAN 2 Loading Loading @@ -104,7 +107,11 @@ ivas_error IsmFileReader_readNextFrame( { char char_buff[META_LINE_LENGTH]; float meta_prm[NUM_ISM_METADATA_PER_LINE]; #ifdef ISM_NON_DIEGETIC_PAN const float meta_prm_default[NUM_ISM_METADATA_PER_LINE] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, FLT_MAX }; #else const float meta_prm_default[NUM_ISM_METADATA_PER_LINE] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f }; #endif char *char_ptr; int16_t i; FILE *file; Loading Loading @@ -151,17 +158,29 @@ ivas_error IsmFileReader_readNextFrame( } #ifdef ISM_NON_DIEGETIC_PAN if ( i == 1 ) if ( fabs( meta_prm[NUM_ISM_METADATA_PER_LINE - 1] ) <= 1.f ) { ismMetadata->metadata_flag = TYPE_ISM_METADATA_NON_DIEGETIC_PAN; ismMetadata->azimuth = meta_prm[NUM_ISM_METADATA_PER_LINE - 1]; ismMetadata->elevation = meta_prm_default[1]; ismMetadata->radius = meta_prm_default[2]; ismMetadata->spread = meta_prm_default[3]; ismMetadata->gainFactor = meta_prm_default[4]; ismMetadata->yaw = meta_prm_default[5]; ismMetadata->pitch = meta_prm_default[6]; } else { ismMetadata->metadata_flag = TYPE_ISM_METADATA_SOURCE; ismMetadata->azimuth = meta_prm[0]; ismMetadata->elevation = meta_prm[1]; ismMetadata->radius = meta_prm[2]; ismMetadata->spread = meta_prm[3]; ismMetadata->gainFactor = meta_prm[4]; ismMetadata->yaw = meta_prm[5]; ismMetadata->pitch = meta_prm[6]; } #endif #else ismMetadata->azimuth = meta_prm[0]; ismMetadata->elevation = meta_prm[1]; ismMetadata->radius = meta_prm[2]; Loading @@ -169,6 +188,7 @@ ivas_error IsmFileReader_readNextFrame( ismMetadata->gainFactor = meta_prm[4]; ismMetadata->yaw = meta_prm[5]; ismMetadata->pitch = meta_prm[6]; #endif /* verify whether the read metadata values are in an expected range */ #ifdef ISM_NON_DIEGETIC_PAN Loading