From f548a5a35d4e808eba5224084034c09421edcc6a Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Mon, 26 Nov 2012 23:20:01 -0500
Subject: [PATCH] Makes variable framesize less aggressive at lower rates

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

diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index f57fa52e3..c4a465578 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -590,6 +590,10 @@ static int transient_viterbi(const float *E, const float *E_1, int N, int frame_
    float best_cost;
    int best_state;
 
+   /* Makes variable framesize less aggressive at lower bitrates, but I can't
+      find any valid theretical justification for this (other than it seems
+      to help) */
+   frame_cost *= 720/rate;
    for (i=0;i<16;i++)
    {
       /* Impossible state */
-- 
GitLab