1470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/*
2470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *
4470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  Use of this source code is governed by a BSD-style license
5470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  that can be found in the LICENSE file in the root of the source
6470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  tree. An additional intellectual property rights grant can be found
7470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  in the file PATENTS.  All contributing project authors may
8470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  be found in the AUTHORS file in the root of the source tree.
9470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com */
10470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
11470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/******************************************************************
12470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
13470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com IiLBC Speech Coder ANSI-C Source Code
14470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
15470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com WebRtcIlbcfix_IndexConvEnc.c
16470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
17470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com******************************************************************/
18470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
19470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#include "defines.h"
20470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/*----------------------------------------------------------------*
21470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  Convert the codebook indexes to make the search easier
22470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *---------------------------------------------------------------*/
23470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
24470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.comvoid WebRtcIlbcfix_IndexConvEnc(
250946a56023d821e0deca04029bb016ae1f23aa82pbos@webrtc.org    int16_t *index   /* (i/o) Codebook indexes */
26470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com                                ){
27470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com  int k;
28470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
29470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com  for (k=4;k<6;k++) {
30470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com    /* Readjust the second and third codebook index so that it is
31470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com       packetized into 7 bits (before it was put in lag-wise the same
32470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com       way as for the first codebook which uses 8 bits)
33470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com    */
34470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com    if ((index[k]>=108)&&(index[k]<172)) {
35470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com      index[k]-=64;
36470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com    } else if (index[k]>=236) {
37470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com      index[k]-=128;
38470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com    } else {
39470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com      /* ERROR */
40470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com    }
41470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com  }
42470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com}
43