Home | History | Annotate | Download | only in inc
      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