Loading Workspace_msvc/renderer_configs/split_renderer_config_768_3dof_tdposecorr.txt 0 → 100644 +11 −0 Original line number Diff line number Diff line [SPLITREND] BITRATE = 768000; DOF = 3; HQMODE = 0; POSECORRECTIONMODE = 1; [GENERAL] RENDERER = CREND; [ROOMACOUSTICS] REVERB = FALSE; lib_com/ivas_cnst.h +12 −0 Original line number Diff line number Diff line Loading @@ -1384,8 +1384,16 @@ typedef enum #define SPLIT_REND_MAX_ONE_AXIS_MD_POSES (2) #define MAX_EXTRAPOLATION_ANGLE (15.0f) /* this means additional 15 degrees can be extrapolated on top of MD probing poses*/ #ifdef SPLIT_REND_LC3PLUS #define SPLIT_REND_MAX_DOF (3) #endif #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef SPLIT_REND_LC3PLUS #define MAX_HEAD_ROT_POSES (2 + SPLIT_REND_MAX_YAW_ONLY_POSES + SPLIT_REND_MAX_PITCH_ONLY_POSES + SPLIT_REND_MAX_ROLL_ONLY_POSES) /* TODO tmu : revisit for harmonization */ #else #define MAX_HEAD_ROT_POSES (1 + SPLIT_REND_MAX_YAW_ONLY_POSES + SPLIT_REND_MAX_PITCH_ONLY_POSES + SPLIT_REND_MAX_ROLL_ONLY_POSES) #endif #else #define MAX_HEAD_ROT_POSES (1 + SPLIT_REND_MAX_YAW_ONLY_POSES) #endif Loading Loading @@ -1456,7 +1464,11 @@ typedef enum #define SFX_SPAT_BIN_NUM_SUBSAMPLES 64 #define ITD_MEM_LEN (MAX_ITD + SFX_SPAT_BIN_SINC_M) #define L_SUBFRAME5MS_48k (L_FRAME48k/4) #if 1 #define MAX_ANGULAR_STEP (0.01f) #else #define MAX_ANGULAR_STEP (15.0f) #endif #define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) #define MAX_INTERPOLATION_STEPS 12 #define BINAURAL_TD_LATENCY_S 0.0f /* ITD fix removes TD renderer delay -- should be cleaned out */ Loading lib_com/ivas_error.h +7 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,9 @@ typedef enum IVAS_ERR_INVALID_INPUT_ID, IVAS_ERR_WRONG_NUM_CHANNELS, IVAS_ERR_INVALID_BUFFER_SIZE, #ifdef SPLIT_REND_LC3PLUS IVAS_ERR_LC3PLUS_INVALID_BITRATE, #endif /*----------------------------------------* * unknown error * Loading Loading @@ -184,6 +187,10 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Parse error"; case IVAS_ERR_END_OF_FILE: return "End of file"; #ifdef SPLIT_REND_LC3PLUS case IVAS_ERR_LC3PLUS_INVALID_BITRATE: return "Specified split rendering bit rate is not supported by LC3plus"; #endif default: break; } Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,8 @@ #define SPLIT_REND_LC3PLUS /* FhG: split rendering using LC3plus codec */ #define SPLIT_REND_TD_POSE_CORRECTION /* FhG: split rendering using LC3plus codec and time-domain pose correction */ #define FIX_SPLIT_REND_OPEN_ERROR_HANDLING /* adds missing error handling around ivas_split_renderer_open calls */ #endif #define RENAME_GWLPR /* FhG: Rename clashing symbol */ Loading lib_dec/ivas_init_dec.c +21 −1 Original line number Diff line number Diff line Loading @@ -1173,9 +1173,19 @@ ivas_error ivas_init_decoder( #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CLDFB ) { #ifdef FIX_SPLIT_REND_OPEN_ERROR_HANDLING error = ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 1, 0 ); if(error != IVAS_ERR_OK) { return error; } #else ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 1, 0 ); #endif } #endif } Loading Loading @@ -1222,10 +1232,20 @@ ivas_error ivas_init_decoder( st_ivas->hHeadTrackData->sr_pose_pred_axis ); } #endif #ifdef FIX_SPLIT_REND_OPEN_ERROR_HANDLING error = ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 0, 0 ); if(error != IVAS_ERR_OK) { return error; } #else ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 0, 0 ); #endif } #endif } Loading Loading
Workspace_msvc/renderer_configs/split_renderer_config_768_3dof_tdposecorr.txt 0 → 100644 +11 −0 Original line number Diff line number Diff line [SPLITREND] BITRATE = 768000; DOF = 3; HQMODE = 0; POSECORRECTIONMODE = 1; [GENERAL] RENDERER = CREND; [ROOMACOUSTICS] REVERB = FALSE;
lib_com/ivas_cnst.h +12 −0 Original line number Diff line number Diff line Loading @@ -1384,8 +1384,16 @@ typedef enum #define SPLIT_REND_MAX_ONE_AXIS_MD_POSES (2) #define MAX_EXTRAPOLATION_ANGLE (15.0f) /* this means additional 15 degrees can be extrapolated on top of MD probing poses*/ #ifdef SPLIT_REND_LC3PLUS #define SPLIT_REND_MAX_DOF (3) #endif #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef SPLIT_REND_LC3PLUS #define MAX_HEAD_ROT_POSES (2 + SPLIT_REND_MAX_YAW_ONLY_POSES + SPLIT_REND_MAX_PITCH_ONLY_POSES + SPLIT_REND_MAX_ROLL_ONLY_POSES) /* TODO tmu : revisit for harmonization */ #else #define MAX_HEAD_ROT_POSES (1 + SPLIT_REND_MAX_YAW_ONLY_POSES + SPLIT_REND_MAX_PITCH_ONLY_POSES + SPLIT_REND_MAX_ROLL_ONLY_POSES) #endif #else #define MAX_HEAD_ROT_POSES (1 + SPLIT_REND_MAX_YAW_ONLY_POSES) #endif Loading Loading @@ -1456,7 +1464,11 @@ typedef enum #define SFX_SPAT_BIN_NUM_SUBSAMPLES 64 #define ITD_MEM_LEN (MAX_ITD + SFX_SPAT_BIN_SINC_M) #define L_SUBFRAME5MS_48k (L_FRAME48k/4) #if 1 #define MAX_ANGULAR_STEP (0.01f) #else #define MAX_ANGULAR_STEP (15.0f) #endif #define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) #define MAX_INTERPOLATION_STEPS 12 #define BINAURAL_TD_LATENCY_S 0.0f /* ITD fix removes TD renderer delay -- should be cleaned out */ Loading
lib_com/ivas_error.h +7 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,9 @@ typedef enum IVAS_ERR_INVALID_INPUT_ID, IVAS_ERR_WRONG_NUM_CHANNELS, IVAS_ERR_INVALID_BUFFER_SIZE, #ifdef SPLIT_REND_LC3PLUS IVAS_ERR_LC3PLUS_INVALID_BITRATE, #endif /*----------------------------------------* * unknown error * Loading Loading @@ -184,6 +187,10 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Parse error"; case IVAS_ERR_END_OF_FILE: return "End of file"; #ifdef SPLIT_REND_LC3PLUS case IVAS_ERR_LC3PLUS_INVALID_BITRATE: return "Specified split rendering bit rate is not supported by LC3plus"; #endif default: break; } Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,8 @@ #define SPLIT_REND_LC3PLUS /* FhG: split rendering using LC3plus codec */ #define SPLIT_REND_TD_POSE_CORRECTION /* FhG: split rendering using LC3plus codec and time-domain pose correction */ #define FIX_SPLIT_REND_OPEN_ERROR_HANDLING /* adds missing error handling around ivas_split_renderer_open calls */ #endif #define RENAME_GWLPR /* FhG: Rename clashing symbol */ Loading
lib_dec/ivas_init_dec.c +21 −1 Original line number Diff line number Diff line Loading @@ -1173,9 +1173,19 @@ ivas_error ivas_init_decoder( #ifdef SPLIT_REND_WITH_HEAD_ROT if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_SPLIT_CLDFB ) { #ifdef FIX_SPLIT_REND_OPEN_ERROR_HANDLING error = ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 1, 0 ); if(error != IVAS_ERR_OK) { return error; } #else ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 1, 0 ); #endif } #endif } Loading Loading @@ -1222,10 +1232,20 @@ ivas_error ivas_init_decoder( st_ivas->hHeadTrackData->sr_pose_pred_axis ); } #endif #ifdef FIX_SPLIT_REND_OPEN_ERROR_HANDLING error = ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 0, 0 ); if(error != IVAS_ERR_OK) { return error; } #else ivas_split_renderer_open( &st_ivas->splitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, hDecoderConfig->output_Fs, 0, 0 ); #endif } #endif } Loading