shithub: opus

Download patch

ref: 66c29fb6207e87c0e5ada178328db7a7a19bfe5e
parent: adc50cab5b6b4e74344497859fd414e5f928b227
author: Jean-Marc Valin <jmvalin@amazon.com>
date: Thu Aug 12 20:20:11 EDT 2021

Remove some useless buffers

--- a/dnn/lpcnet.c
+++ b/dnn/lpcnet.c
@@ -39,7 +39,6 @@
 
 #define PREEMPH 0.85f
 
-#define PITCH_GAIN_FEATURE 37
 #define PDF_FLOOR 0.002
 
 #define FRAME_INPUT_SIZE (NB_FEATURES + EMBED_PITCH_OUT_SIZE)
@@ -70,8 +69,6 @@
     compute_conv1d(&feature_conv2, conv2_out, net->feature_conv2_state, conv1_out);
     celt_assert(FRAME_INPUT_SIZE == FEATURE_CONV2_OUT_SIZE);
     if (lpcnet->frame_count < FEATURES_DELAY) RNN_CLEAR(conv2_out, FEATURE_CONV2_OUT_SIZE);
-    memmove(lpcnet->old_input[1], lpcnet->old_input[0], (FEATURES_DELAY-1)*FRAME_INPUT_SIZE*sizeof(in[0]));
-    memcpy(lpcnet->old_input[0], in, FRAME_INPUT_SIZE*sizeof(in[0]));
     compute_dense(&feature_dense1, dense1_out, conv2_out);
     compute_dense(&feature_dense2, condition, dense1_out);
     RNN_COPY(rc, condition, LPC_ORDER);
@@ -168,8 +165,6 @@
     /* Matches the Python code -- the 0.1 avoids rounding issues. */
     pitch = (int)floor(.1 + 50*features[18]+100);
     pitch = IMIN(255, IMAX(33, pitch));
-    memmove(&lpcnet->old_gain[1], &lpcnet->old_gain[0], (FEATURES_DELAY-1)*sizeof(lpcnet->old_gain[0]));
-    lpcnet->old_gain[0] = features[PITCH_GAIN_FEATURE];
     run_frame_network(lpcnet, rc, gru_a_condition, gru_b_condition, features, pitch);
 #ifdef END2END
     rc2lpc(lpc, rc);
--- a/dnn/lpcnet_private.h
+++ b/dnn/lpcnet_private.h
@@ -26,9 +26,7 @@
     NNetState nnet;
     int last_exc;
     float last_sig[LPC_ORDER];
-    float old_input[FEATURES_DELAY][FEATURE_CONV2_OUT_SIZE];
     float old_lpc[FEATURES_DELAY][LPC_ORDER];
-    float old_gain[FEATURES_DELAY];
     float sampling_logit_table[256];
     int frame_count;
     float deemph_mem;
--