+int aacenc_is_dual_rate_sbr(const aacenc_param_t *params)
+{
+ if (params->profile == AOT_PS || params->profile == AOT_MP2_PS)
+ return 1;
+ else if (params->profile == AOT_SBR || params->profile == AOT_MP2_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;
+ return 0;
+}
+
+void aacenc_get_lib_info(LIB_INFO *info)
+{
+ LIB_INFO *lib_info = 0;
+ lib_info = calloc(FDK_MODULE_LAST, sizeof(LIB_INFO));
+ if (aacEncGetLibInfo(lib_info) == AACENC_OK) {
+ int i;
+ for (i = 0; i < FDK_MODULE_LAST; ++i) {
+ if (lib_info[i].module_id == FDK_AACENC) {
+ memcpy(info, &lib_info[i], sizeof(LIB_INFO));
+ break;
+ }
+ }
+ }
+ free(lib_info);
+}
+