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;
--
⑨