aboutsummaryrefslogtreecommitdiff
path: root/decoder/drc_src/impd_drc_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'decoder/drc_src/impd_drc_api.c')
-rw-r--r--decoder/drc_src/impd_drc_api.c24
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; }