shithub: opus

Download patch

ref: 6ea9312a93baa663a4695ce89d7d0691a3abb2ce
parent: 9ed3c7c982d58988a891d8b12d79bd234bd0b806
author: Jean-Marc Valin <jmvalin@amazon.com>
date: Sat Oct 14 23:39:40 EDT 2023

Only compile PLC/DRED conditionally

--- a/Makefile.am
+++ b/Makefile.am
@@ -18,6 +18,14 @@
 include silk_sources.mk
 include opus_sources.mk
 
+LPCNET_SOURCES =
+if ENABLE_DEEP_PLC
+LPCNET_SOURCES += $(DEEP_PLC_SOURCES)
+endif
+if ENABLE_DRED
+LPCNET_SOURCES += $(DRED_SOURCES)
+endif
+
 if FIXED_POINT
 SILK_SOURCES += $(SILK_SOURCES_FIXED)
 if HAVE_SSE4_1
@@ -111,8 +119,6 @@
                   celt/tests/test_unit_types \
                   opus_compare \
                   opus_demo \
-                  lpcnet_demo \
-                  dump_data \
                   repacketizer_demo \
                   silk/tests/test_unit_LPC_inv_pred_gain \
                   tests/test_opus_api \
@@ -122,8 +128,7 @@
                   tests/test_opus_extensions \
                   tests/test_opus_padding \
                   tests/test_opus_projection \
-                  trivial_example \
-                  dump_weights_blob
+                  trivial_example
 
 TESTS = celt/tests/test_unit_cwrs32 \
         celt/tests/test_unit_dft \
@@ -156,10 +161,6 @@
 trivial_example_SOURCES = doc/trivial_example.c
 trivial_example_LDADD = libopus.la $(LIBM)
 
-dump_weights_blob_SOURCES = dnn/write_lpcnet_weights.c
-dump_weights_blob_LDADD = $(LIBM)
-dump_weights_blob_CFLAGS = $(AM_CFLAGS) -DDUMP_BINARY_WEIGHTS
-
 tests_test_opus_api_SOURCES = tests/test_opus_api.c tests/test_opus_common.h
 tests_test_opus_api_LDADD = libopus.la $(NE10_LIBS) $(LIBM)
 
@@ -241,11 +242,20 @@
 endif
 endif
 
+if EXTRA_PROGRAMS
+if ENABLE_DEEP_PLC
+noinst_PROGRAMS += lpcnet_demo dump_data dump_weights_blob
 lpcnet_demo_SOURCES = dnn/lpcnet_demo.c
 lpcnet_demo_LDADD = $(LPCNET_OBJ) $(CELT_OBJ) $(LIBM)
 
 dump_data_SOURCES = dnn/dump_data.c
 dump_data_LDADD = $(LPCNET_OBJ) $(CELT_OBJ) $(LIBM)
+
+dump_weights_blob_SOURCES = dnn/write_lpcnet_weights.c
+dump_weights_blob_LDADD = $(LIBM)
+dump_weights_blob_CFLAGS = $(AM_CFLAGS) -DDUMP_BINARY_WEIGHTS
+endif
+endif
 
 EXTRA_DIST = opus.pc.in \
              opus-uninstalled.pc.in \
--- a/configure.ac
+++ b/configure.ac
@@ -169,6 +169,7 @@
 AS_IF([test "$enable_dred" = "yes"],[
   AC_DEFINE([ENABLE_DRED], [1], [DRED])
 ])
+AM_CONDITIONAL([ENABLE_DRED], [test "$enable_dred" = "yes"])
 
 AC_ARG_ENABLE([deep-plc],
     [AS_HELP_STRING([--enable-deep-plc], [Use deep PLC for SILK])],,
@@ -177,6 +178,7 @@
 AS_IF([test "$enable_deep_plc" = "yes"],[
   AC_DEFINE([ENABLE_DEEP_PLC], [1], [Deep PLC])
 ])
+AM_CONDITIONAL([ENABLE_DEEP_PLC], [test "$enable_deep_plc" = "yes"])
 
 has_float_approx=no
 #case "$host_cpu" in
--- a/lpcnet_sources.mk
+++ b/lpcnet_sources.mk
@@ -1,4 +1,4 @@
-LPCNET_SOURCES = \
+DEEP_PLC_SOURCES = \
 dnn/burg.c \
 dnn/freq.c \
 dnn/fargan.c \
@@ -9,6 +9,9 @@
 dnn/nnet.c \
 dnn/plc_data.c \
 dnn/parse_lpcnet_weights.c \
+dnn/pitchdnn.c \
+dnn/pitchdnn_data.c
+DRED_SOURCES = \
 dnn/dred_rdovae.c \
 dnn/dred_rdovae_enc.c \
 dnn/dred_rdovae_enc_data.c \
@@ -15,8 +18,6 @@
 dnn/dred_rdovae_dec.c \
 dnn/dred_rdovae_dec_data.c \
 dnn/dred_rdovae_stats_data.c \
-dnn/pitchdnn.c \
-dnn/pitchdnn_data.c \
 silk/dred_encoder.c \
 silk/dred_coding.c \
 silk/dred_decoder.c
--