Loading lib_com/ivas_cnst.h +3 −3 Original line number Diff line number Diff line Loading @@ -1203,10 +1203,10 @@ enum #define MASA_LIMIT_NO_BANDS_SUR_COH 8 #define MINIMUM_BIT_BUDGET_NORMAL_META 100 #ifdef HODIRAC #define DIFF_DFRATIO_2BIT_LIMIT_IDX 4 #else #define DIFF_DFRATIO_2BIT_LIMIT_IDX 3 #define DIFF_DFRATIO_2BIT_LIMIT_IDX_HODIRAC 4 #endif #define DIFF_DFRATIO_2BIT_LIMIT_IDX 3 #define DIFF_DFRATIO_1BIT_LIMIT_IDX 6 #define DIFF_EC_HUFF_BAND_LIMIT 8 #define DIFF_EC_HUFF_GR0_LIMIT 8 Loading lib_com/ivas_prot.h +7 −0 Original line number Diff line number Diff line Loading @@ -4708,6 +4708,13 @@ void ivas_set_qmetadata_maxbit_req( const IVAS_FORMAT ivas_format /* i : IVAS format */ ); #ifdef HODIRAC /*! r: Bits to be used for quantizing distribution ratio of direct-to-total ratios */ int16_t ivas_get_df_ratio_bits_hodirac( int16_t index_diff /* i : Index of quantized diffuse-to-total ratio */ ); #endif /*! r: Bits to be used for quantizing distribution ratio of direct-to-total ratios */ int16_t ivas_get_df_ratio_bits( int16_t index_diff /* i : Index of quantized diffuse-to-total ratio */ Loading lib_com/ivas_qmetadata_com.c +24 −0 Original line number Diff line number Diff line Loading @@ -626,6 +626,30 @@ void ivas_qmetadata_direction_vector_to_azimuth_elevation( return; } #ifdef HODIRAC /*! r: bits to be used for quantizing ratio of ratios */ int16_t ivas_get_df_ratio_bits_hodirac( int16_t index_diff /* i : index of quantized diffuse-to-total ratio */ ) { int16_t dfRatio_bits; if ( index_diff >= DIFF_DFRATIO_1BIT_LIMIT_IDX ) { dfRatio_bits = 1; } else if ( index_diff >= DIFF_DFRATIO_2BIT_LIMIT_IDX_HODIRAC ) { dfRatio_bits = 2; } else { dfRatio_bits = 3; } return dfRatio_bits; } #endif /*--------------------------------------------------------------- * ivas_get_df_ratio_bits() Loading lib_enc/ivas_qmetadata_enc.c +19 −10 Original line number Diff line number Diff line Loading @@ -1116,7 +1116,16 @@ static void ivas_qmetadata_quantize_diffuseness_nrg_ratios( index_diff = masa_sq( diffRatio, diffuseness_thresholds, DIRAC_DIFFUSE_LEVELS ); diffRatioQ = diffuseness_reconstructions[index_diff]; #ifdef HODIRAC if ( hodirac ) { dfRatio_bits = ivas_get_df_ratio_bits_hodirac( index_diff ); } else #endif { dfRatio_bits = ivas_get_df_ratio_bits( index_diff ); } dfRatioBits[dir2band] = dfRatio_bits; Loading Loading
lib_com/ivas_cnst.h +3 −3 Original line number Diff line number Diff line Loading @@ -1203,10 +1203,10 @@ enum #define MASA_LIMIT_NO_BANDS_SUR_COH 8 #define MINIMUM_BIT_BUDGET_NORMAL_META 100 #ifdef HODIRAC #define DIFF_DFRATIO_2BIT_LIMIT_IDX 4 #else #define DIFF_DFRATIO_2BIT_LIMIT_IDX 3 #define DIFF_DFRATIO_2BIT_LIMIT_IDX_HODIRAC 4 #endif #define DIFF_DFRATIO_2BIT_LIMIT_IDX 3 #define DIFF_DFRATIO_1BIT_LIMIT_IDX 6 #define DIFF_EC_HUFF_BAND_LIMIT 8 #define DIFF_EC_HUFF_GR0_LIMIT 8 Loading
lib_com/ivas_prot.h +7 −0 Original line number Diff line number Diff line Loading @@ -4708,6 +4708,13 @@ void ivas_set_qmetadata_maxbit_req( const IVAS_FORMAT ivas_format /* i : IVAS format */ ); #ifdef HODIRAC /*! r: Bits to be used for quantizing distribution ratio of direct-to-total ratios */ int16_t ivas_get_df_ratio_bits_hodirac( int16_t index_diff /* i : Index of quantized diffuse-to-total ratio */ ); #endif /*! r: Bits to be used for quantizing distribution ratio of direct-to-total ratios */ int16_t ivas_get_df_ratio_bits( int16_t index_diff /* i : Index of quantized diffuse-to-total ratio */ Loading
lib_com/ivas_qmetadata_com.c +24 −0 Original line number Diff line number Diff line Loading @@ -626,6 +626,30 @@ void ivas_qmetadata_direction_vector_to_azimuth_elevation( return; } #ifdef HODIRAC /*! r: bits to be used for quantizing ratio of ratios */ int16_t ivas_get_df_ratio_bits_hodirac( int16_t index_diff /* i : index of quantized diffuse-to-total ratio */ ) { int16_t dfRatio_bits; if ( index_diff >= DIFF_DFRATIO_1BIT_LIMIT_IDX ) { dfRatio_bits = 1; } else if ( index_diff >= DIFF_DFRATIO_2BIT_LIMIT_IDX_HODIRAC ) { dfRatio_bits = 2; } else { dfRatio_bits = 3; } return dfRatio_bits; } #endif /*--------------------------------------------------------------- * ivas_get_df_ratio_bits() Loading
lib_enc/ivas_qmetadata_enc.c +19 −10 Original line number Diff line number Diff line Loading @@ -1116,7 +1116,16 @@ static void ivas_qmetadata_quantize_diffuseness_nrg_ratios( index_diff = masa_sq( diffRatio, diffuseness_thresholds, DIRAC_DIFFUSE_LEVELS ); diffRatioQ = diffuseness_reconstructions[index_diff]; #ifdef HODIRAC if ( hodirac ) { dfRatio_bits = ivas_get_df_ratio_bits_hodirac( index_diff ); } else #endif { dfRatio_bits = ivas_get_df_ratio_bits( index_diff ); } dfRatioBits[dir2band] = dfRatio_bits; Loading