diff options
Diffstat (limited to 'decoder/drc_src/impd_drc_api.c')
-rw-r--r-- | decoder/drc_src/impd_drc_api.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/decoder/drc_src/impd_drc_api.c b/decoder/drc_src/impd_drc_api.c index 7121a71..d31c93f 100644 --- a/decoder/drc_src/impd_drc_api.c +++ b/decoder/drc_src/impd_drc_api.c @@ -222,32 +222,26 @@ IA_ERRORCODE ia_drc_dec_api(pVOID p_ia_drc_dec_obj, WORD32 i_cmd, WORD32 i_idx, break; } case IA_CMD_TYPE_INIT_CPY_IC_BSF_BUFF: { - memcpy(p_obj_drc->str_bit_handler.bitstream_drc_config + - p_obj_drc->str_bit_handler.num_bytes_bs_drc_config, + memcpy(p_obj_drc->str_bit_handler.bitstream_drc_config, p_obj_drc->pp_mem[2], p_obj_drc->str_bit_handler.num_byts_cur_ic); p_obj_drc->str_bit_handler.num_bytes_bs_drc_config = - p_obj_drc->str_bit_handler.num_bytes_bs_drc_config + p_obj_drc->str_bit_handler.num_byts_cur_ic; break; } case IA_CMD_TYPE_INIT_CPY_IL_BSF_BUFF: { - memcpy(p_obj_drc->str_bit_handler.bitstream_loudness_info + - p_obj_drc->str_bit_handler.num_bytes_bs_loudness_info, + memcpy(p_obj_drc->str_bit_handler.bitstream_loudness_info, p_obj_drc->pp_mem[2], p_obj_drc->str_bit_handler.num_byts_cur_il); p_obj_drc->str_bit_handler.num_bytes_bs_loudness_info = - p_obj_drc->str_bit_handler.num_bytes_bs_loudness_info + p_obj_drc->str_bit_handler.num_byts_cur_il; break; } case IA_CMD_TYPE_INIT_CPY_IN_BSF_BUFF: { - memcpy(p_obj_drc->str_bit_handler.bitstream_unidrc_interface + - p_obj_drc->str_bit_handler.num_bytes_bs_unidrc_interface, + memcpy(p_obj_drc->str_bit_handler.bitstream_unidrc_interface, p_obj_drc->pp_mem[2], p_obj_drc->str_bit_handler.num_byts_cur_in); p_obj_drc->str_bit_handler.num_bytes_bs_unidrc_interface = - p_obj_drc->str_bit_handler.num_bytes_bs_unidrc_interface + p_obj_drc->str_bit_handler.num_byts_cur_in; break; } @@ -271,7 +265,7 @@ IA_ERRORCODE ia_drc_dec_api(pVOID p_ia_drc_dec_obj, WORD32 i_cmd, WORD32 i_idx, break; } case IA_DRC_DEC_CONFIG_DRC_TARGET_LOUDNESS: { - *pi_value = p_obj_drc->str_payload.pstr_loudness_info->loudness_info + *pi_value = (WORD32)p_obj_drc->str_payload.pstr_loudness_info->loudness_info ->loudness_measure->method_val; if (*pi_value < -1) *pi_value = *pi_value * -4; @@ -291,6 +285,14 @@ IA_ERRORCODE ia_drc_dec_api(pVOID p_ia_drc_dec_obj, WORD32 i_cmd, WORD32 i_idx, p_obj_drc->str_config.sampling_rate = *pus_value; break; } + case IA_DRC_DEC_CONFIG_PARAM_APPLY_CROSSFADE: { + p_obj_drc->str_config.apply_crossfade = *pus_value; + break; + } + case IA_DRC_DEC_CONFIG_PARAM_CONFIG_CHANGED: { + p_obj_drc->str_config.is_config_changed = *pus_value; + break; + } case IA_DRC_DEC_CONFIG_PARAM_NUM_CHANNELS: { p_obj_drc->str_config.num_ch_in = *pus_value; if (*pus_value < 1 || *pus_value > MAX_CHANNEL_COUNT) { @@ -351,10 +353,12 @@ IA_ERRORCODE ia_drc_dec_api(pVOID p_ia_drc_dec_obj, WORD32 i_cmd, WORD32 i_idx, } case IA_DRC_DEC_CONFIG_DRC_BOOST: { p_obj_drc->str_config.boost = (*pf_value); + p_obj_drc->str_config.boost_set = 1; break; } case IA_DRC_DEC_CONFIG_DRC_COMPRESS: { p_obj_drc->str_config.compress = (*pf_value); + p_obj_drc->str_config.compress_set = 1; break; } default: { return -1; } |