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