1fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 2fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 3fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Copyright (C) Texas Instruments - http://www.ti.com/ 4fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 5fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * This library is free software; you can redistribute it and/or 6fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * modify it under the terms of the GNU Lesser General Public 7fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * License as published by the Free Software Foundation; either 8fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * version 2.1 of the License, or (at your option) any later version. 9fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 10fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 11fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * This library is distributed in the hope that it will be useful, 12fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * but WITHOUT ANY WARRANTY; without even the implied warranty of 13fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Lesser General Public License for more details. 15fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 16fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 17fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * You should have received a copy of the GNU Lesser General Public 18fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * License along with this library; if not, write to the Free Software 19fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 21fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ============================================================================= 22fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Texas Instruments OMAP(TM) Platform Software 23fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* (c) Copyright Texas Instruments, Incorporated. All Rights Reserved. 24fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 25fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Use of this software is controlled by the terms and conditions found 26fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* in the license agreement under which this software has been supplied. 27fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* ============================================================================ */ 28fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 29fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @file OMX_AmrDecoder.h 30fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 31fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* This is an header file for an audio PCM decoder that is fully 32fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* compliant with the OMX Audio specification. 33fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* This the file that the application that uses OMX would include 34fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* in its code. 35fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 36fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @path $(CSLPATH)\ 37fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 38fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @rev 0.1 39fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 40fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* --------------------------------------------------------------------------- */ 41fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 42fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef OMX_AMRDECODER_H 43fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_AMRDECODER_H 44fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 45fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "LCML_DspCodec.h" 46fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Component.h> 47fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <pthread.h> 48fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_TI_Debug.h> 49ede6e1f3f8779d7e490ad48f09be59122048f7d3Scott Anderson#include <cutils/log.h> 50b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 51b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 52b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#include <ResourceManagerProxyAPI.h> 53b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 54fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 55fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 56fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #include "perf.h" 57fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 58fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 59fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef DSP_RENDERING_ON 60fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <AudioManagerAPI.h> 61fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 62fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 63fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 64fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef ANDROID 65fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define ANDROID 66fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 67fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 68fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef ANDROID 69fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef LOG_TAG 70fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define LOG_TAG "OMX_NBAMRDEC" 71fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 72fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* PV opencore capability custom parameter index */ 73fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define PV_OMX_COMPONENT_CAPABILITY_TYPE_INDEX 0xFF7A347 74fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 75fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 76fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 77fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 78fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 79fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def EXTRA_BUFFBYTES Num of Extra Bytes to be allocated 80fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 81fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 82fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define EXTRA_BUFFBYTES (256) 83fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 84fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 85fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 86fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRD_TIMEOUT Default timeout used to come out of blocking calls 87fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 88fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 89fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRD_TIMEOUT (1000) /* millisecs */ 90fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 91fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 92fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 93fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_NBAMRDEC_INPUT_BUFFERS Number of Input Buffers 94fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 95fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 96fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_NBAMRDEC_INPUT_BUFFERS 1 97fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 98fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 99fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_NBAMRDEC_OUTPUT_BUFFERS Number of Output Buffers 101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 102fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_NBAMRDEC_OUTPUT_BUFFERS 2 104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 107fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_NBAMRDEC_OUTPUT_BUFFERS_DASF Number of Output Buffers 108fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * on DASF mode 109fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 110fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 111fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_NBAMRDEC_OUTPUT_BUFFERS_DASF 2 112fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 113fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 114fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 115fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OUTPUT_NBAMRDEC_BUFFER_SIZE Standart Output Buffer Size 116fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 117fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 118fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OUTPUT_NBAMRDEC_BUFFER_SIZE 320 119fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 120fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 121fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def INPUT_NBAMRDEC_BUFFER_SIZE_MIME Mime Input Buffer Size 122fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 123fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 124fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define INPUT_NBAMRDEC_BUFFER_SIZE_MIME 34 125fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 126fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 127fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 128fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def INPUT_BUFF_SIZE_EFR Input Buffer Size EFR 129fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 130fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 131fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define INPUT_BUFF_SIZE_EFR 120 132fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 133fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* @def INPUT_NBAMRDEC_BUFFER_SIZE_MIME IF2 Input Buffer Size*/ 134fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 135fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define INPUT_NBAMRDEC_BUFFER_SIZE_IF2 32 136fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 137fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 138fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 139fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 140fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def STD_NBAMRDEC_BUF_SIZE Standart Input Buffer Size 141fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 142fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 143fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define STD_NBAMRDEC_BUF_SIZE 118 144fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 145fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 146fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 147fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def FRAME_SIZE_x Size in Bytes of determined 148fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * frame. 149fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 150fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 151b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FRAME_SIZE_13 13 152b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FRAME_SIZE_19 19 153b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FRAME_SIZE_26 26 154b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FRAME_SIZE_31 31 155fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define FRAME_SIZE_14 14 156fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define FRAME_SIZE_16 16 157fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define FRAME_SIZE_18 18 158fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define FRAME_SIZE_20 20 159fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define FRAME_SIZE_21 21 160fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define FRAME_SIZE_27 27 161fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define FRAME_SIZE_32 32 162b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FRAME_SIZE_6 6 163b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FRAME_SIZE_1 1 164b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FRAME_SIZE_0 0 165fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 166fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 167fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 168fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def STREAM_COUNT Stream Count value for 169fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * LCML init. 170fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 171fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 172fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define STREAM_COUNT 2 173fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 174fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 175fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 176fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def INPUT_STREAM_ID Input Stream ID 177fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 178fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 179fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define INPUT_STREAM_ID 0 180fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 181fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 182fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 183fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 184fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 185fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRDEC_SAMPLING_FREQUENCY Sampling Frequency 186fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 187fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 188b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NBAMRDEC_SAMPLING_FREQUENCY 8000 189fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 190fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 191fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 192fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRDEC_CPU_LOAD CPU Load in MHz 193fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 194fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 195fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRDEC_CPU_LOAD 10 196fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 197fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 198fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 199fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def MAX_NUM_OF_BUFS Max Num of Bufs Allowed 200fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 201fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 202fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define MAX_NUM_OF_BUFS 12 203b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 204b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 205b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def IP_BUFFERSIZE Input Port Buffer Size 206b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 207b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 208b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define IP_BUFFERSIZE 4096 209b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 210b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/** 211b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @def NUM_MIME_BYTES_ARRAY amrMimeBytes array size 212b65f253fdc60f6208a54911bee793d225f23cdf8James Dong */ 213b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 214b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#define NUM_MIME_BYTES_ARRAY 16 215b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 216b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/** 217b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @def NUM_IF2_BYTES_ARRAY amrIF2Bytes array size 218b65f253fdc60f6208a54911bee793d225f23cdf8James Dong */ 219b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 220b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#define NUM_IF2_BYTES_ARRAY 16 221fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 222fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 223fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 224fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRDEC_DEBUGMEM Turns memory leaks messaging on and off. 225fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * APP_DEBUGMEM must be defined in Test App in order to get 226fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * this functionality On. 227fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 228fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 229fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef NBAMRDEC_DEBUGMEM 230fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*#define NBAMRDEC_DEBUGMEM*/ 231fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 232fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 233fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*#define AMRDEC_DEBUG*/ 234fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AMRDEC_DEBUG 235fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AMRDEC_MEMCHECK 236fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 237fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 238fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 239fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 240b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define AMRDEC_EPRINT(...) __android_log_print(ANDROID_LOG_VERBOSE, __FILE__,"%s %d:: ERROR ",__FUNCTION__, __LINE__);\ 241b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin __android_log_print(ANDROID_LOG_VERBOSE, __FILE__, __VA_ARGS__);\ 242b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin __android_log_print(ANDROID_LOG_VERBOSE, __FILE__, "\n"); 243fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 244fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRDEC_DEBUG 245b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRDEC_DPRINT(...) __android_log_print(ANDROID_LOG_VERBOSE, __FILE__,"%s %d:: ",__FUNCTION__, __LINE__);\ 246b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin __android_log_print(ANDROID_LOG_VERBOSE, __FILE__, __VA_ARGS__);\ 247b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin __android_log_print(ANDROID_LOG_VERBOSE, __FILE__, "\n"); 248fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 249fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRDEC_DPRINT(...) 250fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 251fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 252fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRDEC_MEMCHECK 253fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRDEC_MEMPRINT(...) fprintf(stderr,__VA_ARGS__) 254fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 255fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRDEC_MEMPRINT(...) 256fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 257fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 258fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 259fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRDEC_DEBUG_MCP 260b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRDEC_MCP_DPRINT(...) __android_log_print(ANDROID_LOG_VERBOSE, __FILE__,"%s %d:: MCP ",__FUNCTION__, __LINE__);\ 261b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin __android_log_print(ANDROID_LOG_VERBOSE, __FILE__, __VA_ARGS__);\ 262b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin __android_log_print(ANDROID_LOG_VERBOSE, __FILE__, "\n"); 263fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 264fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRDEC_MCP_DPRINT(...) 265fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 266fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else /*UNDER_CE*/ 267b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define AMRDEC_EPRINT printf 268fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRDEC_DEBUG 269fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRDEC_DPRINT(STR, ARG...) printf() 270fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 271fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 272fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 273fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRDEC_MEMCHECK 274b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRDEC_MEMPRINT(STR, ARG...) printf() 275fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 276fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 277fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 278fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 279fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef DEBUG 280b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRDEC_DPRINT printf 281b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRDEC_MEMPRINT printf 282fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 283fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 284b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRDEC_DPRINT 285b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRDEC_MEMPRINT 286fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 287fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 288b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif //UNDER_CE 289fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 290fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 291fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 292fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 293fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 294fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 295fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def CACHE_ALIGNMENT Buffer Cache Alignment 296fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 297fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 298fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define CACHE_ALIGNMENT 128 299fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 300fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 301fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 302fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_OF_PORTS Number of Comunication Port 303fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 304fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 305fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_OF_PORTS 2 306fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 307fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 308fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 309fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def _ERROR_PROPAGATION__ Allow Logic to Detec Arm Errors 310fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 311fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 312fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define _ERROR_PROPAGATION__ 313fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 314b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 315b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/** 316b65f253fdc60f6208a54911bee793d225f23cdf8James Dong* pthread variable to indicate OMX returned all buffers to app 317b65f253fdc60f6208a54911bee793d225f23cdf8James Dong*/ 318b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 319b65f253fdc60f6208a54911bee793d225f23cdf8James Dongpthread_mutex_t bufferReturned_mutex; 320b65f253fdc60f6208a54911bee793d225f23cdf8James Dongpthread_cond_t bufferReturned_condition; 321fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 322fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 323fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRDEC_COMP_PORT_TYPE Port Type 324fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 325b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_INPUT_PORT Port Type Input 326fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 327b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_OUTPUT_PORT Port Type Output 328fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 329fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 330fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 331fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum NBAMRDEC_COMP_PORT_TYPE { 332fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_INPUT_PORT = 0, 333fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_OUTPUT_PORT 334fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRDEC_COMP_PORT_TYPE; 335fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 336fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 337fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRDEC_StreamType StreamType 338fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 339b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_DMM Stream Type DMM 340fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 341b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_INSTRM Stream Type Input 342fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 343fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param NBAMRDEC_OUTSTRM Stream Type Output 344fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 345fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 346fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum NBAMRDEC_StreamType 347fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 348fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_DMM, 349fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_INSTRM, 350fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_OUTSTRM 351fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 352fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 353fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 354fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRDEC_DecodeType Decode Type Mode 355fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 356b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMR OMX_AUDIO_AMRDTX 357fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 358b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_EFR OMX_AUDIO_AMRDTX as EFR 359fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 360fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 361fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum NBAMRDEC_DecodeType 362fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 363b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMR, 364b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRDEC_EFR 365fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 366fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 367fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 368fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRDEC_MimeMode Mime Mode 369fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 370b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_FORMATCONFORMANCE Mime Mode and IF2 Off 371fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 372b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_MIMEMODE Mime Mode On 373fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 374fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 375fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum NBAMRDEC_MimeMode { 376b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRDEC_FORMATCONFORMANCE, 377b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRDEC_MIMEMODE, 378fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_IF2, 379fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_PADMIMEMODE 380fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 381fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 382fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 383fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRDEC_BUFFER_Dir Direction of the Buffer 384fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 385b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_DIRECTION_INPUT Direction Input 386fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 387b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRDEC_DIRECTION_INPUT Direction Output 388fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 389fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 390fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 391fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_DIRECTION_INPUT, 392fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_DIRECTION_OUTPUT 393fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRDEC_BUFFER_Dir; 394fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 395fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 396fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 397fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Buffer Information. 398fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 399fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 400fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct BUFFS 401fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 402fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S8 BufHeader; 403fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S8 Buffer; 404fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}BUFFS; 405fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 406fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 407fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 408fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMR Buffer Header Type Info. 409fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 410fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 411fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct BUFFERHEADERTYPE_INFO 412fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 413fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* pBufHeader[MAX_NUM_OF_BUFS]; 414fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFS bBufOwner[MAX_NUM_OF_BUFS]; 415fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}BUFFERHEADERTYPE_INFO; 416fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 417fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 418fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** LCML_MimeMode modes 419fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 420b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param MODE_MIME Mode MIME 421fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 422b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param MODE_NONMIME Mode NONMIME 423fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 424fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 425fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 426fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin MODE_MIME, 427fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin MODE_NONMIME 428fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}LCML_MimeMode; 429fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 430fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 431fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 432fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Socket node input parameters. 433fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 434fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 435fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AMRDEC_AudioCodecParams 436fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 437b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iSamplingRate; 438b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iStrmId; 439b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned short iAudioFormat; 440fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}AMRDEC_AudioCodecParams; 441fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 442fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 443fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 444fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Socket node alg parameters.. 445fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 446fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 447fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*typedef struct { 448fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 449fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long usEndOfFile; 450fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long usFrameLost; 451fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}AMRDEC_UAlgInBufParamStruct;*/ 452fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 453fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct { 454fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usLastFrame; 455fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usFrameLost; 456fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRDEC_FrameStruct; 457fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 458fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct{ 459fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usNbFrames; 460fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_FrameStruct *pParamElem; 461fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRDEC_ParamStruct; 462fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 463fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 464fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 465fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* LCML_NBAMRDEC_BUFHEADERTYPE 466fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 467fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 468fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct LCML_NBAMRDEC_BUFHEADERTYPE { 469fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_BUFFER_Dir eDir; 470fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* buffer; 471fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_FrameStruct *pFrameParam; 472fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_ParamStruct *pBufferParam; 473fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin DMM_BUFFER_OBJ* pDmmBuf; 474fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}LCML_NBAMRDEC_BUFHEADERTYPE; 475fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 476fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 477fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 478fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 479fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 480fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 481fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 482fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 483fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* OMX_EXPORT WinCE Implicit Export Syntax 484fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 485fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 486fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_EXPORT __declspec(dllexport) 487fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 488fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_EXPORT OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 489fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 490fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 491fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 492fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRDEC_StartComponentThread(OMX_HANDLETYPE pHandle); 493fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRDEC_StopComponentThread(OMX_HANDLETYPE pHandle); 494fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRDEC_FreeCompResources(OMX_HANDLETYPE pComponent); 495fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 496fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 497fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 498fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Instrumentation info 499fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 500fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 501fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 502fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct _NBAMRDEC_BUFFERLIST NBAMRDEC_BUFFERLIST; 503fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 504fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 505fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 506fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Structure for buffer list 507fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 508fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 509fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinstruct _NBAMRDEC_BUFFERLIST{ 510b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr[MAX_NUM_OF_BUFS]; /* records buffer header send by client */ 511b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bufferOwner[MAX_NUM_OF_BUFS]; 512b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bBufferPending[MAX_NUM_OF_BUFS]; 513b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U16 numBuffers; 514fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 515fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 516fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 517b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #ifndef _OMX_EVENT_ 518b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define _OMX_EVENT_ 519b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin typedef struct OMX_Event { 520b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin HANDLE event; 521b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin } OMX_Event; 522b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #endif 523fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 524fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 525fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct PV_OMXComponentCapabilityFlagsType 526fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 527fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ////////////////// OMX COMPONENT CAPABILITY RELATED MEMBERS (for opencore compatability) 528fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iIsOMXComponentMultiThreaded; 529fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalOutputBufferAlloc; 530fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalInputBufferAlloc; 531fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsMovableInputBuffers; 532fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsPartialFrames; 533fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentNeedsNALStartCode; 534fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentCanHandleIncompleteFrames; 535fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} PV_OMXComponentCapabilityFlagsType; 536fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 537fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 538fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 539fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * NBAMRDEC_BUFDATA 540fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 541fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 542fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct NBAMRDEC_BUFDATA { 543fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nFrames; 544fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRDEC_BUFDATA; 545fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 546fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 547fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 548fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Component private data 549fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 550fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 551fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AMRDEC_COMPONENT_PRIVATE 552fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 553fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Array of pointers to BUFFERHEADERTYPE structues 554fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin This pBufHeader[NBAMRDEC_INPUT_PORT] will point to all the 555fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFERHEADERTYPE structures related to input port, 556fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin not just one structure. Same is for output port 557fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin also. */ 558fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 559fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 560fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_OBJHANDLE pPERF, pPERFcomp; 561fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntIp; 562fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntOpReceived; 563fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 564fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 565fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* pBufHeader[NUM_OF_PORTS]; 566fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 567fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFERHEADERTYPE_INFO BufInfo[NUM_OF_PORTS]; 568fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 569fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Structure of callback pointers */ 570fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_CALLBACKTYPE cbInfo; 571fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 572fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Handle for use with async callbacks */ 573fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PORT_PARAM_TYPE sPortParam; 574fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 575fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Input port parameters */ 576fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE sInPortFormat; 577fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 578fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Output port parameters */ 579fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE sOutPortFormat; 580fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 581fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This will contain info like how many buffers 582fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin are there for input/output ports, their size etc, but not 583fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFERHEADERTYPE POINTERS. */ 584fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_PORTDEFINITIONTYPE* pPortDef[NUM_OF_PORTS]; 585fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 586fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** NBAMR Component Parameters */ 587fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_AMRTYPE* amrParams[NUM_OF_PORTS]; /*amrParams[Output] = OMX_AUDIO_PARAM_PCMMODETYPE*/ 588fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 589fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This is component handle */ 590fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_COMPONENTTYPE* pHandle; 591fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 592fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Current state of this component */ 593fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STATETYPE curState; 594fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 595fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The component thread handle */ 596fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_t ComponentThread; 597fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 598fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 599fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int dataPipe[2]; 600fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 601fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 602fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdPipe[2]; 603fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 604fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 605fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdDataPipe[2]; 606fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 607fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Set to indicate component is stopping */ 608fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bIsStopping; 609fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 610fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 611fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nIpBuf; 612fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 613fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 614fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nOpBuf; 615fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 616fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of Buffers In the Application*/ 617fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 app_nBuf; 618fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 619fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** LCML Number Input Buffer Received*/ 620fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntIp; 621fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 622fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** LCML Number Output Buffer Received*/ 623fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntOpReceived; 624fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 625fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Num Reclaimed OutPut Buff */ 626fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 num_Reclaimed_Op_Buff; 627fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 628b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** LCML Handle */ 629fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE pLcmlHandle; 630fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 631fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** LCML Buffer Header */ 632fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin LCML_NBAMRDEC_BUFHEADERTYPE *pLcmlBufHeader[2]; 633fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 634b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag for mime mode */ 635fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S16 iAmrMimeFlag; 636fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 637b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Sampling Frequeny */ 638fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S16 iAmrSamplingFrequeny; 639fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 640fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of channels */ 641fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 iAmrChannels; 642fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 643fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag for Amr mode */ 644fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S16 iAmrMode; 645fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 646fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag for DASF mode */ 647b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S16 dasfmode; 648fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 649b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag for mime mode */ 650b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S16 mimemode; 651fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 652b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag for ACDN mode */ 653b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S16 acdnmode; 654fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 655fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Writing pipe Used for DSP_RENDERING_ON */ 656b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int fdwrite; 657fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 658fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Reading pipe Used for DSP_RENDERING_ON */ 659b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int fdread; 660fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 661b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /* ID stream ID*/ 662b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 streamID; 663fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 664fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Flag for Port Defs Allocated*/ 665fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bPortDefsAllocated; 666fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 667fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Flag for Component Thread Started*/ 668fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bCompThreadStarted; 669fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 670fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Mark data */ 671fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PTR pMarkData; 672fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 673fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Mark buffer */ 674fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MARKTYPE *pMarkBuf; 675fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 676fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Mark target component */ 677fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE hMarkTargetComponent; 678fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 679fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag set when buffer should not be queued to the DSP */ 680fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bBypassDSP; 681fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 682fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Input buffer list */ 683fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_BUFFERLIST *pInputBufferList; 684fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 685fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Output buffer list */ 686fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRDEC_BUFFERLIST *pOutputBufferList; 687fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 688fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** LCML stream attributes */ 689fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin LCML_STRMATTR *strmAttr; 690fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 691fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Component version */ 692fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nVersion; 693fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 694fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Play Complete Flag */ 695fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bPlayCompleteFlag; 696fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 697fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** NBAMR Mime Bytes */ 698b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 amrMimeBytes[NUM_MIME_BYTES_ARRAY]; 699fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 700fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /**NBAMR IF2 Bytes**/ 701b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 amrIF2Bytes[NUM_IF2_BYTES_ARRAY]; 702fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 703fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of Bytes holding to be sent*/ 704fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nHoldLength; 705fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 706fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Pointer to the data holding to be sent*/ 707fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8* pHoldBuffer; 708fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 709fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag set when LCML handle is opened */ 710fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S16 bLcmlHandleOpened; 711fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 712fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Keeps track of the number of nFillThisBufferCount() calls */ 713fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nFillThisBufferCount; 714fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 715fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Keeps track of the number of nFillBufferDoneCount() calls */ 716b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nFillBufferDoneCount; 717fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 718fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Keeps track of the number of nEmptyThisBufferCount() calls */ 719b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyThisBufferCount; 720fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 721fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Keeps track of the number of nEmptyBufferDoneCount() calls */ 722b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyBufferDoneCount; 723fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 724fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Parameters for the Audio Codec */ 725fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AMRDEC_AudioCodecParams *pParams; 726fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 727fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag for Init Params Initialized */ 728fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bInitParamsInitialized; 729fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 730fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag for bIdleCommandPending */ 731fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* OMX_U32 bIdleCommandPending; */ 732fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 733fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Array of Input Buffers that are pending to sent due State = Idle */ 734fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pInputBufHdrPending[MAX_NUM_OF_BUFS]; 735fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 736fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of Input Buffers that are pending to sent due State = Idle */ 737fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNumInputBufPending; 738fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 739fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Array of Output Buffers that are pending to sent due State = Idle */ 740fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPending[MAX_NUM_OF_BUFS]; 741fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 742fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of Output Buffers that are pending to sent due State = Idle */ 743fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNumOutputBufPending; 744fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 745fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag for bDisableCommandPending*/ 746fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bDisableCommandPending; 747fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 748fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bEnableCommandPending; 749fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 750fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag for bDisableCommandParam*/ 751fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bDisableCommandParam; 752fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 753fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bEnableCommandParam; 754fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 755b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag to set when socket node stop callback should not transition 756b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin component to OMX_StateIdle */ 757b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bNoIdleOnStop; 758fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 759b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Number of outstanding FillBufferDone() calls */ 760b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nOutStandingFillDones; 761fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 762fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Stop Codec Command Sent Flag*/ 763b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 bStopSent; 764fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 765b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nRuntimeInputBuffers; 766fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 767b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nRuntimeOutputBuffers; 768fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 769b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /* Removing sleep() calls. Definition. */ 770fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 771b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t AlloBuf_mutex; 772fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t AlloBuf_threshold; 773fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 774fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 775b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t codecStop_mutex; 776b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_cond_t codecStop_threshold; 777b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 codecStop_waitingsignal; 778b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 779fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InLoaded_mutex; 780fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InLoaded_threshold; 781fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 782fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 783fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InIdle_mutex; 784fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InIdle_threshold; 785fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 786b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 787b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S8 nUnhandledFillThisBuffers; 788fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S8 nUnhandledEmptyThisBuffers; 789fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushOutputPortCommandPending; 790fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushInputPortCommandPending; 791fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 792fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event AlloBuf_event; 793fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 794fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 795fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InLoaded_event; 796fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 797fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 798fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InIdle_event; 799fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 800fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 801fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Removing sleep() calls. Definition. */ 802fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 803fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 PendingPausedBufs; 804fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPausedPending[MAX_NUM_OF_BUFS]; 805fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 806fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *LastOutbuf; 807fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 808b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BOOL bIsInvalidState; 809b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_STRING* sDeviceString; 810fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 811b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin void* ptrLibLCML; 812b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 813fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Circular array to keep buffer timestamps */ 814b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrBufIndex[MAX_NUM_OF_BUFS]; 815fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Circular array to keep buffer nTickCounts */ 816b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrTickCount[MAX_NUM_OF_BUFS]; 817b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrBufIndex[], used for input buffer timestamps */ 818b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 IpBufindex; 819b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrBufIndex[], used for output buffer timestamps */ 820b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 OpBufindex; 821fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 822fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag to flush SN after EOS in order to process more buffers after EOS**/ 823b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 SendAfterEOS; 824fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 825b65f253fdc60f6208a54911bee793d225f23cdf8James Dong /** Flag to mark the first sent buffer**/ 826b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U8 first_buff; 827b65f253fdc60f6208a54911bee793d225f23cdf8James Dong /** First Time Stamp sent **/ 828b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_TICKS first_TS; 829b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 830b65f253fdc60f6208a54911bee793d225f23cdf8James Dong /** Temporal time stamp **/ 831b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_TICKS temp_TS; 832b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 833fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bLoadedCommandPending; 834fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 835fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_COMPONENTROLETYPE componentRole; 836fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 837fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Pointer to port priority management structure */ 838fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PRIORITYMGMTTYPE* pPriorityMgmt; 839fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 840b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 841b65f253fdc60f6208a54911bee793d225f23cdf8James Dong RMPROXY_CALLBACKTYPE rmproxyCallback; 842b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 843fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 844fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bPreempted; 845fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFrameLost; 846fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 847b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag to mark RTSP**/ 848b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 using_rtsp; 849b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 850fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PV_OMXComponentCapabilityFlagsType iPVCapabilityFlags; 851fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 852fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin struct OMX_TI_Debug dbg; 853fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 854b04e7d5f8b0407a4cd6034eadc41ce8f0e5fe8acJames Dong /** Indicate when first output buffer received from DSP **/ 855b04e7d5f8b0407a4cd6034eadc41ce8f0e5fe8acJames Dong OMX_U32 first_output_buf_rcv; 856b04e7d5f8b0407a4cd6034eadc41ce8f0e5fe8acJames Dong 857fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} AMRDEC_COMPONENT_PRIVATE; 858fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 859fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_NBAMRDEC_INDEXAUDIOTYPE { 860fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecModeEfrConfig = 0xFF000001, 861fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecModeAmrConfig, 862fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecModeAcdnConfig, 863fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecModeDasfConfig, 864fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecModeMimeConfig, 865fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecHeaderInfoConfig, 866fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecStreamIDConfig, 867fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecDataPath, 868fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomNbAmrDecNextFrameLost, 869fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomDebug 870fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}OMX_NBAMRDEC_INDEXAUDIOTYPE; 871fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 872b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*=======================================================================*/ 873b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*! @fn SignalIfAllBuffersAreReturned 874b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 875b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @brief Sends pthread signal to indicate OMX has returned all buffers to app 876b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 877b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @param none 878b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 879b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @Return void 880b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 881b65f253fdc60f6208a54911bee793d225f23cdf8James Dong */ 882b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*=======================================================================*/ 883b65f253fdc60f6208a54911bee793d225f23cdf8James Dongvoid SignalIfAllBuffersAreReturned(AMRDEC_COMPONENT_PRIVATE *pComponentPrivate); 884b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 885fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif /* OMX_AMRDECODER_H */ 886