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 /* ======================================================================= */ 138 typedef 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