Loading lib_com/ivas_cnst.h +8 −1 Original line number Diff line number Diff line Loading @@ -1204,6 +1204,13 @@ typedef enum MASA_STEREO_DOWNMIX } MASA_TRANSPORT_SIGNAL_TYPE; #ifdef FIX_382_MASA_META_FRAMING_ASYNC typedef enum { MASA_FRAME_1SF, MASA_FRAME_4SF } MASA_FRAME_MODE; #endif /*----------------------------------------------------------------------------------* * Multichannel format Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ #define DISCRETE_ISM_DTX_CNG /* FhG/VA: contribution 15 - DTX/CNG for (discrete) ISM */ #define NCHAN_ISM_PARAMETER /* VA: make 'nchan_ism' parameter part of st_ivas/hEncoderConfig */ #define FIX_382_MASA_META_FRAMING_ASYNC /* Nokia: Issue 382: detect potential MASA metadata framing offset */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_enc/ivas_enc.c +6 −3 Original line number Diff line number Diff line Loading @@ -227,13 +227,16 @@ ivas_error ivas_enc( } else { #ifdef FIX_382_MASA_META_FRAMING_ASYNC ivas_masa_estimate_energy( st_ivas->hMasa, data_f, input_frame, st_ivas->nchan_transport ); /* energy-estimation uses TF-resolution: 4x24 */ #endif if ( ( error = ivas_masa_enc_config( st_ivas ) ) != IVAS_ERR_OK ) { return error; } ivas_masa_estimate_energy( st_ivas->hMasa, data_f, input_frame, st_ivas->nchan_transport ); #ifndef FIX_382_MASA_META_FRAMING_ASYNC ivas_masa_estimate_energy( st_ivas->hMasa, data_f, input_frame, st_ivas->nchan_transport ); /* energy-estimation uses TF-resolution: 4x24 */ #endif if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, &nb_bits_metadata[0], st_ivas->nchan_transport, ivas_format, ivas_total_brate, hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1 ) ) != IVAS_ERR_OK ) { Loading lib_enc/ivas_masa_enc.c +459 −11 File changed.Preview size limit exceeded, changes collapsed. Show changes lib_enc/ivas_stat_enc.h +14 −0 Original line number Diff line number Diff line Loading @@ -740,6 +740,17 @@ typedef struct ivas_param_mc_enc_data_structure * MASA encoder structures *----------------------------------------------------------------------------------*/ #ifdef FIX_382_MASA_META_FRAMING_ASYNC /* structure storing MASA framing sync detection and compensation data */ typedef struct ivas_masa_sync_struct { MASA_METADATA_FRAME previous_metadata; uint8_t prev_sim_stop; uint8_t prev_offset; MASA_FRAME_MODE frame_mode; } MASA_SYNC_STATE, *MASA_SYNC_HANDLE; #endif typedef struct ivas_masa_encoder_data_struct { float energy[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; Loading @@ -759,6 +770,9 @@ typedef struct ivas_masa_encoder_data_struct float onset_detector_1; float onset_detector_2; #ifdef FIX_382_MASA_META_FRAMING_ASYNC MASA_SYNC_STATE sync_state; #endif } MASA_ENCODER_DATA; typedef struct ivas_masa_encoder_struct Loading Loading
lib_com/ivas_cnst.h +8 −1 Original line number Diff line number Diff line Loading @@ -1204,6 +1204,13 @@ typedef enum MASA_STEREO_DOWNMIX } MASA_TRANSPORT_SIGNAL_TYPE; #ifdef FIX_382_MASA_META_FRAMING_ASYNC typedef enum { MASA_FRAME_1SF, MASA_FRAME_4SF } MASA_FRAME_MODE; #endif /*----------------------------------------------------------------------------------* * Multichannel format Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ #define DISCRETE_ISM_DTX_CNG /* FhG/VA: contribution 15 - DTX/CNG for (discrete) ISM */ #define NCHAN_ISM_PARAMETER /* VA: make 'nchan_ism' parameter part of st_ivas/hEncoderConfig */ #define FIX_382_MASA_META_FRAMING_ASYNC /* Nokia: Issue 382: detect potential MASA metadata framing offset */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_enc/ivas_enc.c +6 −3 Original line number Diff line number Diff line Loading @@ -227,13 +227,16 @@ ivas_error ivas_enc( } else { #ifdef FIX_382_MASA_META_FRAMING_ASYNC ivas_masa_estimate_energy( st_ivas->hMasa, data_f, input_frame, st_ivas->nchan_transport ); /* energy-estimation uses TF-resolution: 4x24 */ #endif if ( ( error = ivas_masa_enc_config( st_ivas ) ) != IVAS_ERR_OK ) { return error; } ivas_masa_estimate_energy( st_ivas->hMasa, data_f, input_frame, st_ivas->nchan_transport ); #ifndef FIX_382_MASA_META_FRAMING_ASYNC ivas_masa_estimate_energy( st_ivas->hMasa, data_f, input_frame, st_ivas->nchan_transport ); /* energy-estimation uses TF-resolution: 4x24 */ #endif if ( ( error = ivas_masa_encode( st_ivas->hMasa, st_ivas->hQMetaData, hMetaData, &nb_bits_metadata[0], st_ivas->nchan_transport, ivas_format, ivas_total_brate, hEncoderConfig->Opt_DTX_ON, st_ivas->nchan_transport == 2 ? st_ivas->hCPE[0]->element_mode : -1 ) ) != IVAS_ERR_OK ) { Loading
lib_enc/ivas_masa_enc.c +459 −11 File changed.Preview size limit exceeded, changes collapsed. Show changes
lib_enc/ivas_stat_enc.h +14 −0 Original line number Diff line number Diff line Loading @@ -740,6 +740,17 @@ typedef struct ivas_param_mc_enc_data_structure * MASA encoder structures *----------------------------------------------------------------------------------*/ #ifdef FIX_382_MASA_META_FRAMING_ASYNC /* structure storing MASA framing sync detection and compensation data */ typedef struct ivas_masa_sync_struct { MASA_METADATA_FRAME previous_metadata; uint8_t prev_sim_stop; uint8_t prev_offset; MASA_FRAME_MODE frame_mode; } MASA_SYNC_STATE, *MASA_SYNC_HANDLE; #endif typedef struct ivas_masa_encoder_data_struct { float energy[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; Loading @@ -759,6 +770,9 @@ typedef struct ivas_masa_encoder_data_struct float onset_detector_1; float onset_detector_2; #ifdef FIX_382_MASA_META_FRAMING_ASYNC MASA_SYNC_STATE sync_state; #endif } MASA_ENCODER_DATA; typedef struct ivas_masa_encoder_struct Loading