shithub: opus

Download patch

ref: 176507e4fcb4c6376af5ec465f23692ce84495fd
parent: 9d0425d88be5de3278f687f766df1f0b3d14005a
author: Jean-Marc Valin <jmvalin@amazon.com>
date: Fri Nov 24 08:33:04 EST 2023

Remove process_single_frame()

Code moved to compute_frame_features()

--- a/dnn/dump_data.c
+++ b/dnn/dump_data.c
@@ -263,7 +263,6 @@
       }
       fwrite(pitch_features, PITCH_MAX_PERIOD-PITCH_MIN_PERIOD+PITCH_IF_FEATURES, 1, ffeat);
     } else {
-      process_single_frame(st);
       fwrite(st->features, sizeof(float), NB_TOTAL_FEATURES, ffeat);
     }
     /*if(pitch) fwrite(pcm, FRAME_SIZE, 2, stdout);*/
--- a/dnn/lpcnet_enc.c
+++ b/dnn/lpcnet_enc.c
@@ -106,6 +106,9 @@
   float ener0;
   float ener;
   float x[FRAME_SIZE+LPC_ORDER];
+  float frame_corr;
+  float xy, xx, yy;
+  int pitch;
   /* [b,a]=ellip(2, 2, 20, 1200/8000); */
   static const float lp_b[2] = {-0.84946f, 1.f};
   static const float lp_a[2] = {-1.54220f, 0.70781f};
@@ -166,13 +169,7 @@
     /*printf("\n");*/
   }
   st->dnn_pitch = compute_pitchdnn(&st->pitchdnn, st->if_features, st->xcorr_features, arch);
-}
-
-void process_single_frame(LPCNetEncState *st) {
-  float frame_corr;
-  float xy, xx, yy;
-  /*int pitch = (best[2]+best[3])/2;*/
-  int pitch = (int)floor(.5+256./pow(2.f,((1./60.)*((st->dnn_pitch+1.5)*60))));
+  pitch = (int)floor(.5+256./pow(2.f,((1./60.)*((st->dnn_pitch+1.5)*60))));
   xx = celt_inner_prod_c(&st->lp_buf[PITCH_MAX_PERIOD], &st->lp_buf[PITCH_MAX_PERIOD], FRAME_SIZE);
   yy = celt_inner_prod_c(&st->lp_buf[PITCH_MAX_PERIOD-pitch], &st->lp_buf[PITCH_MAX_PERIOD-pitch], FRAME_SIZE);
   xy = celt_inner_prod_c(&st->lp_buf[PITCH_MAX_PERIOD], &st->lp_buf[PITCH_MAX_PERIOD-pitch], FRAME_SIZE);
@@ -196,7 +193,6 @@
 static int lpcnet_compute_single_frame_features_impl(LPCNetEncState *st, float *x, float features[NB_TOTAL_FEATURES], int arch) {
   preemphasis(x, &st->mem_preemph, x, PREEMPHASIS, FRAME_SIZE);
   compute_frame_features(st, x, arch);
-  process_single_frame(st);
   OPUS_COPY(features, &st->features[0], NB_TOTAL_FEATURES);
   return 0;
 }
--- a/dnn/lpcnet_private.h
+++ b/dnn/lpcnet_private.h
@@ -77,7 +77,6 @@
 void lpcnet_synthesize_tail_impl(LPCNetState *lpcnet, opus_int16 *output, int N, int preload);
 void lpcnet_synthesize_impl(LPCNetState *lpcnet, const float *features, opus_int16 *output, int N, int preload);
 void lpcnet_synthesize_blend_impl(LPCNetState *lpcnet, const opus_int16 *pcm_in, opus_int16 *output, int N);
-void process_single_frame(LPCNetEncState *st);
 
 void run_frame_network(LPCNetState *lpcnet, float *gru_a_condition, float *gru_b_condition, float *lpc, const float *features);
 
--