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_WbAmrDecoder.h 30fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 31fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* This is an header file for an audio PCM decoder that is fully 32fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* compliant with the OMX Audio specification. 33fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* This the file that the application that uses OMX would include 34fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* in its code. 35fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 36fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @path $(CSLPATH)\ 37fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 38fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @rev 0.1 39fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 40fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* --------------------------------------------------------------------------- */ 41fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 42fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef OMX_WBAMR_DECODER_H 43fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_WBAMR_DECODER_H 44fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 45fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "LCML_DspCodec.h" 46fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Component.h> 47fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <pthread.h> 48fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_TI_Debug.h> 49fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 50fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 51fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #include "perf.h" 52fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 53fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 54fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 55fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef DSP_RENDERING_ON 56fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <AudioManagerAPI.h> 57fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 58b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 59b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 60b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#include <ResourceManagerProxyAPI.h> 61b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 62fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 63fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 64fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef ANDROID 65fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define ANDROID 66fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 67fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 68fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef ANDROID 69fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #undef LOG_TAG 70fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define LOG_TAG "OMX_WBAMRDEC" 71fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 72fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* PV opencore capability custom parameter index */ 73fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin #define PV_OMX_COMPONENT_CAPABILITY_TYPE_INDEX 0xFF7A347 74fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 75fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 76fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= 77fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 78fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ** Default timeout used to come out of blocking calls* 79fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 80fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 81fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ======================================================================= */ 82fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_TIMEOUT (1000) /* millisecs */ 83fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 84fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 85fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 86fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_WMADEC_INPUT_BUFFERS Default number of input buffers 87fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 88fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 89fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 90fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_WBAMRDEC_INPUT_BUFFERS 1 91fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 92fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 93fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_WMADEC_OUTPUT_BUFFERS Default number of output buffers 94fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 95fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 96fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 97fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_WBAMRDEC_OUTPUT_BUFFERS 2 98fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 99fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def NUM_WMADEC_OUTPUT_BUFFERS Default number of output buffers DASF 101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 102fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define NUM_WBAMRDEC_OUTPUT_BUFFERS_DASF 2 105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 107fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def INPUT_WBAMRDEC_BUFFER_SIZE Default input buffer size 108fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 109fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 110fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 111fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define INPUT_WBAMRDEC_BUFFER_SIZE 116 112fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 113fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 114fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def OUTPUT_WBAMRDEC_BUFFER_SIZE Default output buffer size 115fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 116fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 117fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 118fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OUTPUT_WBAMRDEC_BUFFER_SIZE 640 119fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 120fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 121fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def INPUT_WBAMRDEC_BUFFER_SIZE_MIME Default input buffer size MIME 122fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 123fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 124fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 125fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define INPUT_WBAMRDEC_BUFFER_SIZE_MIME 61 126fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 127fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 128fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 129fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_STREAM_COUNT Number of streams 130fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 131fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 132fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_STREAM_COUNT 2 133fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_INPUT_STREAM_ID 0 134fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 135fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 136fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_INPUT_BUFF_SIZE_EFR Default input buffer size EFR 137fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 138fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 139fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 140fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_INPUT_BUFF_SIZE_EFR 120 141fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 142fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 143fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** WBAMR_DEC_COMP_PORT_TYPE Port types 144fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 145b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_INPUT_PORT Input port 146fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 147b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_OUTPUT_PORT Output port 148fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 149fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 150fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*This enum must not be changed. */ 151fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum WBAMR_DEC_COMP_PORT_TYPE { 152fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_INPUT_PORT = 0, 153fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_OUTPUT_PORT 154fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMR_DEC_COMP_PORT_TYPE; 155fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 156fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 157fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_SAMPLING_FREQUENCY Sampling frequency 158fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 159fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 160fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_SAMPLING_FREQUENCY 16000 161fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 162fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 163fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_CPU_LOAD CPU Load in MHz 164fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 165fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 166fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_CPU_LOAD 10 167fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 168fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 169fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_MAX_NUM_OF_BUFS Maximum number of buffers 170fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 171fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 172fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_MAX_NUM_OF_BUFS 12 173fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 174fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 175b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def IP_BUFFERSIZE Input Port Buffer Size 176b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 177b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 178b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define IP_WBAMRDEC_BUFFERSIZE 8192 179b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 180b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/** 181b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @def NUM_MIME_BYTES_ARRAY amrMimeBytes array size 182b65f253fdc60f6208a54911bee793d225f23cdf8James Dong */ 183b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 184b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#define NUM_MIME_BYTES_ARRAY 16 185b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 186b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/** 187b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @def NUM_IF2_BYTES_ARRAY amrIF2Bytes array size 188b65f253fdc60f6208a54911bee793d225f23cdf8James Dong */ 189b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 190b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#define NUM_IF2_BYTES_ARRAY 16 191b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 192b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 193b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 194fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_DEBUG Turns debug messaging on and off 195fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 196fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 197fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef WBAMR_DEC_DEBUG 198fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 199fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 200fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_MEMCHECK Turns memory messaging on and off 201fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 202fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 203fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef WBAMR_DEC_MEMCHECK 204fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 205fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 206fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 207fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMRDEC_DEBUGMEM Turns memory leaks messaging on and off. 208fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * APP_DEBUGMEM must be defined in Test App in order to get 209fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * this functionality On. 210fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 211fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 212fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#undef WBAMRDEC_DEBUGMEM 213fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*#define WBAMRDEC_DEBUGMEM*/ 214fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 215fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 216fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 217fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define sleep Sleep 218fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 219fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 220fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 221fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 222fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def WBAMR_DEC_NUM_OF_PORTS Number of ports 223fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 224fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 225fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define WBAMR_DEC_NUM_OF_PORTS 2 226fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 227fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 228fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 229fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @def _ERROR_PROPAGATION__ Allow Logic to Detec Arm Errors 230fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 231fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 232fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define _ERROR_PROPAGATION__ 233fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 234fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 235fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** OMX_INDEXAUDIOTYPE_WBAMRDEC Defines the custom configuration settings 236fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* for the component 237fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 238fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param OMX_IndexCustomModeDasfConfig_WBAMRDEC Sets the DASF mode 239fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 240fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param OMX_IndexCustomModeAcdnConfig_WBAMRDEC Sets the ACDN mode 241fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 242fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param OMX_IndexCustomModeMimeConfig_WBAMRDEC Sets the MIME mode 243fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 244fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 245fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_INDEXAUDIOTYPE_WBAMRDEC { 246b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomModeEfrConfig_WBAMRDEC = 0xFF000001, 247b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomModeAmrConfig_WBAMRDEC, 248b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomModeAcdnConfig_WBAMRDEC, 249b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomModeDasfConfig_WBAMRDEC, 250b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomModeMimeConfig_WBAMRDEC, 251b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomWbAmrDecHeaderInfoConfig, 252b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomWbAmrDecStreamIDConfig, 253fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IndexCustomWbAmrDecDataPath, 254b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomWbAmrDecNextFrameLost, 255b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomDebug 256fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}OMX_INDEXAUDIOTYPE_WBAMRDEC; 257fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 258b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 259b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/** 260b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * pthread variable to indicate OMX returned all buffers to app 261b65f253fdc60f6208a54911bee793d225f23cdf8James Dong */ 262b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/* ======================================================================= */ 263b65f253fdc60f6208a54911bee793d225f23cdf8James Dongpthread_mutex_t bufferReturned_mutex; 264b65f253fdc60f6208a54911bee793d225f23cdf8James Dongpthread_cond_t bufferReturned_condition; 265fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 266fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 267fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** WBAMR_DEC_StreamType Stream types 268fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 269b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_DMM DMM 270fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 271b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_INSTRM Input stream 272fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 273b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_OUTSTRM Output stream 274fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 275fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 276fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum WBAMR_DEC_StreamType 277fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 278fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_DMM, 279fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_INSTRM, 280fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_OUTSTRM 281fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 282fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 283fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum WBAMR_DEC_DecodeType 284fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 285b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin WBAMR, 286b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin WBAMR_EFR 287fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 288fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 289fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 290fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** WBAMR_DEC_MimeMode Stream types 291fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 292b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_MIMEMODE MIME 293fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 294b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_NONMIMEMODE NON MIME 295fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 296fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 297fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ====================================================================== */ 298fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinenum WBAMR_DEC_MimeMode { 299b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin WBAMR_DEC_NONMIMEMODE, 300b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin WBAMR_DEC_MIMEMODE 301fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 302fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 303fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 304fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** WBAMR_DEC_BUFFER_Dir Buffer Direction 305fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 306b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_DIRECTION_INPUT INPUT 307fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 308b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_DIRECTION_OUTPUT OUTPUT 309fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 310fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 311fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ====================================================================== */ 312fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 313fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_DIRECTION_INPUT, 314fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_DIRECTION_OUTPUT 315fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMR_DEC_BUFFER_Dir; 316fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 317fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct WBAMR_DEC_BUFFS 318fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 319fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char WBAMR_DEC_BufHeader; 320fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char WBAMR_DEC_Buffer; 321fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMR_DEC_BUFFS; 322fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 323fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 324fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** WBAMR_DEC_BUFFERHEADERTYPE_INFO 325fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 326fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param pBufHeader 327fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 328fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @param bBufOwner 329fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 330fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 331fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 332fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct WBAMR_DEC_BUFFERHEADERTYPE_INFO 333fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 334fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* pBufHeader[WBAMR_DEC_MAX_NUM_OF_BUFS]; 335fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_BUFFS bBufOwner[WBAMR_DEC_MAX_NUM_OF_BUFS]; 336fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMR_DEC_BUFFERHEADERTYPE_INFO; 337fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 338fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ======================================================================= */ 339fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** WBAMR_DEC_LCML_MimeMode Stream types 340fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 341b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_MODE_MIME MIME 342fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 343b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param WBAMR_DEC_MODE_NONMIME NON MIME 344fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 345fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 346fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ==================================================================== */ 347fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum { 348fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_MODE_MIME, 349fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_MODE_NONMIME 350fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMR_DEC_LCML_MimeMode; 351fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 352fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 353fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 354fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Socket node input parameters. 355fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 356fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 357fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct WBAMR_DEC_AudioCodecParams 358fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 359b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iSamplingRate; 360b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iStrmId; 361b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned short iAudioFormat; 362fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 363fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMR_DEC_AudioCodecParams; 364fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 365fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 366fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 367fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Socket node alg parameters. 368fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 369fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 370fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct { 371fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usLastFrame; 372fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usFrameLost; 373fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WAMRDEC_FrameStruct; 374fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 375fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct{ 376fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long int usNbFrames; 377fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WAMRDEC_FrameStruct *pParamElem; 378fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMRDEC_ParamStruct; 379fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 380fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 381fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 382fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* WBAMR Buffer Header Type 383fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 384fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 385fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct LCML_WBAMR_DEC_BUFHEADERTYPE { 386fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_BUFFER_Dir eDir; 387fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* buffer; 388fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WAMRDEC_FrameStruct *pFrameParam; 389fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMRDEC_ParamStruct *pBufferParam; 390fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin DMM_BUFFER_OBJ* pDmmBuf; 391fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}LCML_WBAMR_DEC_BUFHEADERTYPE; 392fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 393fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 394fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 395fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 396fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 397fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 398fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* WinCE Implicit Export Syntax */ 399fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_EXPORT __declspec(dllexport) 400fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =========================================================== */ 401fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 402fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* OMX_ComponentInit() Initializes component 403fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 404fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 405b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 406fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 407fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* @return OMX_ErrorNone = Successful 408fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Other error code = fail 409fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* 410fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 411fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/*================================================================== */ 412fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinOMX_EXPORT OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 413fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 414fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 415fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 416fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 417fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 418fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Instrumentation info 419fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 420fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 421fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 422fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct WBAMRDEC_BUFFERLIST WBAMR_DEC_BUFFERLIST; 423fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 424fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 425fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 426fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Structure for buffer list 427fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 428fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 429fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinstruct WBAMRDEC_BUFFERLIST{ 430b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr[WBAMR_DEC_MAX_NUM_OF_BUFS]; /* records buffer header send by client */ 431b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bufferOwner[WBAMR_DEC_MAX_NUM_OF_BUFS]; 432b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bBufferPending[WBAMR_DEC_MAX_NUM_OF_BUFS]; 433b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U16 numBuffers; 434fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}; 435fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef UNDER_CE 436b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #ifndef _OMX_EVENT_ 437b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define _OMX_EVENT_ 438b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin typedef struct OMX_Event { 439b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin HANDLE event; 440b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin } OMX_Event; 441b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #endif 442fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 443fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 444fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct PV_OMXComponentCapabilityFlagsType 445fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 446fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin ////////////////// OMX COMPONENT CAPABILITY RELATED MEMBERS (for opencore compatability) 447fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iIsOMXComponentMultiThreaded; 448fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalOutputBufferAlloc; 449fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsExternalInputBufferAlloc; 450fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsMovableInputBuffers; 451fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentSupportsPartialFrames; 452fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentNeedsNALStartCode; 453fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL iOMXComponentCanHandleIncompleteFrames; 454fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} PV_OMXComponentCapabilityFlagsType; 455fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 456fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 457fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 458fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 459fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * NBAMRDEC_BUFDATA 460fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 461fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 462fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct WBAMRDEC_BUFDATA { 463fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nFrames; 464fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin}WBAMRDEC_BUFDATA; 465fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 466fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 467fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* =================================================================================== */ 468fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** 469fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin* Component private data 470fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin*/ 471fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ================================================================================== */ 472fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct WBAMR_DEC_COMPONENT_PRIVATE 473fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 474fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__ 475fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_OBJHANDLE pPERF, pPERFcomp; 476fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntIp; 477fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLcml_nCntOpReceived; 478fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 479fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Array of pointers to BUFFERHEADERTYPE structues 480fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin This pBufHeader[WBAMR_DEC_INPUT_PORT] will point to all the 481fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFERHEADERTYPE structures related to input port, 482fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin not just one structure. Same is for output port 483fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin also. */ 484fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 485fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE* pBufHeader[WBAMR_DEC_NUM_OF_PORTS]; 486fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 487fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Number of input buffers at runtime */ 488fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nRuntimeInputBuffers; 489fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 490fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin WBAMR_DEC_BUFFERHEADERTYPE_INFO BufInfo[WBAMR_DEC_NUM_OF_PORTS]; 491fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 492fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_CALLBACKTYPE cbInfo; 493fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Handle for use with async callbacks */ 494fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 495fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PORT_PARAM_TYPE sPortParam; 496fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE sInPortFormat; 497fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE sOutPortFormat; 498fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 499fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This will contain info like how many buffers 500fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin are there for input/output ports, their size etc, but not 501fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin BUFFERHEADERTYPE POINTERS. */ 502fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_PORTDEFINITIONTYPE* pPortDef[WBAMR_DEC_NUM_OF_PORTS]; 503fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PARAM_AMRTYPE* wbamrParams[WBAMR_DEC_NUM_OF_PORTS]; 504fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 505fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** This is component handle */ 506fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_COMPONENTTYPE* pHandle; 507fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 508fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Current state of this component */ 509fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STATETYPE curState; 510fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 511fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The component thread handle */ 512fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_t WBAMR_DEC_ComponentThread; 513fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 514fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 515fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int dataPipe[2]; 516fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 517fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 518fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdPipe[2]; 519fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 520fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 521fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int cmdDataPipe[2]; 522fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 523fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 524fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* int lcml_Pipe[2]; */ 525fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 526fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Set to indicate component is stopping */ 527fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bIsStopping; 528fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 529fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 530fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nIpBuf; 531fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 532fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Count of number of buffers outstanding with bridge */ 533fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nOpBuf; 534fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 535fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 app_nBuf; 536b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 wbamrIf2Bytes[NUM_IF2_BYTES_ARRAY]; /*Array With IF2 Lenght Information*/ 537fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntIp; 538fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 lcml_nCntOpReceived; 539fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 num_Reclaimed_Op_Buff; 540fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 541fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE pLcmlHandle; 542fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin LCML_WBAMR_DEC_BUFHEADERTYPE *pLcmlBufHeader[2]; 543fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 iAmrMimeFlag; 544fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 iAmrSamplingFrequeny; 545fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 iAmrChannels; 546fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 iAmrMode; 547b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 dasfmode; 548b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 mimemode; 549b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 acdnmode; 550b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 fdwrite; 551b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 fdread; 552b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 streamID; 553fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 554fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bPortDefsAllocated; 555fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 bCompThreadStarted; 556fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PTR pMarkData; 557fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MARKTYPE *pMarkBuf; 558b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_HANDLETYPE hMarkTargetComponent; 559b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin WBAMR_DEC_BUFFERLIST *pInputBufferList; 560b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin WBAMR_DEC_BUFFERLIST *pOutputBufferList; 561b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin LCML_STRMATTR *strmAttr; 562b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nVersion; 563b65f253fdc60f6208a54911bee793d225f23cdf8James Dong OMX_U32 wbamrMimeBytes[NUM_MIME_BYTES_ARRAY]; 564b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nHoldLength; 565b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8* pHoldBuffer; 566b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bLcmlHandleOpened; 567b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nFillThisBufferCount; 568b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nFillBufferDoneCount; 569b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyThisBufferCount; 570b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyBufferDoneCount; 571b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin WBAMR_DEC_AudioCodecParams *pParams; 572b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bInitParamsInitialized; 573b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /* OMX_U32 bIdleCommandPending; */ 574b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pInputBufHdrPending[WBAMR_DEC_MAX_NUM_OF_BUFS]; 575b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nNumInputBufPending; 576b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPending[WBAMR_DEC_MAX_NUM_OF_BUFS]; 577b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nNumOutputBufPending; 578b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bDisableCommandPending; 579b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bEnableCommandPending; 580b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bDisableCommandParam; 581b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bEnableCommandParam; 582b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 583b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag to set when socket node stop callback should not transition 584b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin component to OMX_StateIdle */ 585b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bNoIdleOnStop; 586b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 587b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag set when socket node is stopped */ 588b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bDspStoppedWhileExecuting; 589b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 590b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Number of outstanding FillBufferDone() calls */ 591b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S32 nOutStandingFillDones; 592b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 593fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Stop Codec Command Sent Flag*/ 594b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 bStopSent; 595b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 596fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef UNDER_CE 597b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t AlloBuf_mutex; 598fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t AlloBuf_threshold; 599fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 600fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 601b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t codecStop_mutex; 602b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_cond_t codecStop_threshold; 603b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 codecStop_waitingsignal; 604b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 605fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InLoaded_mutex; 606fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InLoaded_threshold; 607fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 608fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 609fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_mutex_t InIdle_mutex; 610fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pthread_cond_t InIdle_threshold; 611fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 612b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 613b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S8 nUnhandledFillThisBuffers; 614fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_S8 nUnhandledEmptyThisBuffers; 615fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushOutputPortCommandPending; 616fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFlushInputPortCommandPending; 617fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#else 618fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event AlloBuf_event; 619fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 620fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 621fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InLoaded_event; 622fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 623fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 624fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Event InIdle_event; 625fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 626fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 627fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U16 nRuntimeOutputBuffers; 628fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 629fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 PendingPausedBufs; 630fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPausedPending[WBAMR_DEC_MAX_NUM_OF_BUFS]; 631fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 632fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BUFFERHEADERTYPE *LastOutbuf; 633fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 634b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BOOL bIsInvalidState; 635b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_STRING* sDeviceString; 636b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 637fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin void* ptrLibLCML; 638fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 639fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Circular array to keep buffer timestamps */ 640b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrBufIndex[WBAMR_DEC_MAX_NUM_OF_BUFS]; 641fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Circular array to keep buffer nTickCounts */ 642b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrTickCount[WBAMR_DEC_MAX_NUM_OF_BUFS]; 643b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrBufIndex[], used for input buffer timestamps */ 644b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 IpBufindex; 645b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrBufIndex[], used for output buffer timestamps */ 646b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 OpBufindex; 647b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 648b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag to flush SN after EOS in order to process more buffers after EOS**/ 649b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 SendAfterEOS; 650fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 651fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bLoadedCommandPending; 652fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 653fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PARAM_COMPONENTROLETYPE componentRole; 654fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 655fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** Pointer to port priority management structure */ 656fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PRIORITYMGMTTYPE* pPriorityMgmt; 657b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 658b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 659b65f253fdc60f6208a54911bee793d225f23cdf8James Dong RMPROXY_CALLBACKTYPE rmproxyCallback; 660b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 661b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 662b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BOOL bPreempted; 663fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bFrameLost; 664b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 665b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag to mark RTSP**/ 666b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 using_rtsp; 667b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 668fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PV_OMXComponentCapabilityFlagsType iPVCapabilityFlags; 669fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 670b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin struct OMX_TI_Debug dbg; 671fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 672fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} WBAMR_DEC_COMPONENT_PRIVATE; 673fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 674b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*=======================================================================*/ 675b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*! @fn SignalIfAllBuffersAreReturned 676b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 677b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @brief Sends pthread signal to indicate OMX has returned all buffers to app 678b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 679b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @param none 680b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 681b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * @Return void 682b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 683b65f253fdc60f6208a54911bee793d225f23cdf8James Dong */ 684b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*=======================================================================*/ 685b65f253fdc60f6208a54911bee793d225f23cdf8James Dongvoid SignalIfAllBuffersAreReturned(WBAMR_DEC_COMPONENT_PRIVATE *pComponentPrivate); 686b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 687fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif /* OMX_WBAMR_DECODER_H */ 688