The bitrate modes are equal to the array indices.
---
 libavcodec/libvo-amrwbenc.c |   20 ++++----------------
 1 files changed, 4 insertions(+), 16 deletions(-)

diff --git a/libavcodec/libvo-amrwbenc.c b/libavcodec/libvo-amrwbenc.c
index cfd1bac..e55fdc6 100644
--- a/libavcodec/libvo-amrwbenc.c
+++ b/libavcodec/libvo-amrwbenc.c
@@ -27,11 +27,6 @@ static const char wb_bitrate_unsupported[] =
     "bitrate not supported: use one of 6.6k, 8.85k, 12.65k, 14.25k, 15.85k, "
     "18.25k, 19.85k, 23.05k, or 23.85k\n";
 
-typedef struct AMRWB_bitrates {
-    int rate;
-    int mode;
-} AMRWB_bitrates;
-
 typedef struct AMRWBContext {
     void  *state;
     int    mode;
@@ -41,20 +36,13 @@ typedef struct AMRWBContext {
 static int get_wb_bitrate_mode(int bitrate)
 {
     /* make the correspondance between bitrate and mode */
-    AMRWB_bitrates rates[] = { { 6600, 0},
-                               { 8850, 1},
-                               {12650, 2},
-                               {14250, 3},
-                               {15850, 4},
-                               {18250, 5},
-                               {19850, 6},
-                               {23050, 7},
-                               {23850, 8}, };
+    static const int rates[] = {  6600,  8850, 12650, 14250, 15850, 18250,
+                                 19850, 23050, 23850 };
     int i;
 
     for (i = 0; i < 9; i++)
-        if (rates[i].rate == bitrate)
-            return rates[i].mode;
+        if (rates[i] == bitrate)
+            return i;
     /* no bitrate matching, return an error */
     return -1;
 }
-- 
1.7.3.1

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to