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_AacDec_Utils.h 30fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 31fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * This is an header file for an audio AAC decoder that is fully 32fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * compliant with the OMX Audio specification. 33fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * This the file is used internally by the component 34fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * in its code. 35fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 36fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @path $(CSLPATH)\OMAPSW_MPU\linux\audio\src\openmax_il\aac_dec\inc\ 37fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 38fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @rev 1.0 39fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 40fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* --------------------------------------------------------------------------- */ 41fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef OMX_AACDEC_UTILS__H 42fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_AACDEC_UTILS__H 43fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 44fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Component.h> 45fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_TI_Common.h> 46fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_TI_Debug.h> 47fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "LCML_DspCodec.h" 48fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <pthread.h> 49fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <sched.h> 50b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 51b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 52b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#include <ResourceManagerProxyAPI.h> 53b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 54b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 55fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 56fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <windows.h> 57fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <oaf_osal.h> 58fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <omx_core.h> 59fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <stdlib.h> 60fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 61fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 62fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AUDIO_MANAGER 63fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 64fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AUDIO_MANAGER 65fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 66fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 67fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 68fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "perf.h" 69fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 70fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 71fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef ANDROID 72fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define ANDROID 73fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 74fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 75fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef ANDROID 76fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Log for Android system*/ 77fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef LOG_TAG 78fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define LOG_TAG "OMX_AACDEC" 79fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 80fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* PV opencore capability custom parameter index */ 81fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define PV_OMX_COMPONENT_CAPABILITY_TYPE_INDEX 0xFF7A347 82fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 83fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 84fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OBJECTTYPE_LC 2 85b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#define OBJECTTYPE_LTP 4 86fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OBJECTTYPE_HE 5 87fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OBJECTTYPE_HE2 29 88fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 89fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define EXIT_COMPONENT_THRD 10 90fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 91fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 92fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 93fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 94fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AAC_DEC__XXX_VER Component version 95fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 96fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 97fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_MAJOR_VER 1 98fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_MINOR_VER 1 99fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NOT_USED_AACDEC Defines a value for "don't care" parameters 102fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NOT_USED_AACDEC 0 105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 107fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NORMAL_BUFFER_AACDEC Defines the flag value with all flags turned off 108fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 109fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 110fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NORMAL_BUFFER_AACDEC 0 111fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 112fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 113fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_AACDEC_DEFAULT_SEGMENT Default segment ID for the LCML 114fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 115fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 116fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_AACDEC_DEFAULT_SEGMENT (0) 117fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 118fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 119fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_AACDEC_SN_TIMEOUT Timeout value for the socket node 120fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 121fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 122fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_AACDEC_SN_TIMEOUT (-1) 123fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 124fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 125fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_AACDEC_SN_PRIORITY Priority for the socket node 126fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 127fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 128fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_AACDEC_SN_PRIORITY (10) 129fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 130fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 131fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_AACDEC_NUM_DLLS number of DLL's 132fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 133fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 134fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_AACDEC_NUM_DLLS (2) 135fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 136fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_BUFHEADER_VERSION 0x1 137fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 138fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 139fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ** Default timeout used to come out of blocking calls* 140fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 141fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 142fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 143fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACD_TIMEOUT (1000) /* millisecs */ 144fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 145fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 146fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 147fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Wince #define 148fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 149fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 150fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 151fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 152fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define sleep Sleep 153fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 154fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 155fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 156fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_USN_DLL_NAME USN DLL name 157fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 158fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 159fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 160fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_USN_DLL_NAME "\\windows\\usn.dll64P" 161fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 162fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_USN_DLL_NAME "usn.dll64P" 163fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 164fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 165fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 166fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 167fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_DLL_NAME AAC Dec Decoder socket node DLL name 168fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 169fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 170fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 171fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_DLL_NAME "\\windows\\mpeg4aacdec_sn.dll64P" 172fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 173fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_DLL_NAME "mpeg4aacdec_sn.dll64P" 174fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 175fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 176fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define DONT_CARE 0 177fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 178fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 179fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 180fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_CPU_USAGE for Resource Mannager (MHZ) 181fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 182fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 183fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_CPU_USAGE 50 184fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 185fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 186fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 187fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 188fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_SBR_CONTENT flag detection 189fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 190fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 191fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 192fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_SBR_CONTENT 0x601 193fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 194fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 195fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 196fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 197fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_PS_CONTENT flag detection 198fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 199fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 200fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 201fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_PS_CONTENT 0x602 202fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 203fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 204fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 205fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 206fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_DEBUG Debug print macro 207fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 208fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 209fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 210fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AACDEC_DEBUG 211fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define _ERROR_PROPAGATION__ 212fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 213fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 214fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 215fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 216fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 217fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def DEBUG Memory print macro 218fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 219fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 220fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#if DEBUG 221fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_DPRINT printf 222fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_MEMPRINT printf 223fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_STATEPRINT printf 224fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_BUFPRINT printf 225fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_MEMPRINT printf 226fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_EPRINT printf 227fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 228fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_DPRINT 229fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_MEMPRINT 230fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_STATEPRINT 231fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_BUFPRINT 232fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_MEMPRINT 233fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_EPRINT 234fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 235fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 236fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else /* for Linux */ 237fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 238fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AACDEC_DEBUG 239b65f253fdc60f6208a54911bee793d225f23cdf8James Dong #define AACDEC_DPRINT printf 240fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef AACDEC_BUFPRINT printf 241fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef AACDEC_MEMPRINT printf 242fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_STATEPRINT printf 243fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 244fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_DPRINT(...) 245fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 246fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 247fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AACDEC_STATEDETAILS 248fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_STATEPRINT printf 249fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 250fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_STATEPRINT(...) 251fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 252fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 253fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AACDEC_BUFDETAILS 254fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_BUFPRINT printf 255fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 256fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_BUFPRINT(...) 257fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 258fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 259fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef AACDEC_MEMDETAILS 260fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_MEMPRINT(...) fprintf(stdout, "%s %d:: ",__FUNCTION__, __LINE__); \ 261fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin fprintf(stdout, __VA_ARGS__); \ 262fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin fprintf(stdout, "\n"); 263fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 264fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACDEC_MEMPRINT(...) 265fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 266fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 267a0a88cf291e156344d5346c29824d996d1d81fabSteve Block#define AACDEC_EPRINT ALOGE 268fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 269fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 270fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 271fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 272fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 273fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 274fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_OMX_ERROR_EXIT Exit print and return macro 275fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 276fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 277fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_OMX_ERROR_EXIT(_e_, _c_, _s_) \ 278fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin _e_ = _c_; \ 279fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMXDBG_PRINT(stderr, ERROR, 4, 0, "\n**************** OMX ERROR ************************\n"); \ 280fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMXDBG_PRINT(stderr, ERROR, 4, 0, "%d : Error Name: %s : Error Num = %x",__LINE__, _s_, _e_); \ 281fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMXDBG_PRINT(stderr, ERROR, 4, 0, "\n**************** OMX ERROR ************************\n"); \ 282fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin goto EXIT; 283fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 284fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 285fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 286fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_OMX_CONF_CHECK_CMD Command check Macro 287fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 288fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 289fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_OMX_CONF_CHECK_CMD(_ptr1, _ptr2, _ptr3) \ 290fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin { \ 291fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin if(!_ptr1 || !_ptr2 || !_ptr3){ \ 292fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin eError = OMX_ErrorBadParameter; \ 293fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin goto EXIT; \ 294fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin } \ 295fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin } 296fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 297fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 298fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 299fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OMX_CONF_INIT_STRUCT Macro to Initialise the structure variables 300fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 301fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 302fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_CONF_INIT_STRUCT(_s_, _name_) \ 303fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin memset((_s_), 0x0, sizeof(_name_)); \ 304fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin (_s_)->nSize = sizeof(_name_); \ 305fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin (_s_)->nVersion.s.nVersionMajor = 1; \ 306fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin (_s_)->nVersion.s.nVersionMinor = 1; \ 307fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin (_s_)->nVersion.s.nRevision = 0x0; \ 308fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin (_s_)->nVersion.s.nStep = 0x0 309fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 310fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 311fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 312fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_BUFDETAILS Turns buffer messaging on and off 313fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 314fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 315fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AACDEC_BUFDETAILS 316fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 317fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 318fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_STATEDETAILS Turns state messaging on and off 319fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 320fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 321fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AACDEC_STATEDETAILS 322fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 323fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 324fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDEC_MEMDETAILS Turns memory messaging on and off 325fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 326fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 327fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef AACDEC_MEMDETAILS 328fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 329fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_OUTPUT_PORT 1 330fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_INPUT_PORT 0 331fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACDEC_APP_ID 100 332fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define MAX_NUM_OF_BUFS_AACDEC 15 333fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define PARAMETRIC_STEREO_AACDEC 1 334fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NON_PARAMETRIC_STEREO_AACDEC 0 335fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 336fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 337fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_OF_PORTS_AACDEC Number of ports 338fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 339fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 340fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_OF_PORTS_AACDEC 2 341fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 342fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 343fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def STREAM_COUNT_AACDEC Number of streams 344fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 345fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 346fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define STREAM_COUNT_AACDEC 2 347fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 348fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** Default timeout used to come out of blocking calls*/ 349fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 350fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 351fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 352fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACD_NUM_INPUT_BUFFERS Default number of input buffers 353fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 354fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 355fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 356fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACD_NUM_INPUT_BUFFERS 4 357fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 358fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 359fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACD_NUM_OUTPUT_BUFFERS Default number of output buffers 360fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 361fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 362fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 363fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACD_NUM_OUTPUT_BUFFERS 4 364fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 365fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 366fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 367fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACD_INPUT_BUFFER_SIZE Default input buffer size 368fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 369fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 370fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 371fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACD_INPUT_BUFFER_SIZE 1536*4 372fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 373fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 374fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACD_OUTPUT_BUFFER_SIZE Default output buffer size 375fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 376fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 377fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 378341ee0b938bf39c8e2d94e9aa060428c03b597f7Masaki Sato#define AACD_OUTPUT_BUFFER_SIZE 8192*2 379fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 380fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 381fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACD_SAMPLING_FREQUENCY Sampling frequency 382fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 383fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 384fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define AACD_SAMPLING_FREQUENCY 44100 385fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 386fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 387fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 388fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDec macros for MONO,STEREO_INTERLEAVED,STEREO_NONINTERLEAVED 389fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 390fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 391fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*#define AACD_STEREO_INTERLEAVED_STREAM 2 392fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define AACD_STEREO_NONINTERLEAVED_STREAM 3*/ 393fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 394fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 395fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def AACDec macros for MONO,STEREO_INTERLEAVED,STEREO_NONINTERLEAVED 396fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 397fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 398fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* Stream types supported*/ 399fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define MONO_STREAM_AACDEC 1 400fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define STEREO_INTERLEAVED_STREAM_AACDEC 2 401fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define STEREO_NONINTERLEAVED_STREAM_AACDEC 3 402fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 403c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato/* ======================================================================= */ 404c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato/** 405b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * pthread variable to indicate OMX returned all buffers to app 406c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato */ 407c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato/* ======================================================================= */ 408b65f253fdc60f6208a54911bee793d225f23cdf8James Dongpthread_mutex_t bufferReturned_mutex; 409c024b9e6872263b80017da0d169e9fbd790b2051Masaki Satopthread_cond_t bufferReturned_condition; 410c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato 411fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 412fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 413fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AAC Decoder Profile:0 - MAIN, 1 - LC, 2 - SSR, 3 - LTP. 414fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 415fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 416fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin EProfileMain, 417fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin EProfileLC, 418fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin EProfileSSR, 419fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin EProfileLTP 420fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}AACProfile; 421fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 422fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** COMP_PORT_TYPE_AACDEC Port types 423fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 424fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param INPUT_PORT_AACDEC Input port 425fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 426fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param OUTPUT_PORT_AACDEC Output port 427fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 428fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 429fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*This enum must not be changed. */ 430fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum COMP_PORT_TYPE_AACDEC { 431fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin INPUT_PORT_AACDEC = 0, 432fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OUTPUT_PORT_AACDEC 433fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}COMP_PORT_TYPE_AACDEC; 434fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 435fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** OMX_INDEXAUDIOTYPE_AACDEC Defines the custom configuration settings 436fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * for the component 437fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 438fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param OMX_IndexCustomMode16_24bit_AACDEC Sets the 16/24 mode 439fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 440fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param OMX_IndexCustomModeProfile_AACDEC Sets the Profile mode 441fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 442fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param OMX_IndexCustomModeSBR_AACDEC Sets the SBR mode 443fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 444fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param OMX_IndexCustomModeDasfConfig_AACDEC Sets the DASF mode 445fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 446fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param OMX_IndexCustomModeRAW_AACDEC Sets the RAW mode 447fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 448fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param OMX_IndexCustomModePS_AACDEC Sets the ParametricStereo mode 449fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 450fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 451fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 452fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_INDEXAUDIOTYPE_AACDEC { 453fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomAacDecHeaderInfoConfig = 0xFF000001, 454fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomAacDecStreamIDConfig, 455fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomAacDecDataPath, 456fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomDebug 457fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}OMX_INDEXAUDIOTYPE_AACDEC; 458fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 459fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 460fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** IAUDIO_PcmFormat: This value is used by DSP. 461fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 462fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IAUDIO_BLOCK: It is used in DASF mode. 463fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 464fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IAUDIO_INTERLEAVED: It specifies interleaved format of SN. 465fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 466fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 467fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 468fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin EAUDIO_BLOCK =0, 469fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin EAUDIO_INTERLEAVED 470fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}TAUDIO_AacFormat; 471fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 472fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 473fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** IAUDIO_PcmFormat: This value is used by DSP. 474fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 475fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IAUDIO_BLOCK: It is used in DASF mode. 476fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 477fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IAUDIO_INTERLEAVED: It specifies interleaved format of SN. 478fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 479fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 480fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 481fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IAUDIO_BLOCK=0, 482fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IAUDIO_INTERLEAVED 483fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} IAUDIO_PcmFormat; 484fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 485fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** MPEG4AACDEC_UALGParams 486fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 487fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param lOutputFormat - To set interleaved/Block format:Refer to IAUDIO_AacFormat. 488fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param DownSampleSbr - 489fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 490fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 491fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct { 492fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 size; 493fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin long lOutputFormat; 494fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin long DownSampleSbr; 495fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin long iEnablePS; 496fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin long lSamplingRateIdx; 497fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin long bRawFormat; 498b65f253fdc60f6208a54911bee793d225f23cdf8James Dong long dualMonoMode; 499fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} MPEG4AACDEC_UALGParams; 500fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 501fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 502fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** IUALG_Cmd_AAC_DEC: This enum type describes the standard set of commands that 503fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * will be passed to iualg control API at DSP. This enum is taken as it is from 504fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * DSP side USN source code. 505fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 506fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IUALG_CMD_STOP: This command indicates that higher layer framework 507fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * has received a stop command and no more process API will be called for the 508fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * current data stream. The iualg layer is expected to ensure that all processed 509fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * output as is put in the output IUALG_Buf buffers and the state of all buffers 510fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * changed as to free or DISPATCH after this function call. 511fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 512fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IUALG_CMD_PAUSE: This command indicates that higher layer framework 513fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * has received a PAUSE command on the current data stream. The iualg layer 514fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * can change the state of some of its output IUALG_Bufs to DISPATCH to enable 515fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * high level framework to use the processed data until the command was received. 516fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 517fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IUALG_CMD_GETSTATUS: This command indicates that some algo specific 518fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * status needs to be returned to the framework. The pointer to the status 519fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * structure will be in IALG_status * variable passed to the control API. 520fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * The interpretation of the content of this pointer is left to IUALG layer. 521fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 522fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IUALG_CMD_SETSTATUS: This command indicates that some algo specific 523fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * status needs to be set. The pointer to the status structure will be in 524fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * IALG_status * variable passed to the control API. The interpretation of the 525fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * content of this pointer is left to IUALG layer. 526fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 527fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IUALG_CMD_USERCMDSTART: The algorithm specific control commands can 528fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * have the enum type set from this number. 529fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 530fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 531fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 532fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 533fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_STOP = 0, 534fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_PAUSE = 1, 535fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_GETSTATUS = 2, 536fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_SETSTATUS = 3, 537fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IUALG_CMD_USERCMDSTART_AACDEC = 100 538fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}IUALG_Cmd_AAC_DEC; 539fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 540b1bf6ce9c87d98335387e8475eff8e52d022202bJames Dongtypedef enum{ 541b1bf6ce9c87d98335387e8475eff8e52d022202bJames Dong IAAC_WARN_DATA_CORRUPT = 0x0804 542b1bf6ce9c87d98335387e8475eff8e52d022202bJames Dong}IAAC_WARN_MSG; 543b1bf6ce9c87d98335387e8475eff8e52d022202bJames Dong 544fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 545fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef _OMX_EVENT_ 546fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define _OMX_EVENT_ 547fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_Event { 548fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin HANDLE event; 549fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_Event; 550fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 551fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinint OMX_CreateEvent(OMX_Event *event); 552fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinint OMX_SignalEvent(OMX_Event *event); 553fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinint OMX_WaitForEvent(OMX_Event *event); 554fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinint OMX_DestroyEvent(OMX_Event *event); 555fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 556fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 557fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 558fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** IUALG_PCMDCmd: This enum specifies the command to DSP. 559fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 560fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param IULAG_CMD_SETSTREAMTYPE: Specifies the stream type to be sent to DSP. 561fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 562fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 563fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 564fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin IULAG_CMD_SETSTREAMTYPE = IUALG_CMD_USERCMDSTART_AACDEC 565fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}IUALG_PCMDCmd; 566fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 567fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 568fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** AACDEC_UAlgInBufParamStruct: This struct is passed with input buffers that 569fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * are sent to DSP. 570fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 571fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 572fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct { 573fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Set to 1 if buffer is last buffer */ 574fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned short bLastBuffer; 575fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned short bConcealBuffer; 576fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}AACDEC_UAlgInBufParamStruct; 577fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 578fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 579fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** USN_AudioCodecParams: This contains the information which does to Codec 580fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * on DSP 581fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * are sent to DSP. 582fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 583fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 584fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct USN_AudioCodecParams{ 585fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Specifies the sample frequency */ 586fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulSamplingFreq; 587fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Specifies the UUID */ 588fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long unUUID; 589fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Specifies the audio format */ 590fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned short unAudioFormat; 591fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}USN_AudioCodecParams; 592fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 593fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 594fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** AACDEC_UAlgOutBufParamStruct: This is passed with output buffer to DSP. 595fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 596fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 597fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct { 598fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulFrameCount; 599b65f253fdc60f6208a54911bee793d225f23cdf8James Dong unsigned long isLastBuffer; 600fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}AACDEC_UAlgOutBufParamStruct; 601fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 602fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AACDEC_UALGParams{ 603fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long lOutputFormat; 604fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long lMonoToStereoCopy; 605fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} AACDEC_UALGParams; 606fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 607fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 608fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** AACD_LCML_BUFHEADERTYPE: This is LCML buffer header which is sent to LCML 609fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * for both input and output buffers. 610fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 611fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 612fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AACD_LCML_BUFHEADERTYPE { 613fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Direction whether input or output buffer */ 614fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_DIRTYPE eDir; 615fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Pointer to OMX Buffer Header */ 616fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr; 617fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Other parameters, may be useful for enhancements */ 618fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin void *pOtherParams[10]; 619fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Input Parameter Information structure */ 620fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_UAlgInBufParamStruct *pIpParam; 621fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Output Parameter Information structure */ 622fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_UAlgOutBufParamStruct *pOpParam; 623fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}AACD_LCML_BUFHEADERTYPE; 624fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 625fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* Component Port Context */ 626fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AUDIODEC_PORT_TYPE { 627fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Used in tunneling, this is handle of tunneled component */ 628fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE hTunnelComponent; 629fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Port which has to be tunneled */ 630fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nTunnelPort; 631fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Buffer Supplier Information */ 632fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERSUPPLIERTYPE eSupplierSetting; 633fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Number of buffers */ 634fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nBufferCnt; 635fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Port format information */ 636fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE* pPortFormat; 637fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} AUDIODEC_PORT_TYPE; 638fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 639fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 640fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 641fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** AAC_DEC_BUFFERLIST: This contains information about a buffer's owner whether 642fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * it is application or component, number of buffers owned etc. 643fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 644fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see OMX_BUFFERHEADERTYPE 645fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 646fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 647fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinstruct AAC_DEC_BUFFERLIST{ 648fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Array of pointer to OMX buffer headers */ 649fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr[MAX_NUM_OF_BUFS_AACDEC]; 650fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Array that tells about owner of each buffer */ 651fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bufferOwner[MAX_NUM_OF_BUFS_AACDEC]; 652fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Tracks pending buffers */ 653fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bBufferPending[MAX_NUM_OF_BUFS_AACDEC]; 654fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Number of buffers */ 655fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 numBuffers; 656fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 657fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 658fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AAC_DEC_BUFFERLIST AACDEC_BUFFERLIST; 659fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 660fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct PV_OMXComponentCapabilityFlagsType 661fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 662fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ////////////////// OMX COMPONENT CAPABILITY RELATED MEMBERS (for opencore compatability) 663fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iIsOMXComponentMultiThreaded; 664fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalOutputBufferAlloc; 665fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalInputBufferAlloc; 666fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsMovableInputBuffers; 667fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsPartialFrames; 668fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentNeedsNALStartCode; 669fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentCanHandleIncompleteFrames; 670fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} PV_OMXComponentCapabilityFlagsType; 671fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 672fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 673fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** AACDEC_COMPONENT_PRIVATE: This is the major and main structure of the 674fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * component which contains all type of information of buffers, ports etc 675fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * contained in the component. 676fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 677fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see OMX_BUFFERHEADERTYPE 678fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see OMX_AUDIO_PARAM_PORTFORMATTYPE 679fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see OMX_PARAM_PORTDEFINITIONTYPE 680fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see AACD_LCML_BUFHEADERTYPE 681fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see OMX_PORT_PARAM_TYPE 682fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see OMX_PRIORITYMGMTTYPE 683fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see AUDIODEC_PORT_TYPE 684fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see AACDEC_BUFFERLIST 685fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see LCML_STRMATTR 686fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see 687fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 688fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 689fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 690fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct AACDEC_COMPONENT_PRIVATE 691fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 692fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 693fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_CALLBACKTYPE cbInfo; 694fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Handle for use with async callbacks */ 695fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PORT_PARAM_TYPE* sPortParam; 696fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Input port information */ 697fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE sInPortFormat; 698fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Output port information */ 699fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE sOutPortFormat; 700fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Buffer owner information */ 701fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bIsBufferOwned[NUM_OF_PORTS_AACDEC]; 702fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 703fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This will contain info like how many buffers 704fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin are there for input/output ports, their size etc, but not 705fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFERHEADERTYPE POINTERS. */ 706fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_PORTDEFINITIONTYPE* pPortDef[NUM_OF_PORTS_AACDEC]; 707fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Contains information that come from application */ 708fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_AACPROFILETYPE* aacParams; 709fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 710fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PCMMODETYPE* pcmParams; 711fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 712fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This is component handle */ 713fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_COMPONENTTYPE* pHandle; 714fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 715fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Current state of this component */ 716fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STATETYPE curState; 717fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 718fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The component thread handle */ 719fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_t ComponentThread; 720fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 721fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 722fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int dataPipe[2]; 723fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 724fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 725fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdPipe[2]; 726fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 727fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending command data to the thread */ 728fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdDataPipe[2]; 729fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 730fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Set to indicate component is stopping */ 731fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bIsEOFSent; 732fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 733fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 734fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nIpBuf; 735fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 736fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 737fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nOpBuf; 738fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 739fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of input buffers sent to LCML */ 740fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntIp; 741fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of input buffers received from LCML */ 742fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntIpRes; 743fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of output buffers sent to LCML */ 744fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntOp; 745fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of output buffers received from LCML */ 746fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntOpReceived; 747fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of buffers sent to App */ 748fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntApp; 749fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of buffers received from App */ 750fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 app_nBuf; 751fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 752fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_compID; 753fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of output buffers reclaimed from lcml */ 754fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 num_Reclaimed_Op_Buff; 755fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of input buffers sent to lcml */ 756fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 num_Sent_Ip_Buff; 757fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Counts of number of output buffers sent to lcml */ 758fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 num_Op_Issued; 759fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Holds the value of dasf mode, 1: DASF mode or 0: File Mode */ 760fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 dasfmode; 761fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 762fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This is LCML handle */ 763fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE pLcmlHandle; 764fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 765fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** ID stream ID**/ 766fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 streamID; 767fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Contains pointers to LCML Buffer Headers */ 768fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACD_LCML_BUFHEADERTYPE *pLcmlBufHeader[2]; 769fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 770fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 771fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_OBJHANDLE pPERF, pPERFcomp; 772fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntIp; 773fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntOpReceived; 774fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 775fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 776fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Tells whether buffers on ports have been allocated */ 777fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bPortDefsAllocated; 778fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Tells whether component thread has started */ 779fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bCompThreadStarted; 780fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Marks the buffer data */ 781fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PTR pMarkData; 782fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Marks the buffer */ 783fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MARKTYPE *pMarkBuf; 784fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Marks the target component */ 785fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE hMarkTargetComponent; 786fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag to track when input buffer's filled length is 0 */ 787fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bBypassDSP; 788fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Input port enable flag */ 789fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 ipPortEnableFlag; 790fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Input port disble flag */ 791fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 ipPortDisableFlag; 792fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Pointer to port parameter structure */ 793fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PORT_PARAM_TYPE* pPortParamType; 794fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Pointer to port priority management structure */ 795fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PRIORITYMGMTTYPE* pPriorityMgmt; 796fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 797b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 798b65f253fdc60f6208a54911bee793d225f23cdf8James Dong RMPROXY_CALLBACKTYPE rmproxyCallback; 799b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 800b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 801fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bPreempted; 802fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 803fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 804fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Contains the port related info of both the ports */ 805fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AUDIODEC_PORT_TYPE *pCompPort[NUM_OF_PORTS_AACDEC]; 806fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* Checks whether or not buffer were allocated by appliction */ 807fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bufAlloced; 808fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag to check about execution of component thread */ 809fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U16 bExitCompThrd; 810fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Pointer to list of input buffers */ 811fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_BUFFERLIST *pInputBufferList; 812fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Pointer to list of output buffers */ 813fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_BUFFERLIST *pOutputBufferList; 814fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** it is used for component's create phase arguments */ 815fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin LCML_STRMATTR *strmAttr; 816fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Contains the version information */ 817fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nVersion; 818fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 819fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of input buffers at runtime */ 820fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nRuntimeInputBuffers; 821fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 822fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of output buffers at runtime */ 823fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nRuntimeOutputBuffers; 824fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 825fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Parameters being passed to the SN */ 826fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin USN_AudioCodecParams *pParams; 827fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 828fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Dynamic Parameters being passed to the SN */ 829fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin MPEG4AACDEC_UALGParams * AACDEC_UALGParam; 830fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 831fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U16 framemode; 832fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 833fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STRING cComponentName; 834fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 835fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE ComponentVersion; 836fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 837fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nOpBit; 838fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 parameteric_stereo; 839b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 dualMonoMode; 840fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 SBR; 841fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 RAW; 842fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nFillThisBufferCount; 843fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nFillBufferDoneCount; 844fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nEmptyThisBufferCount; 845fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nEmptyBufferDoneCount; 846fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bInitParamsInitialized; 847fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_BUFFERLIST *pInputBufferListQueue; 848fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_BUFFERLIST *pOutputBufferListQueue; 849fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** To store input buffers recieved while in paused state **/ 850fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pInputBufHdrPending[MAX_NUM_OF_BUFS_AACDEC]; 851fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNumInputBufPending; 852fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 853fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** To store out buffers received while in puased state **/ 854fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPending[MAX_NUM_OF_BUFS_AACDEC]; 855fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNumOutputBufPending; 856fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 857fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flags to control port disable command **/ 858fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bDisableCommandPending; 859fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bDisableCommandParam; 860fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flags to control port enable command **/ 861fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bEnableCommandPending; 862fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bEnableCommandParam; 863fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 864fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nInvalidFrameCount; 865fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 numPendingBuffers; 866fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bNoIdleOnStop; 867fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bDspStoppedWhileExecuting; 868fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* bIdleCommandPending;*/ 869fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S32 nOutStandingFillDones; 870fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bIsInvalidState; 871fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STRING* sDeviceString; 872fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 873fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t AlloBuf_mutex; 874fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t AlloBuf_threshold; 875fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 876fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 877fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InLoaded_mutex; 878fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InLoaded_threshold; 879fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 880fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 881fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InIdle_mutex; 882fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InIdle_threshold; 883fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 884fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 885fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t codecStop_mutex; 886fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t codecStop_threshold; 887fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 codecStop_waitingsignal; 888fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 889fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t codecFlush_mutex; 890fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t codecFlush_threshold; 891fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 codecFlush_waitingsignal; 892fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 893b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 nUnhandledFillThisBuffers; 894b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 nHandledFillThisBuffers; 895b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 nUnhandledEmptyThisBuffers; 896b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 nHandledEmptyThisBuffers; 897fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushOutputPortCommandPending; 898fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushInputPortCommandPending; 899fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 900fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event AlloBuf_event; 901fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 902fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 903fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InLoaded_event; 904fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 905fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 906fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InIdle_event; 907fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 908fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 909fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 910fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bLoadedCommandPending; 911fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_COMPONENTROLETYPE *componentRole; 912fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 913fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 PendingInPausedBufs; 914fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pInBufHdrPausedPending[MAX_NUM_OF_BUFS_AACDEC]; 915fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 PendingOutPausedBufs; 916fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutBufHdrPausedPending[MAX_NUM_OF_BUFS_AACDEC]; 917fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 918fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Keep buffer timestamps **/ 919fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S64 arrBufIndex[MAX_NUM_OF_BUFS_AACDEC]; 920fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /**Keep buffer tickcount*/ 921fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 arrBufIndexTick[MAX_NUM_OF_BUFS_AACDEC]; 922fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 923fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Index to arrBufIndex[] and arrBufIndexTick[], used for input buffer timestamps */ 924fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 IpBufindex; 925fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Index to arrBufIndex[] and arrBufIndexTick[], used for input buffer timestamps */ 926fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 OpBufindex; 927fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 928fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag to flush SN after EOS in order to process more buffers after EOS**/ 929fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 SendAfterEOS; 930fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 931fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Flag to mark the first sent buffer**/ 932fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 first_buff; 933fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** First Time Stamp sent **/ 934b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_TICKS first_TS; 935b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Temporal time stamp **/ 936b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_TICKS temp_TS; 937fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 938fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PV_OMXComponentCapabilityFlagsType iPVCapabilityFlags; 939fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bConfigData; 940fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL reconfigInputPort; 941fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL reconfigOutputPort; 942fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 OutPendingPR; 943fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 944fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin struct OMX_TI_Debug dbg; 945fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 946b04e7d5f8b0407a4cd6034eadc41ce8f0e5fe8acJames Dong /** Indicate when first output buffer received from DSP **/ 947b04e7d5f8b0407a4cd6034eadc41ce8f0e5fe8acJames Dong OMX_U32 first_output_buf_rcv; 948b04e7d5f8b0407a4cd6034eadc41ce8f0e5fe8acJames Dong 949fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} AACDEC_COMPONENT_PRIVATE; 950fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 951fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 952fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 953fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ComponentInit() function is called by OMX Core to initialize the component 954fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * with default values of the component. Before calling this function OMX_Init 955fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * must have been called. 956fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 957fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *hComp This is component handle allocated by the OMX core. 958fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 959fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre OMX_Init should be called by application. 960fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 961fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post Component has initialzed with default values. 962fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 963fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful Inirialization of the component\n 964fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorInsufficientResources = Not enough memory 965fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 966fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see AacDec_StartCompThread() 967fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 968fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 969fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 970fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 971fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 972fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* WinCE Implicit Export Syntax */ 973fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_EXPORT __declspec(dllexport) 974fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 975fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 976fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ComponentInit() Initializes component 977fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 978fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 979fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param hComp OMX Handle 980fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 981fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful 982fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Other error code = fail 983fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 984fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 985fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*================================================================== */ 986fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_EXPORT OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 987fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 988fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 989fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 990fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 991fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AacDec_StartCompThread() starts the component thread. This is internal 992fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * function of the component. 993fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 994fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pHandle This is component handle allocated by the OMX core. 995fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 996fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 997fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 998fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 999fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1000fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful Inirialization of the component\n 1001fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorInsufficientResources = Not enough memory 1002fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1003fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1004fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1005fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1006fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AacDec_StartCompThread(OMX_HANDLETYPE pHandle); 1007fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1008fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1009fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_Fill_LCMLInitParams() fills the LCML initialization structure. 1010fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1011fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pHandle This is component handle allocated by the OMX core. 1012fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1013fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param plcml_Init This structure is filled and sent to LCML. 1014fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1015fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1016fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1017fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1018fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1019fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful Inirialization of the LCML struct. 1020fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorInsufficientResources = Not enough memory 1021fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1022fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1023fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1024fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1025fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AACDEC_Fill_LCMLInitParams(OMX_HANDLETYPE pHandle, LCML_DSP *plcml_Init, OMX_U16 arr[]); 1026fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1027fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1028fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_GetBufferDirection() function determines whether it is input buffer or 1029fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * output buffer. 1030fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1031fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *pBufHeader This is pointer to buffer header whose direction needs to 1032fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * be determined. 1033fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1034fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *eDir This is output argument which stores the direction of buffer. 1035fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1036fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1037fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1038fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1039fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1040fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful processing. 1041fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorBadParameter = In case of invalid buffer 1042fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1043fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1044fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1045fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1046fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AACDEC_GetBufferDirection(OMX_BUFFERHEADERTYPE *pBufHeader, 1047fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_DIRTYPE *eDir); 1048fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1049fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1050fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_LCML_Callback() function is callback which is called by LCML whenever 1051fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * there is an even generated for the component. 1052fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1053fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param event This is event that was generated. 1054fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1055fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param arg This has other needed arguments supplied by LCML like handles 1056fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * etc. 1057fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1058fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1059fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1060fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1061fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1062fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful processing. 1063fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorInsufficientResources = Not enough memory 1064fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1065fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1066fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1067fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1068fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AACDEC_LCML_Callback (TUsnCodecEvent event,void * args [10]); 1069fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1070fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1071fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_HandleCommand() function handles the command sent by the application. 1072fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * All the state transitions, except from nothing to loaded state, of the 1073fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * component are done by this function. 1074fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1075fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponentPrivate This is component's private date structure. 1076fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1077fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1078fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1079fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1080fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1081fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful processing. 1082fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorInsufficientResources = Not enough memory 1083fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorHardware = Hardware error has occured lile LCML failed 1084fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * to do any said operartion. 1085fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1086fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1087fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1088fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1089fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 AACDEC_HandleCommand (AACDEC_COMPONENT_PRIVATE *pComponentPrivate); 1090fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1091fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1092fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_HandleDataBuf_FromApp() function handles the input and output buffers 1093fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * that come from the application. It is not direct function wich gets called by 1094fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * the application rather, it gets called eventually. 1095fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1096fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *pBufHeader This is the buffer header that needs to be processed. 1097fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1098fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *pComponentPrivate This is component's private date structure. 1099fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1102fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful processing. 1105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorInsufficientResources = Not enough memory 1106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorHardware = Hardware error has occured lile LCML failed 1107fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * to do any said operartion. 1108fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1109fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1110fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1111fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1112fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AACDEC_HandleDataBuf_FromApp(OMX_BUFFERHEADERTYPE *pBufHeader, 1113fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_COMPONENT_PRIVATE *pComponentPrivate); 1114fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1115fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1116fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_GetLCMLHandle() function gets the LCML handle and interacts with LCML 1117fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * by using this LCML Handle. 1118fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1119fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *pBufHeader This is the buffer header that needs to be processed. 1120fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1121fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *pComponentPrivate This is component's private date structure. 1122fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1123fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1124fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1125fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1126fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1127fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_HANDLETYPE = Successful loading of LCML library. 1128fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorHardware = Hardware error has occured. 1129fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1130fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1131fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1132fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1133fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_HANDLETYPE AACDEC_GetLCMLHandle(AACDEC_COMPONENT_PRIVATE* pComponentPrivate); 1134fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1135fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1136fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_GetCorresponding_LCMLHeader() function gets the corresponding LCML 1137fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * header from the actual data buffer for required processing. 1138fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1139fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *pBuffer This is the data buffer pointer. 1140fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1141fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param eDir This is direction of buffer. Input/Output. 1142fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1143fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param *AACD_LCML_BUFHEADERTYPE This is pointer to LCML Buffer Header. 1144fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1145fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1146fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1147fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1148fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1149fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful Inirialization of the component\n 1150fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorHardware = Hardware error has occured. 1151fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1152fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1153fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1154fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1155fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AACDEC_GetCorresponding_LCMLHeader(AACDEC_COMPONENT_PRIVATE* pComponentPrivate, 1156fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 *pBuffer, 1157fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_DIRTYPE eDir, 1158fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACD_LCML_BUFHEADERTYPE **ppLcmlHdr); 1159fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1160fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1161fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_FreeCompResources() function frees the component resources. 1162fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1163fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponent This is the component handle. 1164fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1165fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1166fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1167fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1168fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1169fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful Inirialization of the component\n 1170fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OMX_ErrorHardware = Hardware error has occured. 1171fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1172fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1173fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1174fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1175fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AACDEC_FreeCompResources(OMX_HANDLETYPE pComponent); 1176fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================= * */ 1177fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1178fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_CleanupInitParams() function frees only the initialization time 1179fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * memories allocated. For example, it will not close pipes, it will not free the 1180fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * memory allocated to the buffers etc. But it does free the memory of buffers 1181fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * utilized by the LCML etc. It is basically subset of AACDEC_FreeCompResources() 1182fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * function. 1183fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1184fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponent This is the component handle. 1185fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1186fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @pre None 1187fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1188fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @post None 1189fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1190fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful Inirialization of the component\n 1191fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1192fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @see None 1193fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1194fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================ * */ 1195fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid AACDEC_CleanupInitParams(OMX_HANDLETYPE pComponent); 1196b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================= * */ 1197b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 1198b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * AACDEC_CleanupInitParamsEx() function frees only the initialization time 1199b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * memories allocated. For example, it will not close pipes, it will not free the 1200b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * memory allocated to the buffers etc. But it does free the memory of buffers 1201b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * utilized by the LCML etc. It is basically subset of AACDEC_FreeCompResources() 1202b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * function. Called while port disable when port reconfiguration takes place. 1203b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 1204b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @param pComponent This is the component handle. 1205b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 1206b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @pre None 1207b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 1208b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @post None 1209b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 1210b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @return OMX_ErrorNone = Successful Inirialization of the component\n 1211b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 1212b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @see None 1213b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 1214b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================ * */ 1215b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinvoid AACDEC_CleanupInitParamsEx(OMX_HANDLETYPE pComponent,OMX_U32 indexport); 1216fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 1217fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1218fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_SetPending() Called when the component queues a buffer 1219fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * to the LCML 1220fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1221fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponentPrivate Component private data 1222fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1223fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pBufHdr Buffer header 1224fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1225fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param eDir Direction of the buffer 1226fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1227fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return None 1228fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1229fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*================================================================== */ 1230fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid AACDEC_SetPending(AACDEC_COMPONENT_PRIVATE *pComponentPrivate, OMX_BUFFERHEADERTYPE *pBufHdr, OMX_DIRTYPE eDir, OMX_U32 lineNumber); 1231fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 1232fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1233fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_ClearPending() Called when a buffer is returned 1234fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * from the LCML 1235fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1236fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponentPrivate Component private data 1237fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1238fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pBufHdr Buffer header 1239fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1240fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param eDir Direction of the buffer 1241fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1242fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return None 1243fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1244fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*================================================================== */ 1245fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid AACDEC_ClearPending(AACDEC_COMPONENT_PRIVATE *pComponentPrivate, OMX_BUFFERHEADERTYPE *pBufHdr, OMX_DIRTYPE eDir, OMX_U32 lineNumber) ; 1246fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 1247fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1248fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_IsPending() 1249fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1250fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1251fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponentPrivate Component private data 1252fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1253fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful 1254fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Other error code = fail 1255fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1256fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*================================================================== */ 1257fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 AACDEC_IsPending(AACDEC_COMPONENT_PRIVATE *pComponentPrivate, OMX_BUFFERHEADERTYPE *pBufHdr, OMX_DIRTYPE eDir); 1258fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 1259fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1260fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDECFill_LCMLInitParamsEx() Fills the parameters needed 1261fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * to initialize the LCML without recreating the socket node 1262fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1263fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponent OMX Handle 1264fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1265fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return None 1266fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1267fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1268fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*================================================================== */ 1269fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE AACDECFill_LCMLInitParamsEx(OMX_HANDLETYPE pComponent,OMX_U32 indexport); 1270fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 1271fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 1272fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * AACDEC_IsValid() 1273fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1274fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1275fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param pComponentPrivate Component private data 1276fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 1277fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @return OMX_ErrorNone = Successful 1278fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Other error code = fail 1279fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1280fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*================================================================== */ 1281fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 AACDEC_IsValid(AACDEC_COMPONENT_PRIVATE *pComponentPrivate, OMX_U8 *pBuffer, OMX_DIRTYPE eDir) ; 1282fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1283b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 1284b65f253fdc60f6208a54911bee793d225f23cdf8James Dongvoid AACDEC_ResourceManagerCallback(RMPROXY_COMMANDDATATYPE cbData); 1285b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 1286fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*=======================================================================*/ 1287fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*! @fn AACDec_GetSampleRateIndexL 1288fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1289fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @brief Gets the sample rate index 1290fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1291fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @param aRate : Actual Sampling Freq 1292fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1293fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @Return Index 1294fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1295fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 1296fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*=======================================================================*/ 1297fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinint AACDec_GetSampleRateIndexL( const int aRate); 1298fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinint AACDec_GetSampleRatebyIndex( const int index); 1299fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid* AACDEC_ComponentThread (void* pThreadData); 1300fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1301fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 AACDEC_ParseHeader(OMX_BUFFERHEADERTYPE* pBufHeader, 1302fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin AACDEC_COMPONENT_PRIVATE *pComponentPrivate); 1303fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1304fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================================*/ 1305fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* func GetBits */ 1306fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* */ 1307fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* desc Gets aBits number of bits from position aPosition of one buffer */ 1308fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* and returns the value in a TUint value. */ 1309fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================================*/ 1310fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_U32 AACDEC_GetBits(OMX_U32* nPosition, OMX_U8 nBits, OMX_U8* pBuffer, OMX_BOOL bIcreasePosition); 1311fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1312b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* =========================================================================*/ 1313b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* func AACDEC_HandleUSNError 1314b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * 1315b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * desc Handles error messages returned by the dsp 1316b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * 1317b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @Return n/a 1318b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * 1319b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * =========================================================================*/ 1320b65f253fdc60f6208a54911bee793d225f23cdf8James Dongvoid AACDEC_HandleUSNError (AACDEC_COMPONENT_PRIVATE *pComponentPrivate, OMX_U32 arg); 1321eaaadaf5ebb5e352e2ed4a12714f5d2363da0dcdJames Dong 1322b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*=======================================================================*/ 1323b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*! @fn SignalIfAllBuffersAreReturned 1324b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @brief Sends pthread signal to indicate OMX has returned all buffers to app 1325b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @param none 1326b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @Return void 1327c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato */ 1328c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato/*=======================================================================*/ 1329c024b9e6872263b80017da0d169e9fbd790b2051Masaki Satovoid SignalIfAllBuffersAreReturned(AACDEC_COMPONENT_PRIVATE *pComponentPrivate); 1330c024b9e6872263b80017da0d169e9fbd790b2051Masaki Sato 1331fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 1332