Lines Matching refs:context

41 PRIVATE OI_STATUS FindSyncword(OI_CODEC_SBC_DECODER_CONTEXT* context,
54 if (context->limitFrameFormat && context->enhancedEnabled) {
55 /* If the context is restricted, only search for specified SYNCWORD */
57 } else if (context->enhancedEnabled == FALSE) {
69 context->common.frameInfo.enhanced =
87 context->common.frameInfo.enhanced = FALSE;
98 static OI_STATUS DecodeBody(OI_CODEC_SBC_DECODER_CONTEXT* context,
102 OI_UINT frameSamples = context->common.frameInfo.nrof_blocks *
103 context->common.frameInfo.nrof_subbands;
111 (sizeof(int16_t) * frameSamples * context->common.pcmStride) &&
118 context->common.frameInfo.nrof_subbands *
119 context->common.pcmStride) {
125 if (context->bufferedBlocks == 0) {
127 OI_SBC_ReadScalefactors(&context->common, bodyData, &bs);
130 OI_SBC_ComputeBitAllocation(&context->common);
133 if (context->common.frameInfo.mode == SBC_JOINT_STEREO) {
134 OI_SBC_ReadSamplesJoint(context, &bs);
136 OI_SBC_ReadSamples(context, &bs);
139 context->bufferedBlocks = context->common.frameInfo.nrof_blocks;
144 context->common.pcmStride /
145 context->common.frameInfo.nrof_subbands;
147 if (decode_block_count > context->bufferedBlocks) {
148 decode_block_count = context->bufferedBlocks;
152 decode_block_count = context->common.frameInfo.nrof_blocks;
158 context->common.frameInfo.nrof_blocks - context->bufferedBlocks;
159 OI_SBC_SynthFrame(context, pcmData, start_block, decode_block_count);
162 OI_ASSERT(context->bufferedBlocks >= decode_block_count);
163 context->bufferedBlocks -= decode_block_count;
165 frameSamples = decode_block_count * context->common.frameInfo.nrof_subbands;
170 if (context->common.frameInfo.nrof_channels == 1 &&
171 context->common.pcmStride == 2) {
181 *pcmBytes = frameSamples * sizeof(int16_t) * context->common.pcmStride;
182 if (context->bufferedBlocks > 0) {
189 PRIVATE OI_STATUS internal_DecodeRaw(OI_CODEC_SBC_DECODER_CONTEXT* context,
198 if (context->bufferedBlocks == 0) {
202 context->common.frameInfo.bitpool = bitpool;
206 bodyLen = OI_CODEC_SBC_CalculateFramelen(&context->common.frameInfo) -
219 status = DecodeBody(context, *frameData, pcmData, pcmBytes, TRUE);
228 OI_STATUS OI_CODEC_SBC_DecoderReset(OI_CODEC_SBC_DECODER_CONTEXT* context,
233 return internal_DecoderReset(context, decoderData, decoderDataBytes,
237 OI_STATUS OI_CODEC_SBC_DecodeFrame(OI_CODEC_SBC_DECODER_CONTEXT* context,
248 status = FindSyncword(context, frameData, frameBytes);
260 OI_SBC_ReadHeader(&context->common, *frameData);
269 if (context->limitFrameFormat &&
270 (context->common.frameInfo.subbands != context->restrictSubbands)) {
275 if (context->common.frameInfo.nrof_channels > context->common.maxChannels) {
282 if (context->common.pcmStride < 1 || context->common.pcmStride > 2) {
298 framelen = OI_CODEC_SBC_CalculateFramelen(&context->common.frameInfo);
306 crc = OI_SBC_CalculateChecksum(&context->common.frameInfo, *frameData);
307 if (crc != context->common.frameInfo.crc) {
309 context->common.frameInfo.crc));
318 if ((context->common.frameInfo.bitpool < SBC_MIN_BITPOOL) &&
319 !context->common.frameInfo.enhanced) {
321 context->common.frameInfo.bitpool));
324 if (context->common.frameInfo.bitpool >
325 OI_SBC_MaxBitpool(&context->common.frameInfo)) {
327 context->common.frameInfo.bitpool,
328 OI_SBC_MaxBitpool(&context->common.frameInfo)));
338 status = DecodeBody(context, *frameData + SBC_HEADER_LEN, pcmData, pcmBytes,
349 OI_STATUS OI_CODEC_SBC_SkipFrame(OI_CODEC_SBC_DECODER_CONTEXT* context,
357 status = FindSyncword(context, frameData, frameBytes);
364 OI_SBC_ReadHeader(&context->common, *frameData);
366 OI_SBC_CalculateFrameAndHeaderlen(&context->common.frameInfo, &headerlen);
370 crc = OI_SBC_CalculateChecksum(&context->common.frameInfo, *frameData);
371 if (crc != context->common.frameInfo.crc) {
377 context->bufferedBlocks = 0;
407 /* Inline logic to avoid corrupting context */
442 PRIVATE void OI_SBC_ReadSamplesJoint4(OI_CODEC_SBC_DECODER_CONTEXT* context,
449 PRIVATE void OI_SBC_ReadSamplesJoint8(OI_CODEC_SBC_DECODER_CONTEXT* context,
456 typedef void (*READ_SAMPLES)(OI_CODEC_SBC_DECODER_CONTEXT* context,
464 PRIVATE void OI_SBC_ReadSamplesJoint(OI_CODEC_SBC_DECODER_CONTEXT* context,
466 OI_CODEC_SBC_COMMON_CONTEXT* common = &context->common;
470 SpecializedReadSamples[nrof_subbands >> 3](context, global_bs);