#include <string.h>
#include "aacenc.h"
+int aacenc_is_explicit_bw_compatible_sbr_signaling_available()
+{
+ LIB_INFO lib_info;
+ aacenc_get_lib_info(&lib_info);
+ return lib_info.version > 0x03040900;
+}
+
int aacenc_is_sbr_ratio_available()
{
#if AACENCODER_LIB_VL0 < 3 || (AACENCODER_LIB_VL0==3 && AACENCODER_LIB_VL1<4)
#else
LIB_INFO lib_info;
aacenc_get_lib_info(&lib_info);
- return lib_info.version > 0x03040000;
+ return lib_info.version > 0x03040800;
#endif
}
int aacenc_is_sbr_active(const aacenc_param_t *params)
{
switch (params->profile) {
- case AOT_SBR: case AOT_PS: case AOT_MP2_SBR: case AOT_MP2_PS:
- case AOT_DABPLUS_SBR: case AOT_DABPLUS_PS:
+ case AOT_SBR: case AOT_PS:
case AOT_DRM_SBR: case AOT_DRM_MPEG_PS:
return 1;
}
int aacenc_is_dual_rate_sbr(const aacenc_param_t *params)
{
- if (params->profile == AOT_PS || params->profile == AOT_MP2_PS)
+ if (params->profile == AOT_PS)
return 1;
- else if (params->profile == AOT_SBR || params->profile == AOT_MP2_SBR)
+ else if (params->profile == AOT_SBR)
return params->sbr_ratio == 0 || params->sbr_ratio == 2;
else if (params->profile == AOT_ER_AAC_ELD && params->lowdelay_sbr)
return params->sbr_ratio == 2;
aacEncoder_SetParam(*encoder, AACENC_SBR_MODE, params->lowdelay_sbr);
#if AACENCODER_LIB_VL0 > 3 || (AACENCODER_LIB_VL0==3 && AACENCODER_LIB_VL1>=4)
- if (lib_info.version > 0x03040000)
+ if (lib_info.version > 0x03040800)
aacEncoder_SetParam(*encoder, AACENC_SBR_RATIO, params->sbr_ratio);
#endif