1
2/*
3 * Copyright (C) Texas Instruments - http://www.ti.com/
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 * Lesser General Public License for more details.
15 *
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
20 */
21/* =============================================================================
22 *             Texas Instruments OMAP(TM) Platform Software
23 *  (c) Copyright Texas Instruments, Incorporated.  All Rights Reserved.
24 *
25 *  Use of this software is controlled by the terms and conditions found
26 *  in the license agreement under which this software has been supplied.
27 * ============================================================================ */
28/**
29 * @file OMX_G722Decoder.h
30 *
31 * This is an header file for an audio G722 decoder that is fully
32 * compliant with the OMX Audio specification.
33 * This the file that the application that uses OMX would include
34 * in its code.
35 *
36 * @path  $(CSLPATH)\OMAPSW_MPU\linux\audio\src\openmax_il\g722_dec\inc\
37 *
38 * @rev 1.0
39 */
40/* --------------------------------------------------------------------------- */
41
42
43#ifndef OMX_G722DECODER_H
44#define OMX_G722DECODER_H
45
46
47#ifdef UNDER_CE
48#include <windows.h>
49#include <oaf_osal.h>
50#include <omx_core.h>
51#include <stdlib.h>
52#else
53#include <pthread.h>
54#endif
55
56#include <OMX_Component.h>
57
58/*#define G722DEC_DEBUG  */    /* See all debug statement of the component */
59/*#define G722DEC_MEMDETAILS  */ /* See memory details of the component */
60/* #define G722DEC_BUFDETAILS */  /* See buffers details of the component */
61/*#define G722DEC_STATEDETAILS  */ /* See all state transitions of the component */
62/*#define G722DEC_SWATDETAILS  */  /* See SWAT debug statement of the component */
63
64
65#define MAX_NUM_OF_BUFS 10 /* Max number of buffers used */
66#define G722D_NUM_INPUT_BUFFERS 1  /* Default number of input buffers */
67#define G722D_NUM_OUTPUT_BUFFERS 2 /* Default number of output buffers */
68#define G722D_INPUT_BUFFER_SIZE  4096 /* Default size of input buffer */
69#define G722D_OUTPUT_BUFFER_SIZE 320 /* Default size of output buffer */
70
71#define NUM_OF_PORTS 2 /* Number of ports of component */
72
73#define INVALID_SAMPLING_FREQ  51
74
75/* ======================================================================= */
76/** OMX_G722DEC_INDEXAUDIOTYPE  Defines the custom configuration settings
77 *                              for the component
78 *
79 *  @param  OMX_IndexCustomG722DecModeDasfConfig      Sets the DASF mode
80 *
81 */
82/*  ==================================================================== */
83typedef enum OMX_G722DEC_INDEXAUDIOTYPE {
84    OMX_IndexCustomG722DecModeDasfConfig = OMX_IndexIndexVendorStartUnused + 1,
85    OMX_IndexCustomG722DecHeaderInfoConfig
86}OMX_G722DEC_INDEXAUDIOTYPE;
87
88
89/* ============================================================================== * */
90/** G722D_COMP_PORT_TYPE  describes the input and output port of indices of the
91 * component.
92 *
93 * @param  G722D_INPUT_PORT  Input port index
94 *
95 * @param  G722D_OUTPUT_PORT Output port index
96 */
97/* ============================================================================ * */
98typedef enum G722D_COMP_PORT_TYPE {
99    G722D_INPUT_PORT = 0,
100    G722D_OUTPUT_PORT
101}G722D_COMP_PORT_TYPE;
102
103#endif /* OMX_G722DECODER_H */
104