Update Boost and attenuation values for MPEG-D DRC
Extend API Support to change MPEG-D DRC values for boost and attenuation from plugin. Bug: 175435457 Test: atest CtsMediaTestCases:DecoderTest Test: atest CtsMediaTestCases:DecoderTestAacDrc Test: atest CtsMediaTestCases:DecoderTestXheAac Test: atest CtsMediaTestCases:DecoderTestAacFormat Test: atest CtsMediaV2TestCases:CodecDecoderTest
This commit is contained in:
parent
ebe61f8ba1
commit
a281ecf0cd
6 changed files with 28 additions and 13 deletions
|
|
@ -19,7 +19,6 @@
|
|||
*/
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "impd_type_def.h"
|
||||
#include "impd_error_standards.h"
|
||||
#include "impd_apicmd_standards.h"
|
||||
|
|
@ -109,6 +108,7 @@ IA_ERRORCODE ia_drc_dec_api(pVOID p_ia_drc_dec_obj, WORD32 i_cmd, WORD32 i_idx,
|
|||
pWORD8 pb_value = pv_value;
|
||||
SIZE_T *ps_value = pv_value;
|
||||
pWORD32 pi_value = pv_value;
|
||||
float *pf_value = pv_value;
|
||||
|
||||
switch (i_cmd) {
|
||||
case IA_API_CMD_GET_MEM_INFO_SIZE:
|
||||
|
|
@ -349,6 +349,14 @@ IA_ERRORCODE ia_drc_dec_api(pVOID p_ia_drc_dec_obj, WORD32 i_cmd, WORD32 i_idx,
|
|||
p_obj_drc->str_config.album_mode = *pus_value;
|
||||
break;
|
||||
}
|
||||
case IA_DRC_DEC_CONFIG_DRC_BOOST: {
|
||||
p_obj_drc->str_config.boost = (*pf_value);
|
||||
break;
|
||||
}
|
||||
case IA_DRC_DEC_CONFIG_DRC_COMPRESS: {
|
||||
p_obj_drc->str_config.compress = (*pf_value);
|
||||
break;
|
||||
}
|
||||
default: { return -1; }
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -56,6 +56,8 @@ typedef struct ia_drc_config_struct {
|
|||
WORD32 target_loudness;
|
||||
WORD32 loud_norm_flag;
|
||||
WORD32 album_mode;
|
||||
FLOAT32 boost;
|
||||
FLOAT32 compress;
|
||||
|
||||
} ia_drc_config_struct;
|
||||
|
||||
|
|
|
|||
|
|
@ -42,4 +42,6 @@
|
|||
#define IA_DRC_DEC_CONFIG_DRC_TARGET_LOUDNESS 0x0012
|
||||
#define IA_DRC_DEC_CONFIG_DRC_LOUD_NORM 0x0013
|
||||
#define IA_DRC_DEC_CONFIG_DRC_ALBUM_MODE 0x0014
|
||||
#define IA_DRC_DEC_CONFIG_DRC_BOOST 0x0015
|
||||
#define IA_DRC_DEC_CONFIG_DRC_COMPRESS 0x0016
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -59,7 +59,8 @@ impd_drc_dec_interface_process(ia_bit_buf_struct *it_bit_buff,
|
|||
WORD32
|
||||
impd_drc_dec_interface_add_effect_type(
|
||||
ia_drc_interface_struct *pstr_drc_interface, WORD32 drc_effect_type,
|
||||
WORD32 target_loudness, WORD32 loud_norm, WORD32 album_mode);
|
||||
WORD32 target_loudness, WORD32 loud_norm, WORD32 album_mode, FLOAT32 boost,
|
||||
FLOAT32 compress);
|
||||
|
||||
#define BITSTREAM_FILE_FORMAT_SPLIT 1
|
||||
#define LIM_DEFAULT_THRESHOLD (0.89125094f)
|
||||
|
|
@ -412,7 +413,8 @@ IA_ERRORCODE impd_drc_init(ia_drc_api_struct *p_obj_drc) {
|
|||
err_code = impd_drc_dec_interface_add_effect_type(
|
||||
p_obj_drc->str_payload.pstr_drc_interface,
|
||||
p_obj_drc->str_config.effect_type, p_obj_drc->str_config.target_loudness,
|
||||
p_obj_drc->str_config.loud_norm_flag, p_obj_drc->str_config.album_mode);
|
||||
p_obj_drc->str_config.loud_norm_flag, p_obj_drc->str_config.album_mode,
|
||||
p_obj_drc->str_config.boost, p_obj_drc->str_config.compress);
|
||||
|
||||
if (err_code != IA_NO_ERROR) return err_code;
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include "impd_type_def.h"
|
||||
|
||||
#include "impd_drc_bitbuffer.h"
|
||||
#include "impd_drc_common.h"
|
||||
#include "impd_drc_interface.h"
|
||||
|
|
@ -32,7 +31,8 @@
|
|||
WORD32
|
||||
impd_drc_dec_interface_add_effect_type(
|
||||
ia_drc_interface_struct* pstr_drc_interface, WORD32 drc_effect_type,
|
||||
WORD32 target_loudness, WORD32 loud_norm, WORD32 album_mode) {
|
||||
WORD32 target_loudness, WORD32 loud_norm, WORD32 album_mode, FLOAT32 boost,
|
||||
FLOAT32 compress) {
|
||||
WORD32 err = 0;
|
||||
WORD32 i = 0;
|
||||
|
||||
|
|
@ -138,8 +138,8 @@ impd_drc_dec_interface_add_effect_type(
|
|||
pstr_drc_interface->drc_parameter_interface_flag = 1;
|
||||
pstr_drc_interface->drc_parameter_interface.change_compress = 1;
|
||||
pstr_drc_interface->drc_parameter_interface.change_boost = 1;
|
||||
pstr_drc_interface->drc_parameter_interface.compress = 1.0f;
|
||||
pstr_drc_interface->drc_parameter_interface.boost = 1.0f;
|
||||
pstr_drc_interface->drc_parameter_interface.compress = compress;
|
||||
pstr_drc_interface->drc_parameter_interface.boost = boost;
|
||||
pstr_drc_interface->drc_parameter_interface
|
||||
.change_drc_characteristic_target = 1;
|
||||
pstr_drc_interface->drc_parameter_interface.drc_characteristic_target = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue