bitalloc.c (adaba9f34040c696f6e8e6f1096f218bf6ceb78e) | bitalloc.c (c1ab6cc1beb14b16b46e74a3723644016d8c3cc7) |
---|---|
1/****************************************************************************** 2 * 3 * Copyright (C) 2014 The Android Open Source Project 4 * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at: --- 54 unchanged lines hidden (view full) --- 63 OI_UINT16 result = nbits; 64 65 if (frame->mode == SBC_JOINT_STEREO) { 66 result += nrof_subbands + (8 * nrof_subbands); 67 } else { 68 if (frame->mode == SBC_DUAL_CHANNEL) { result += nbits; } 69 if (frame->mode == SBC_MONO) { result += 4*nrof_subbands; } else { result += 8*nrof_subbands; } 70 } | 1/****************************************************************************** 2 * 3 * Copyright (C) 2014 The Android Open Source Project 4 * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at: --- 54 unchanged lines hidden (view full) --- 63 OI_UINT16 result = nbits; 64 65 if (frame->mode == SBC_JOINT_STEREO) { 66 result += nrof_subbands + (8 * nrof_subbands); 67 } else { 68 if (frame->mode == SBC_DUAL_CHANNEL) { result += nbits; } 69 if (frame->mode == SBC_MONO) { result += 4*nrof_subbands; } else { result += 8*nrof_subbands; } 70 } |
71 return SBC_HEADER_LEN + (result + 7) / 8; | 71 return SBC_HEADER_LEN + ((result + 7) / 8); |
72} 73 74 75PRIVATE OI_UINT32 internal_CalculateBitrate(OI_CODEC_SBC_FRAME_INFO *frame) 76{ 77 OI_UINT blocksbands; 78 blocksbands = frame->nrof_subbands * frame->nrof_blocks; 79 80 return DIVIDE(8 * internal_CalculateFramelen(frame) * frame->frequency, blocksbands); 81} 82 83 84INLINE OI_UINT16 OI_SBC_CalculateFrameAndHeaderlen(OI_CODEC_SBC_FRAME_INFO *frame, OI_UINT *headerLen_) 85{ | 72} 73 74 75PRIVATE OI_UINT32 internal_CalculateBitrate(OI_CODEC_SBC_FRAME_INFO *frame) 76{ 77 OI_UINT blocksbands; 78 blocksbands = frame->nrof_subbands * frame->nrof_blocks; 79 80 return DIVIDE(8 * internal_CalculateFramelen(frame) * frame->frequency, blocksbands); 81} 82 83 84INLINE OI_UINT16 OI_SBC_CalculateFrameAndHeaderlen(OI_CODEC_SBC_FRAME_INFO *frame, OI_UINT *headerLen_) 85{ |
86 OI_UINT headerLen = SBC_HEADER_LEN + frame->nrof_subbands * frame->nrof_channels/2; | 86 OI_UINT headerLen = SBC_HEADER_LEN + (frame->nrof_subbands * frame->nrof_channels/2); |
87 88 if (frame->mode == SBC_JOINT_STEREO) { headerLen++; } 89 90 *headerLen_ = headerLen; 91 return internal_CalculateFramelen(frame); 92} 93 94 --- 166 unchanged lines hidden (view full) --- 261 OI_UINT count; 262 OI_UINT32 adjust4; 263 OI_INT i; 264 265 adjust4 = bitadjust & 0x7F; 266 adjust4 |= (adjust4 << 8); 267 adjust4 |= (adjust4 << 16); 268 | 87 88 if (frame->mode == SBC_JOINT_STEREO) { headerLen++; } 89 90 *headerLen_ = headerLen; 91 return internal_CalculateFramelen(frame); 92} 93 94 --- 166 unchanged lines hidden (view full) --- 261 OI_UINT count; 262 OI_UINT32 adjust4; 263 OI_INT i; 264 265 adjust4 = bitadjust & 0x7F; 266 adjust4 |= (adjust4 << 8); 267 adjust4 |= (adjust4 << 16); 268 |
269 for (i = (subbands / 4 - 1); i >= 0; --i) { | 269 for (i = ((subbands / 4) - 1); i >= 0; --i) { |
270 OI_UINT32 mask; 271 OI_UINT32 n = bitneeds[i] + adjust4; 272 mask = 0x7F7F7F7F + ((n & 0x40404040) >> 6); 273 n &= mask; 274 mask = 0x0F0F0F0F + ((n & 0x10101010) >> 4); 275 n &= mask; 276 mask = (((n + 0x0E0E0E0E) >> 4) | 0x1E1E1E1E); 277 n &= mask; --- 115 unchanged lines hidden --- | 270 OI_UINT32 mask; 271 OI_UINT32 n = bitneeds[i] + adjust4; 272 mask = 0x7F7F7F7F + ((n & 0x40404040) >> 6); 273 n &= mask; 274 mask = 0x0F0F0F0F + ((n & 0x10101010) >> 4); 275 n &= mask; 276 mask = (((n + 0x0E0E0E0E) >> 4) | 0x1E1E1E1E); 277 n &= mask; --- 115 unchanged lines hidden --- |