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_WbAmrEncoder.h
30*
31* This is an header file for an WBAMR Encoder that is fully
32* compliant with the OMX Audio specification 1.5.
33* This the file that the application that uses OMX would include in its code.
34*
35* @path $(CSLPATH)\OMAPSW_MPU\linux\audio\src\openmax_il\wbamr_enc\inc
36*
37* @rev 1.0
38*/
39/* --------------------------------------------------------------------------- */
40/* ----------------------------------------------------------------------------
41*!
42*! Revision History
43*! ===================================
44*! 21-sept-2006 bk: updated review findings for alpha release
45*! 24-Aug-2006 bk: Khronos OpenMAX (TM) 1.0 Conformance tests some more
46*! 18-July-2006 bk: Khronos OpenMAX (TM) 1.0 Conformance tests validated for few cases
47*! 21-Jun-2006 bk: Khronos OpenMAX (TM) 1.0 migration done
48*! 22-May-2006 bk: DASF recording quality improved
49*! 19-Apr-2006 bk: DASF recording speed issue resloved
50*! 23-Feb-2006 bk: DASF functionality added
51*! 18-Jan-2006 bk: Repated recording issue fixed and LCML changes taken care
52*! 14-Dec-2005 bk: Initial Version
53*! 16-Nov-2005 bk: Initial Version
54*! 23-Sept-2005 bk: Initial Version
55*! 10-Sept-2005 bk: Initial Version
56*! 10-Sept-2005 bk:
57*! This is newest file
58* =========================================================================== */
59
60#ifndef OMX_WBAMRENCODER_H
61#define OMX_WBAMRENCODER_H
62
63#include <OMX_Component.h>
64#include <pthread.h>
65
66/* ======================================================================= */
67/**
68 * @def WBAMRENC_NUM_INPUT_BUFFERS   Default number of input buffers
69 */
70/* ======================================================================= */
71#define WBAMRENC_NUM_INPUT_BUFFERS 5
72/* ======================================================================= */
73/**
74 * @def WBAMRENC_NUM_INPUT_BUFFERS_DASF  Default No.of input buffers DASF
75 */
76/* ======================================================================= */
77#define WBAMRENC_NUM_INPUT_BUFFERS_DASF 2
78/* ======================================================================= */
79/**
80 * @def WBAMRENC_NUM_OUTPUT_BUFFERS   Default number of output buffers
81 */
82/* ======================================================================= */
83#define WBAMRENC_NUM_OUTPUT_BUFFERS 9
84/* ======================================================================= */
85/**
86 * @def WBAMRENC_INPUT_BUFFER_SIZE       Default input buffer size
87 *      WBAMRENC_INPUT_BUFFER_SIZE_DASF  Default input buffer size DASF
88 *      WBAMRENC_INPUT_FRAME_SIZE        Default input Frame Size
89 */
90/* ======================================================================= */
91#define WBAMRENC_INPUT_BUFFER_SIZE 640
92#define WBAMRENC_INPUT_BUFFER_SIZE_DASF 640
93#define WBAMRENC_INPUT_FRAME_SIZE 640
94/* ======================================================================= */
95/**
96 * @def WBAMRENC_OUTPUT_BUFFER_SIZE   Default output buffer size
97 *      WBAMRENC_OUTPUT_FRAME_SIZE    Default output frame size
98 */
99/* ======================================================================= */
100#define WBAMRENC_OUTPUT_BUFFER_SIZE 116
101#define WBAMRENC_OUTPUT_FRAME_SIZE 116
102/* ======================================================================= */
103/**
104 * @def WBAMRENC_OUTPUT_BUFFER_SIZE_MIME  Default input buffer size MIME
105 */
106/* ======================================================================= */
107#define WBAMRENC_OUTPUT_BUFFER_SIZE_MIME 61
108/* ======================================================================= */
109/**
110 * @def WBAMRENC_OUTPUT_BUFFER_SIZE_MIME  Default input buffer size IF2
111 */
112/* ======================================================================= */
113#define WBAMRENC_OUTPUT_BUFFER_SIZE_IF2 32
114
115/* ======================================================================= */
116/*
117 * @def WBAMRENC_APP_ID  App ID Value setting
118 */
119/* ======================================================================= */
120#define WBAMRENC_APP_ID 100
121
122/* ======================================================================= */
123/** WBAMRENC_OMX_INDEXAUDIOTYPE  Defines the custom configuration settings
124*                                for the component
125*  @param  OMX_WbIndexCustomModeEfrConfig  Sets the EFR mode
126*
127*  @param  OMX_WbIndexCustomModeAmrConfig  Sets the WBAMR mode
128*
129*  @param  OMX_WbIndexCustomModeDasfConfig  Sets the DASF mode
130*
131*  @param  OMX_WbIndexCustomModeAcdnConfig  Sets the ACDN mode
132*
133*  @param  OMX_WbIndexCustomModeMimeConfig  Sets the MIME mode
134*
135*  @param  OMX_WbIndexCustomModeMultiFrameConfig  Sets the MultiFrame mode
136*/
137/* ======================================================================= */
138typedef enum WBAMRENC_OMX_INDEXAUDIOTYPE {
139    OMX_WbIndexCustomModeEfrConfig = 0xFF000001,
140    OMX_WbIndexCustomModeAmrConfig,
141    OMX_WbIndexCustomModeAcdnConfig,
142    OMX_WbIndexCustomModeDasfConfig,
143    OMX_WbIndexCustomModeMimeConfig,
144    OMX_WbIndexCustomModeMultiFrameConfig,
145    OMX_IndexCustomWbAmrEncHeaderInfoConfig,
146    OMX_IndexCustomWbAmrEncStreamIDConfig,
147    OMX_WbIndexCustomDataPath,
148    OMX_IndexCustomDebug
149} WBAMRENC_OMX_INDEXAUDIOTYPE;
150
151#endif /* OMX_WBAMRENCODER_H */
152