From 02f352c75e0de18933fe9c495fda9dcab00f63ba Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@amazon.com>
Date: Tue, 13 Jun 2023 00:24:17 -0400
Subject: [PATCH] Fix non-DRED build

---
 lpcnet_sources.mk  | 5 ++++-
 silk_sources.mk    | 5 +----
 src/opus_decoder.c | 4 +++-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/lpcnet_sources.mk b/lpcnet_sources.mk
index 2b3217bb3..16daaf152 100644
--- a/lpcnet_sources.mk
+++ b/lpcnet_sources.mk
@@ -17,4 +17,7 @@ lpcnet/src/dred_rdovae_enc.c \
 lpcnet/src/dred_rdovae_enc_data.c \
 lpcnet/src/dred_rdovae_dec.c \
 lpcnet/src/dred_rdovae_dec_data.c \
-lpcnet/src/dred_rdovae_stats_data.c
+lpcnet/src/dred_rdovae_stats_data.c \
+silk/dred_encoder.c \
+silk/dred_coding.c \
+silk/dred_decoder.c
diff --git a/silk_sources.mk b/silk_sources.mk
index 77186878c..3df248166 100644
--- a/silk_sources.mk
+++ b/silk_sources.mk
@@ -75,10 +75,7 @@ silk/stereo_decode_pred.c \
 silk/stereo_encode_pred.c \
 silk/stereo_find_predictor.c \
 silk/stereo_quant_pred.c \
-silk/LPC_fit.c \
-silk/dred_encoder.c \
-silk/dred_coding.c \
-silk/dred_decoder.c
+silk/LPC_fit.c
 
 SILK_SOURCES_X86_RTCD = \
 silk/x86/x86_silk_map.c
diff --git a/src/opus_decoder.c b/src/opus_decoder.c
index aad378f03..2cb3247db 100644
--- a/src/opus_decoder.c
+++ b/src/opus_decoder.c
@@ -1141,6 +1141,7 @@ int opus_dred_decoder_get_size(void)
   return sizeof(OpusDREDDecoder);
 }
 
+#ifdef ENABLE_NEURAL_FEC
 int dred_decoder_load_model(OpusDREDDecoder *dec, const unsigned char *data, int len)
 {
     WeightArray *list;
@@ -1150,10 +1151,11 @@ int dred_decoder_load_model(OpusDREDDecoder *dec, const unsigned char *data, int
     free(list);
     return (ret == 0) ? OPUS_OK : OPUS_BAD_ARG;
 }
+#endif
 
 int opus_dred_decoder_init(OpusDREDDecoder *dec)
 {
-#ifndef USE_WEIGHTS_FILE
+#if defined(ENABLE_NEURAL_FEC) && !defined(USE_WEIGHTS_FILE)
    init_rdovaedec(&dec->model, rdovae_dec_arrays);
 #endif
    dec->arch = opus_select_arch();
-- 
GitLab