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_AmrEnc_Utils.h 30fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 31fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* This is an header file for an NBAMR Encoder that is fully 32fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* compliant with the OMX Audio specification 1.5. 33fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* This the file that the application that uses OMX would include in its code. 34fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 35fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @path $(CSLPATH)\OMAPSW_MPU\linux\audio\src\openmax_il\nbamr_enc\inc 36fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 37fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @rev 1.0 38fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 39fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* --------------------------------------------------------------------------- */ 40fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ---------------------------------------------------------------------------- 41fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 42fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! Revision History 43fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! =================================== 44fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 21-sept-2006 bk: updated review findings for alpha release 45fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 24-Aug-2006 bk: Khronos OpenMAX (TM) 1.0 Conformance tests some more 46fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 18-July-2006 bk: Khronos OpenMAX (TM) 1.0 Conformance tests validated for few cases 47fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 21-Jun-2006 bk: Khronos OpenMAX (TM) 1.0 migration done 48fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 22-May-2006 bk: DASF recording quality improved 49fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 19-Apr-2006 bk: DASF recording speed issue resloved 50fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 23-Feb-2006 bk: DASF functionality added 51fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 18-Jan-2006 bk: Repated recording issue fixed and LCML changes taken care 52fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 14-Dec-2005 bk: Initial Version 53fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 16-Nov-2005 bk: Initial Version 54fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 23-Sept-2005 bk: Initial Version 55fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 10-Sept-2005 bk: Initial Version 56fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! 10-Sept-2005 bk: 57fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*! This is newest file 58fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* =========================================================================== */ 59fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef OMX_AMRENC_UTILS__H 60fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_AMRENC_UTILS__H 61fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 62fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <pthread.h> 63fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "LCML_DspCodec.h" 64fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Component.h> 65fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "OMX_TI_Common.h" 66b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include "OMX_TI_Debug.h" 67fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <TIDspOmx.h> 68b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 69b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 70b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#include <ResourceManagerProxyAPI.h> 71b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 72fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 73fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 74fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #include "perf.h" 75fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 76fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 77fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef DSP_RENDERING_ON 78b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #include <AudioManagerAPI.h> 79fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 80fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 81fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 82b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define sleep Sleep 83fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 84fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 85fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef ANDROID 86fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define ANDROID 87fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 88fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 89fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef ANDROID 90fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef LOG_TAG 91b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define LOG_TAG "OMX_NBAMRENC" 92b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin// #define LOG_TAG "nbamr_enc" 93b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /* PV opencore capability custom parameter index */ 94b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define PV_OMX_COMPONENT_CAPABILITY_TYPE_INDEX 0xFF7A347 95fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 96b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 97fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 98fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 99fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AMRENC_DEBUG Turns debug messaging on and off 100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 102b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define AMRENC_DEBUG 103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AMRENC_MEMCHECK Turns memory messaging on and off 106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 107fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 108fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AMRENC_MEMCHECK 109fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 110fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 111fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 112fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_DEBUGMEM Turns memory leaks messaging on and off. 113fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * APP_DEBUGMEM must be defined in Test App in order to get 114fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * this functionality On. 115fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 116fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 117fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef NBAMRENC_DEBUGMEM 118fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 119fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 120fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 121fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AMRENC_EPRINT Error print macro 122fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 123fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 124fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 125fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #ifdef ANDROID 126a0a88cf291e156344d5346c29824d996d1d81fabSteve Block #define AMRENC_EPRINT ALOGE 127b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #else 128fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRENC_EPRINT(...) fprintf(stderr,__VA_ARGS__) 129fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #endif 130fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 131b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRENC_EPRINT 132fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 133fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 134fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 135fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 136fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 137fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 138fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AMRENC_DEBUG Debug print macro 139fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 140fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 141fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 142fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 143fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRENC_DEBUG 144fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRENC_DPRINT(...) fprintf(stderr,__VA_ARGS__) 145fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 146fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #ifdef ANDROID 147fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef AMRENC_DPRINT 148969334aaa54230ed3a9172452489a52ce07cc5cfSteve Block #define AMRENC_DPRINT ALOGW 149fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #endif 150fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 151fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 152fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRENC_DPRINT(...) 153fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 154fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 155fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 156fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 157fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 158fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AMRENC_MEMCHECK Memory print macro 159fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 160fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 161fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRENC_MEMCHECK 162fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRENC_MEMPRINT(...) fprintf(stderr,__VA_ARGS__) 163fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 164fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #ifdef ANDROID 165fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef AMRENC_MEMPRINT 166969334aaa54230ed3a9172452489a52ce07cc5cfSteve Block #define AMRENC_MEMPRINT ALOGW 167fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #endif 168fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 169fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 170b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRENC_MEMPRINT(...) printf 171fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 172fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 173fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else /*UNDER_CE*/ 174fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 175fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 176fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AMRENC_DEBUG Debug print macro 177fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 178fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 179fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRENC_DEBUG 180b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRENC_DPRINT(STR, ARG...) printf() 181fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 182fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 183fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 184fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 185fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 186fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AMRENC_MEMCHECK Memory print macro 187fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 188fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 189fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AMRENC_MEMCHECK 190b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRENC_MEMPRINT(STR, ARG...) printf() 191fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 192fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 193fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 194fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 195fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 196fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 197fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef DEBUG 198fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #ifdef ANDROID 199969334aaa54230ed3a9172452489a52ce07cc5cfSteve Block #define AMRENC_DPRINT ALOGW 200969334aaa54230ed3a9172452489a52ce07cc5cfSteve Block #define AMRENC_MEMPRINT ALOGW 201fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #else 202fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRENC_DPRINT printf 203fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AMRENC_MEMPRINT printf 204fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #endif 205fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 206b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRENC_DPRINT 207b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define AMRENC_MEMPRINT 208fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 209fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 210b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif /*UNDER_CE*/ 211fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 212fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 213fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 214fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 215fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 216fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * M A C R O S FOR MALLOC and MEMORY FREE and CLOSING PIPES 217fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 218fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 219fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 220b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_NBCONF_INIT_STRUCT(_s_, _name_) \ 221b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin memset((_s_), 0x0, sizeof(_name_)); \ 222b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nSize = sizeof(_name_); \ 223b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nVersion.s.nVersionMajor = 0x1; \ 224b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nVersion.s.nVersionMinor = 0x0; \ 225b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nVersion.s.nRevision = 0x0; \ 226fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin (_s_)->nVersion.s.nStep = 0x0 227fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 228fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_NBCLOSE_PIPE(_pStruct_,err)\ 22900f4c8bed7990ebaff8e20bd13b5dbdacbe22c29Benny Wong OMXDBG_PRINT(stderr, COMM, 2, OMX_DBG_BASEMASK, "%d :: CLOSING PIPE \n",__LINE__); \ 230b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin err = close (_pStruct_);\ 231fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin if(0 != err && OMX_ErrorNone == eError){\ 232b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin eError = OMX_ErrorHardware;\ 233b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMXDBG_PRINT(stderr, ERROR, 4, 0, "%d :: Error while closing pipe\n",__LINE__);\ 234b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin goto EXIT;\ 235b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin } 236fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 237fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_OMX_ERROR_EXIT(_e_, _c_, _s_)\ 238fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin _e_ = _c_;\ 239b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMXDBG_PRINT(stderr, ERROR, 4, 0, "\n**************** OMX ERROR ************************\n");\ 240b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMXDBG_PRINT(stderr, ERROR, 4, 0, "%d : Error Name: %s : Error Num = %x",__LINE__, _s_, _e_);\ 241b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMXDBG_PRINT(stderr, ERROR, 4, 0, "\n**************** OMX ERROR ************************\n");\ 242fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin goto EXIT; 243fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 244fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 245fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 246fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_NUM_INPUT_BUFFERS Default number of input buffers 247fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 248fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 249fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NUM_INPUT_BUFFERS 1 250fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 251fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 252fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_NUM_INPUT_BUFFERS_DASF Default No.of input buffers DASF 253fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 254fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 255fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NUM_INPUT_BUFFERS_DASF 2 256fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 257fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 258fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_NUM_OUTPUT_BUFFERS Default number of output buffers 259fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 260fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 261fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NUM_OUTPUT_BUFFERS 1 262fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 263fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 264b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def NBAMRENC_INPUT_BUFFER_SIZE Default input buffer size 265b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * NBAMRENC_INPUT_BUFFER_SIZE_DASF Default input buffer size DASF 266fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * NBAMRENC_INPUT_FRAME_SIZE Default input Frame Size 267fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 268fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 269fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_INPUT_BUFFER_SIZE 320 270fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_INPUT_BUFFER_SIZE_DASF 320 271fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_INPUT_FRAME_SIZE 320 272fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 273fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 274fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_OUTPUT_BUFFER_SIZE Default output buffer size 275b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * NBAMRENC_OUTPUT_FRAME_SIZE Default output frame size 276fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 277fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 278fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_OUTPUT_BUFFER_SIZE 118 279fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_OUTPUT_FRAME_SIZE 118 280fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 281fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 282fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_OUTPUT_BUFFER_SIZE_MIME Default input buffer size MIME 283fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 284fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 285fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_OUTPUT_BUFFER_SIZE_MIME 34 286fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 287fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 288fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 289fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_OUTPUT_BUFFER_SIZE_MIME Default input buffer size IF2 290fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 291fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 292fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_OUTPUT_BUFFER_SIZE_IF2 32 293fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 294fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 295fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 296fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_OUTPUT_BUFFER_SIZE_EFR Default input buffer size EFR 297fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 298fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 299fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_OUTPUT_BUFFER_SIZE_EFR 120 300fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 301fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 302fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 303b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def NBAMRENC_APP_ID App ID Value setting 304fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 305fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 306fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_APP_ID 100 307fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 308fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 309fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 310fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_SAMPLING_FREQUENCY Sampling frequency 311fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 312fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 313fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_SAMPLING_FREQUENCY 8000 314fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 315fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 316fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_CPU_LOAD CPU Load in MHz 317fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 318fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 319fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_CPU_LOAD 12 320fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 321fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 322fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_MAX_NUM_OF_BUFS Maximum number of buffers 323fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 324fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 325fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_MAX_NUM_OF_BUFS 15 326fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 327fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 328fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_NUM_OF_PORTS Number of ports 329fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 330fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 331fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NUM_OF_PORTS 2 332fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 333fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 334fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_XXX_VER Component version 335fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 336fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 337fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_MAJOR_VER 0x1 338fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_MINOR_VER 0x1 339fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 340fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 341fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_NOT_USED Defines a value for "don't care" parameters 342fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 343fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 344fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NOT_USED 10 345fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 346fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 347fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_NORMAL_BUFFER Defines flag value with all flags off 348fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 349fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 350fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NORMAL_BUFFER 0 351fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 352fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 353fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_NBAMRENC_DEFAULT_SEGMENT Default segment ID for the LCML 354fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 355fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 356fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_DEFAULT_SEGMENT (0) 357fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 358fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 359fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_NBAMRENC_SN_TIMEOUT Timeout value for the socket node 360fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 361fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 362fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_SN_TIMEOUT (-1) 363fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 364fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 365fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_NBAMRENC_SN_PRIORITY Priority for the socket node 366fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 367fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 368fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_SN_PRIORITY (10) 369fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 370fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 371fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_NBAMRENC_NUM_DLLS number of DLL's 372fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 373fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 374fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NUM_DLLS (2) 375fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 376fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 377fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_USN_DLL_NAME USN DLL name 378fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 379fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 380fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 381b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define NBAMRENC_USN_DLL_NAME "\\windows\\usn.dll64P" 382fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 383fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define NBAMRENC_USN_DLL_NAME "usn.dll64P" 384fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 385fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 386fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 387fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 388fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_DLL_NAME NBAMR Encoder socket node dll name 389fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 390fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 391fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 392b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define NBAMRENC_DLL_NAME "\\windows\\nbamrenc_sn.dll64P" 393fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 394fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define NBAMRENC_DLL_NAME "nbamrenc_sn.dll64P" 395fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 396fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 397fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 398fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRENC_StreamType Stream types 399fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 400b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_DMM DMM 401fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 402b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_INSTRM Input stream 403fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 404b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_OUTSTRM Output stream 405fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 406fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 407fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum NBAMRENC_StreamType { 408fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_DMM = 0, 409fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_INSTRM, 410fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_OUTSTRM 411fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 412fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 413fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRENC_EncodeType coding types 414fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 415b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_NBAMR NBAMR mode 416fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 417b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_EFR EFR mode 418fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 419fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 420fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 421fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum NBAMRENC_EncodeType { 422b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_NBAMR = 0, 423b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_EFR 424fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 425fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 426fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRENC_MimeMode format types 427fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 428b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_MIMEMODE MIME 429fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 430b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_FORMATCONFORMANCE NBAMR mode 431fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 432b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_IF2 IF2 433fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 434fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 435fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 436fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum NBAMRENC_MimeMode { 437b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_FORMATCONFORMANCE = 0, 438b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_MIMEMODE, 439b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_IF2 440fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 441fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 442fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 443fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 444fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Different Frame sizes for different index in MIME Mode 445fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 446fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 447b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_0 0 448b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_1 1 449b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_6 6 450b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_13 13 451fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_14 14 452fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_16 16 453fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_18 18 454fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_19 19 455fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_20 20 456fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_21 21 457fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_26 26 458fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_27 27 459fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_31 31 460fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_FRAME_SIZE_32 32 461fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 462fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 463fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 464fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 465fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 466fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_TIMEOUT Default timeout used to come out of blocking calls 467fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 468fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 469fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_TIMEOUT 1000 470fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 471fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 472b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def NBAMRENC_OMX_MAX_TIMEOUTS Max Time Outs 473b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def NBAMRENC_DONT_CARE Dont Care Condition 474b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def NBAMRENC_NUM_CHANNELS Number of Channels 475b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def NBAMRENC_APP_ID App ID Value setting 476fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 477fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 478fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_OMX_MAX_TIMEOUTS 20 479fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_DONT_CARE 0 480fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_NUM_CHANNELS 1 481fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 482fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 483fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NBAMRENC_STREAM_COUNT Number of streams 484b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * NBAMRENC_INPUT_STREAM_ID Stream ID for Input Buffer 485fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 486fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 487fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_STREAM_COUNT 2 488fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NBAMRENC_INPUT_STREAM_ID 0 489fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 490fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 491fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 492fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def _ERROR_PROPAGATION__ Allow Logic to Detec&Report Arm Errors 493fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 494fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 495fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define _ERROR_PROPAGATION__ 496fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 497fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 498fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct PV_OMXComponentCapabilityFlagsType 499fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 500fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ////////////////// OMX COMPONENT CAPABILITY RELATED MEMBERS (for opencore compatability) 501fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iIsOMXComponentMultiThreaded; 502fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalOutputBufferAlloc; 503fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalInputBufferAlloc; 504fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsMovableInputBuffers; 505fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsPartialFrames; 506fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentNeedsNALStartCode; 507fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentCanHandleIncompleteFrames; 508fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} PV_OMXComponentCapabilityFlagsType; 509fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 510fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRENC_COMP_PORT_TYPE Port types 511fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 512b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @param NBAMRENC_INPUT_PORT Input port 513fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 514b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @param NBAMRENC_OUTPUT_PORT Output port 515fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 516fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ====================================================================== */ 517fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*This enum must not be changed. */ 518fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum NBAMRENC_COMP_PORT_TYPE { 519fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_INPUT_PORT = 0, 520fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_OUTPUT_PORT 521fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_COMP_PORT_TYPE; 522fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 523fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 524fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRENC_BUFFER_Dir Buffer Direction 525fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 526b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_DIRECTION_INPUT Input direction 527fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 528b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param NBAMRENC_DIRECTION_OUTPUT Output direction 529fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 530fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 531fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 532fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 533fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_DIRECTION_INPUT, 534fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_DIRECTION_OUTPUT 535fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_BUFFER_Dir; 536fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 537fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 538fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** AUDIO_SN_AMRBANDMODETYPE BitRate Enum on the format used by 539fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* the SN 540fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param SN_AUDIO_BR_X 541fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 542fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 543fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum AUDIO_SN_AMRBANDMODETYPE { 544fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_BR122 = 0, 545fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_BR102, 546fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_BR795, 547fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_BR74, 548fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_BR67, 549fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_BR59, 550fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_BR515, 551fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_475, 552fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin SN_AUDIO_AMRBandModeMax = 0x7FFFFFFF 553fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}AUDIO_SN_AMRBANDMODETYPE; 554fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 555fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 556fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRENC_BUFFS Buffer details 557fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 558fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param BufHeader Buffer header 559fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 560b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param Buffer Buffer 561fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 562fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 563fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 564fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct NBAMRENC_BUFFS { 565fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char BufHeader; 566fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char Buffer; 567fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_BUFFS; 568fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 569fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 570fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** NBAMRENC_BUFFERHEADERTYPE_INFO 571fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 572fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param pBufHeader 573fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 574fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param bBufOwner 575fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 576fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 577fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 578fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct NBAMRENC_BUFFERHEADERTYPE_INFO { 579fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* pBufHeader[NBAMRENC_MAX_NUM_OF_BUFS]; 580fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_BUFFS bBufOwner[NBAMRENC_MAX_NUM_OF_BUFS]; 581fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_BUFFERHEADERTYPE_INFO; 582fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 583fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 584fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef OMX_ERRORTYPE (*NBAMRENC_fpo)(OMX_HANDLETYPE); 585fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 586fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 587fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 588fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Socket node Audio Codec Configuration parameters. 589fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 590fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 591fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct NBAMRENC_AudioCodecParams { 592b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iSamplingRate; 593b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iStrmId; 594b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned short iAudioFormat; 595fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_AudioCodecParams; 596fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 597fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 598fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 599b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* NBAMRENC_TALGCtrl Socket Node Alg Control parameters. 600b65f253fdc60f6208a54911bee793d225f23cdf8James Dong* NBAMRENC_TALGCtrlDTX Socket Node Alg Control parameters (DTX). 601b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* NBAMRENC_UAlgInBufParamStruct Input Buffer Param Structure 602b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* NBAMRENC_UAlgOutBufParamStruct Output Buffer Param Structure 603fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 604fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 605fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* Algorithm specific command parameters */ 606fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct { 607b65f253fdc60f6208a54911bee793d225f23cdf8James Dong int iSize; 608b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned int iBitrate; 609b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 610fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_TALGCtrl; 611fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 612b65f253fdc60f6208a54911bee793d225f23cdf8James Dongtypedef struct { 613b65f253fdc60f6208a54911bee793d225f23cdf8James Dong int iSize; 614b65f253fdc60f6208a54911bee793d225f23cdf8James Dong unsigned int iVADFlag; 615b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 616b65f253fdc60f6208a54911bee793d225f23cdf8James Dong}NBAMRENC_TALGCtrlDTX; 617fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 618fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 619b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* NBAMRENC_UAlgInBufParamStruct Input Buffer Param Structure 620b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* usLastFrame To Send Last Buufer Flag 621fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 622fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 623fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct { 624fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usLastFrame; 625fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_FrameStruct; 626fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 627fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct{ 628fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usNbFrames; 629fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_FrameStruct *pParamElem; 630fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_ParamStruct; 631fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 632fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 633fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 634fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_LCML_BUFHEADERTYPE Buffer Header Type 635fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 636fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 637fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct NBAMRENC_LCML_BUFHEADERTYPE { 638fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_BUFFER_Dir eDir; 639fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_FrameStruct *pFrameParam; 640fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_ParamStruct *pBufferParam; 641fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin DMM_BUFFER_OBJ* pDmmBuf; 642fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* buffer; 643fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_LCML_BUFHEADERTYPE; 644fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 645fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct _NBAMRENC_BUFFERLIST NBAMRENC_BUFFERLIST; 646fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 647fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 648fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 649fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* _NBAMRENC_BUFFERLIST Structure for buffer list 650fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 651fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 652fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinstruct _NBAMRENC_BUFFERLIST{ 653b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE sBufHdr; 654fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr[NBAMRENC_MAX_NUM_OF_BUFS]; 655b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bufferOwner[NBAMRENC_MAX_NUM_OF_BUFS]; 656b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bBufferPending[NBAMRENC_MAX_NUM_OF_BUFS]; 657b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U16 numBuffers; 658fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_BUFFERLIST *pNextBuf; 659fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_BUFFERLIST *pPrevBuf; 660fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 661fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 662fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 663fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 664fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_PORT_TYPE Structure for PortFormat details 665fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 666fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 667fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct NBAMRENC_PORT_TYPE { 668fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE hTunnelComponent; 669fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nTunnelPort; 670fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERSUPPLIERTYPE eSupplierSetting; 671b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 nBufferCnt; 672b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE* pPortFormat; 673fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} NBAMRENC_PORT_TYPE; 674fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 675fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 676b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #ifndef _OMX_EVENT_ 677b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define _OMX_EVENT_ 678b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin typedef struct OMX_Event { 679b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin HANDLE event; 680b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin } OMX_Event; 681b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #endif 682b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int OMX_CreateEvent(OMX_Event *event); 683b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int OMX_SignalEvent(OMX_Event *event); 684b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int OMX_WaitForEvent(OMX_Event *event); 685b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int OMX_DestroyEvent(OMX_Event *event); 686fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 687fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 688fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 689fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 690fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_BUFDATA 691fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 692fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 693fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct NBAMRENC_BUFDATA { 694fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nFrames; 695fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}NBAMRENC_BUFDATA; 696fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 697fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 698fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 699fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* AMRENC_COMPONENT_PRIVATE Component private data Structure 700fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 701fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 702fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AMRENC_COMPONENT_PRIVATE 703fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 704fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Array of pointers to BUFFERHEADERTYPE structues 705fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin This pBufHeader[INPUT_PORT] will point to all the 706fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFERHEADERTYPE structures related to input port, 707fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin not just one structure. Same is the case for output 708fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin port also. */ 709fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* pBufHeader[NBAMRENC_NUM_OF_PORTS]; 710b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nRuntimeInputBuffers; 711fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 712b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nRuntimeOutputBuffers; 713fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_CALLBACKTYPE cbInfo; 714fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PORT_PARAM_TYPE* sPortParam; 715fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PRIORITYMGMTTYPE* sPriorityMgmt; 716b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 717b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 718b65f253fdc60f6208a54911bee793d225f23cdf8James Dong RMPROXY_CALLBACKTYPE rmproxyCallback; 719b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 720b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 721fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bPreempted; 722b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 723fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_PORTDEFINITIONTYPE* pPortDef[NBAMRENC_NUM_OF_PORTS]; 724fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PORT_PARAM_TYPE* pPortParamType; 725b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_AUDIO_PARAM_AMRTYPE* amrParams; 726b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_AUDIO_PARAM_PCMMODETYPE* pcmParams; 727fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_BUFFERHEADERTYPE_INFO BufInfo[NBAMRENC_NUM_OF_PORTS]; 728fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_PORT_TYPE *pCompPort[NBAMRENC_NUM_OF_PORTS]; 729fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_LCML_BUFHEADERTYPE *pLcmlBufHeader[NBAMRENC_NUM_OF_PORTS]; 730fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This is component handle */ 731fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_COMPONENTTYPE* pHandle; 732fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Current state of this component */ 733fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STATETYPE curState; 734fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The component thread handle */ 735fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_t ComponentThread; 736fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 737fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int dataPipe[2]; 738fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending command to the thread */ 739fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdPipe[2]; 740fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending cmd data to the thread */ 741fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdDataPipe[2]; 742fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 743fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 efrMode; 744fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 745fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 amrMode; 746fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 747b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 dasfMode; 748fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 749b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 frameMode; 750fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 751b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 acdnMode; 752fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 753b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nMultiFrameMode; 754fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 755b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_S32 fdwrite; 756fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 757b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_S32 fdread; 758fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 759fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Set to indicate component is stopping */ 760fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bIsStopping; 761fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 762fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bIsThreadstop; 763fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 764fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 765fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nIpBuf; 766fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 767fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 768fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nOpBuf; 769fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 770fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 app_nBuf; 771fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 772fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 num_Op_Issued; 773fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 774b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 streamID; 775fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 776fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bCompThreadStarted; 777fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 778fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nVersion; 779fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 780b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 amrMimeBytes[16]; 781b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 782b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 amrIf2Bytes[16]; 783fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 784b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 iHoldLen; 785fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 786b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nHoldLength; 787fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 788b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nFillThisBufferCount; 789fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 790b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nFillBufferDoneCount; 791fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 792b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyThisBufferCount; 793fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 794b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyBufferDoneCount; 795fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 796b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bInitParamsInitialized; 797fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 798fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNumInputBufPending; 799fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 800fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNumOutputBufPending; 801fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 802fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bDisableCommandPending; 803b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 804b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bEnableCommandPending; 805fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 806fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bDisableCommandParam; 807b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 808b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bEnableCommandParam; 809fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 810fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE pLcmlHandle; 811fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 812fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PTR pMarkData; 813fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 814fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MARKTYPE *pMarkBuf; 815fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 816fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE hMarkTargetComponent; 817fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 818fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_BUFFERLIST *pInputBufferList; 819fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 820fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin NBAMRENC_BUFFERLIST *pOutputBufferList; 821fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 822b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin LCML_STRMATTR *strmAttr; 823fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 824b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_TALGCtrl *pAlgParam; 825fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 826b65f253fdc60f6208a54911bee793d225f23cdf8James Dong NBAMRENC_TALGCtrlDTX *pAlgParamDTX; 827b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 828b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_AudioCodecParams *pParams; 829fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 830b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_STRING cComponentName; 831fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 832b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_VERSIONTYPE ComponentVersion; 833fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 834fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pInputBufHdrPending[NBAMRENC_MAX_NUM_OF_BUFS]; 835fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 836fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPending[NBAMRENC_MAX_NUM_OF_BUFS]; 837fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 838b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *iMMFDataLastBuffer; 839fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 840b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 *pHoldBuffer,*pHoldBuffer2; 841fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 842b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8* iHoldBuffer; 843fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 844fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 845fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag to set when socket node stop callback should not transition 846fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin component to OMX_StateIdle */ 847fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bNoIdleOnStop; 848b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 849b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag set when socket node is stopped */ 850b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bDspStoppedWhileExecuting; 851fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 852fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of outstanding FillBufferDone() calls */ 853fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S32 nOutStandingFillDones; 854b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S32 nOutStandingEmptyDones; 855fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 856fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 857b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t AlloBuf_mutex; 858fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t AlloBuf_threshold; 859fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 860fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 861b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t codecStop_mutex; 862b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_cond_t codecStop_threshold; 863b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 codecStop_waitingsignal; 864b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 865fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InLoaded_mutex; 866fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InLoaded_threshold; 867fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 868fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 869fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InIdle_mutex; 870fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InIdle_threshold; 871fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 872b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 873b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 nUnhandledFillThisBuffers; 874fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nUnhandledEmptyThisBuffers; 875fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushOutputPortCommandPending; 876fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushInputPortCommandPending; 877fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 878b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t ToLoaded_mutex; 879fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 880fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event AlloBuf_event; 881fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 882fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 883fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InLoaded_event; 884fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 885fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 886fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InIdle_event; 887fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 888fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 889fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 890fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nNumOfFramesSent; 891fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 892fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InBuf_Eos_alreadysent; 893fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 894b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 PendingPausedBufs; 895b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPausedPending[NBAMRENC_MAX_NUM_OF_BUFS]; 896fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 897fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 898fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_OBJHANDLE pPERF, pPERFcomp; 899fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntIp; 900fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntOpReceived; 901fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 902fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *LastOutbuf; 903b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BOOL bIsInvalidState; 904b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 905b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_STRING* sDeviceString; 906b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 907b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin void* ptrLibLCML; 908fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 909fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Circular array to keep buffer timestamps */ 910b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrBufIndex[NBAMRENC_MAX_NUM_OF_BUFS]; 911fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Circular array to keep buffer nTickCounts */ 912b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrTickCount[NBAMRENC_MAX_NUM_OF_BUFS]; 913b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrBufIndex[], used for input buffer timestamps */ 914b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 IpBufindex; 915b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrBufIndex[], used for output buffer timestamps */ 916b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 OpBufindex; 917fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_TICKS TimeStamp; 918fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFirstInputBufReceived; 919fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 920fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S8 ProcessingInputBuf; 921fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S8 ProcessingOutputBuf; 922fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 923fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bLoadedCommandPending; 924fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bLoadedWaitingFreeBuffers; 925fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 926fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_COMPONENTROLETYPE componentRole; 927fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 teeMode; 928fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PV_OMXComponentCapabilityFlagsType iPVCapabilityFlags; 929b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 930b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin struct OMX_TI_Debug dbg; 931b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 9321b969242aa51f71fb39a9855b1ba20f6b7c0f3a9Benny Wong /* Reference count for pending state change requests */ 9331b969242aa51f71fb39a9855b1ba20f6b7c0f3a9Benny Wong OMX_U32 nPendingStateChangeRequests; 9341b969242aa51f71fb39a9855b1ba20f6b7c0f3a9Benny Wong pthread_mutex_t mutexStateChangeRequest; 9351b969242aa51f71fb39a9855b1ba20f6b7c0f3a9Benny Wong pthread_cond_t StateChangeCondition; 936fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} AMRENC_COMPONENT_PRIVATE; 937fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 938fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 939fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 940b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 941fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 942fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* WinCE Implicit Export Syntax */ 943fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_EXPORT __declspec(dllexport) 944fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 945fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 946fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* OMX_ComponentInit() Initializes component 947fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 948fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 949b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 950fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 951fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 952fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 953fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 954fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 955fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 956fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_EXPORT OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 957fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 958fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 959fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 960fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_StartComponentThread() Starts component thread 961fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 962fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 963b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 964fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 965fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 966fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 967fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 968fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 969fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 970fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_StartComponentThread(OMX_HANDLETYPE pHandle); 971fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 972fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 973fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_StopComponentThread() Stops component thread 974fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 975fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 976b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 977fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 978fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 979fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 980fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 981fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 982fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 983fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_StopComponentThread(OMX_HANDLETYPE pHandle); 984fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 985fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 986fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_FreeCompResources() Frees allocated memory 987fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 988fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 989b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 990fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 991fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 992fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 993fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 994fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 995fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 996fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_FreeCompResources(OMX_HANDLETYPE pComponent); 997fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 998fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 999fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_GetCorrespondingLCMLHeader() Returns LCML header 1000fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* that corresponds to the given buffer 1001fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1002b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1003fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1004fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1005fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1006fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1007fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1008fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_GetCorrespondingLCMLHeader(AMRENC_COMPONENT_PRIVATE *pComponentPrivate, 1009fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 *pBuffer, 1010b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir, 1011b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin NBAMRENC_LCML_BUFHEADERTYPE **ppLcmlHdr); 1012fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1013fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1014fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_LCMLCallback() Callback from LCML 1015fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1016b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param event Codec Event 1017fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1018b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param args Arguments from LCML 1019fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1020fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1021fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1022fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1023fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1024fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_LCMLCallback(TUsnCodecEvent event, 1025fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin void * args [10]); 1026fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1027fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1028fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_FillLCMLInitParams() Fills the parameters needed 1029fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* to initialize the LCML 1030fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1031fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param pHandle OMX Handle 1032fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1033fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param plcml_Init LCML initialization parameters 1034fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1035fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1036fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1037fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1038fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1039fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1040fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_FillLCMLInitParams(OMX_HANDLETYPE pHandle, 1041fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin LCML_DSP *plcml_Init, 1042fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U16 arr[]); 1043fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1044fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1045fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_GetBufferDirection() Returns direction of pBufHeader 1046fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1047b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBufHeader Buffer header 1048fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1049b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Buffer direction 1050fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1051b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1052fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1053fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1054fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1055fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1056fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1057fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_GetBufferDirection(OMX_BUFFERHEADERTYPE *pBufHeader, 1058b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE *eDir); 1059fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 1060fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1061fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_HandleCommand() Handles commands sent via SendCommand() 1062fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1063b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1064fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1065fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1066fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1067fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1068fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1069fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1070fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1071fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 NBAMRENC_HandleCommand(AMRENC_COMPONENT_PRIVATE *pComponentPrivate); 1072fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1073fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1074fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_HandleDataBufFromApp() Handles data buffers received 1075fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* from the IL Client 1076fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1077b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1078fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1079fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1080fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1081fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1082fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1083fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1084fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1085fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_HandleDataBufFromApp(OMX_BUFFERHEADERTYPE *pBufHeader, 1086b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin AMRENC_COMPONENT_PRIVATE *pComponentPrivate); 1087fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1088fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1089fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_GetLCMLHandle() Get the handle to the LCML 1090fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1091fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1092fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1093fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1094fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1095fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1096fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_HANDLETYPE NBAMRENC_GetLCMLHandle(AMRENC_COMPONENT_PRIVATE *pComponentPrivate); 1097fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1098fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1099fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_FreeLCMLHandle() Frees the handle to the LCML 1100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1102fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_FreeLCMLHandle(AMRENC_COMPONENT_PRIVATE *pComponentPrivate); 1107fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1108fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1109fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_CleanupInitParams() Starts component thread 1110fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1111b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponent OMX Handle 1112fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1113fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1114fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1115fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1116fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1117fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_CleanupInitParams(OMX_HANDLETYPE pHandle); 1118fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1119fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1120fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_SetPending() Called when the component queues a buffer 1121fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* to the LCML 1122fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1123b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1124fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1125b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBufHdr Buffer header 1126fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1127b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Direction of the buffer 1128fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1129fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return None 1130fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1131fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1132fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid NBAMRENC_SetPending(AMRENC_COMPONENT_PRIVATE *pComponentPrivate, 1133b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr, 1134b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir, 1135b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 lineNumber); 1136fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1137fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1138fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_ClearPending() Called when a buffer is returned 1139fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* from the LCML 1140fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1141b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1142fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1143b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBufHdr Buffer header 1144fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1145b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Direction of the buffer 1146fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1147fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return None 1148fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1149fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1150fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid NBAMRENC_ClearPending(AMRENC_COMPONENT_PRIVATE *pComponentPrivate, 1151b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr, 1152b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir, 1153b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 lineNumber); 1154fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1155fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1156fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_IsPending() 1157fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1158fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1159b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1160fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1161fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 1162fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 1163fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1164fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1165fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 NBAMRENC_IsPending(AMRENC_COMPONENT_PRIVATE *pComponentPrivate, 1166b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr, 1167b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir); 1168fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1169fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1170fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_FillLCMLInitParamsEx() Fills the parameters needed 1171fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* to initialize the LCML without recreating the socket node 1172fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1173b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponent OMX Handle 1174fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1175fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return None 1176fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1177fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1178fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE NBAMRENC_FillLCMLInitParamsEx(OMX_HANDLETYPE pComponent); 1179fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1180fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1181fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* NBAMRENC_IsValid() Returns whether a buffer is valid 1182fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1183fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1184b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 1185fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1186b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBuffer Data buffer 1187fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1188b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Buffer direction 1189fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1190fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_True = Valid 1191fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* OMX_False= Invalid 1192fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1193fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 1194fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 NBAMRENC_IsValid(AMRENC_COMPONENT_PRIVATE *pComponentPrivate, 1195b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 *pBuffer, 1196b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir); 1197fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1198b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 1199b65f253fdc60f6208a54911bee793d225f23cdf8James Dongvoid NBAMRENC_ResourceManagerCallback(RMPROXY_COMMANDDATATYPE cbData); 1200b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 1201fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 1202fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** OMX_NBAMRENC_INDEXAUDIOTYPE Defines the custom configuration settings 1203fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* for the component 1204fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1205fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param OMX_IndexCustomNBAMRENCModeConfig Sets the DASF mode 1206fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1207fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 1208fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 1209fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 1210fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_NBAMRENC_INDEXAUDIOTYPE { 1211b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomNBAMRENCModeConfig = 0xFF000001, 1212b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomNBAMRENCStreamIDConfig, 1213b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomNBAMRENCDataPath, 1214b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomDebug 1215fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}OMX_NBAMRENC_INDEXAUDIOTYPE; 1216fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 121700f4c8bed7990ebaff8e20bd13b5dbdacbe22c29Benny WongOMX_ERRORTYPE OMX_DmmMap(DSP_HPROCESSOR ProcHandle, int size, void* pArmPtr, DMM_BUFFER_OBJ* pDmmBuf, struct OMX_TI_Debug dbg); 121800f4c8bed7990ebaff8e20bd13b5dbdacbe22c29Benny WongOMX_ERRORTYPE OMX_DmmUnMap(DSP_HPROCESSOR ProcHandle, void* pMapPtr, void* pResPtr, struct OMX_TI_Debug dbg); 1219b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 1220b65f253fdc60f6208a54911bee793d225f23cdf8James Dongvoid NBAMRENC_HandleUSNError (AMRENC_COMPONENT_PRIVATE *pComponentPrivate, OMX_U32 arg); 12211b969242aa51f71fb39a9855b1ba20f6b7c0f3a9Benny WongOMX_ERRORTYPE AddStateTransition(AMRENC_COMPONENT_PRIVATE *pComponentPrivate); 12221b969242aa51f71fb39a9855b1ba20f6b7c0f3a9Benny WongOMX_ERRORTYPE RemoveStateTransition(AMRENC_COMPONENT_PRIVATE *pComponentPrivate, OMX_BOOL bEnableSignal); 1223b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 1224fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*===============================================================*/ 1225fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1226fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 1227fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_STOP = 0, 1228fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_PAUSE = 1, 1229fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_GETSTATUS = 2, 1230fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_SETSTATUS = 3, 1231fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_USERSETCMDSTART = 100, 1232fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_USERGETCMDSTART = 150, 1233fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_FLUSH = 0x100 1234fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}IUALG_Cmd; 1235fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1236fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum 1237fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 1238fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ALGCMD_BITRATE = IUALG_CMD_USERSETCMDSTART, 1239fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ALGCMD_DTX 1240fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1241fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} eSPEECHENCODE_AlgCmd; 1242fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1243fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif /* OMX_AMRENC_UTILS__H */ 1244