From 6b9087aa6efbb98731216d2b03cc977826fd6062 Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Sat, 28 Sep 2013 23:51:11 -0400
Subject: [PATCH] Avoids unnecessary copying in opus_encode for delayed
 decision

---
 src/opus_encoder.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index 3dcd35ae0..c151fd078 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -2004,9 +2004,9 @@ opus_int32 opus_encode(OpusEncoder *st, const opus_int16 *pcm, int analysis_fram
          st->variable_duration, st->channels, st->Fs, st->bitrate_bps,
          delay_compensation, downmix_float, st->analysis.subframe_mem);
 
-   ALLOC(in, analysis_frame_size*st->channels, float);
+   ALLOC(in, frame_size*st->channels, float);
 
-   for (i=0;i<analysis_frame_size*st->channels;i++)
+   for (i=0;i<frame_size*st->channels;i++)
       in[i] = (1.0f/32768)*pcm[i];
    ret = opus_encode_native(st, in, frame_size, data, max_data_bytes, 16, pcm, analysis_frame_size, 0, -2, st->channels, downmix_int);
    RESTORE_STACK;
-- 
GitLab