Home | History | Annotate | Download | only in include
      1 /* ------------------------------------------------------------------
      2  * Copyright (C) 1998-2009 PacketVideo
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     13  * express or implied.
     14  * See the License for the specific language governing permissions
     15  * and limitations under the License.
     16  * -------------------------------------------------------------------
     17  */
     18 #ifndef PV_OMXDEFS_H_INCLUDED
     19 #define PV_OMXDEFS_H_INCLUDED
     20 
     21 /** Maximum number of base_component component instances */
     22 //#define MAX_SUPPORTED_COMPONENTS 10       // e.g. 10 = PV -MP4, PV-H263, PV-AVC, PV-WMV, PV-AAC, PV-AMR, PV-MP3, ...
     23 #define MAX_SUPPORTED_COMPONENTS 15         // e.g. 10 = PV -MP4, PV-H263, PV-AVC, PV-WMV, PV-AAC, PV-AMR, PV-MP3, ...
     24 #define MAX_INSTANTIATED_COMPONENTS 7
     25 
     26 //#define INSERT_NAL_START_CODE
     27 // while there is no documented number of max NALs per frame, this should be more than enough
     28 // this used to keep track of the NAL sizes in full-frame, multiple NAL output buffers
     29 #define MAX_NAL_PER_FRAME 100
     30 
     31 // maximum length of component names
     32 #define PV_OMX_MAX_COMPONENT_NAME_LENGTH 128
     33 
     34 // this is the PV defined index used to access the PV_OMXComponentCapabilityFlags structure in
     35 // PV omx components. Index is arbitrarily chosen (but falls in the range
     36 // above 0xFF0000) as defined in the spec)
     37 #define PV_OMX_COMPONENT_CAPABILITY_TYPE_INDEX 0xFF7A347
     38 
     39 //Enable/disable this switch to build the workspace with or without proxy
     40 // 1 - Enable,  0 - disable
     41 // 1 - Multithreaded, 0 - AO
     42 #define PROXY_INTERFACE 1
     43 
     44 // The following is needed for dll linking of APIs
     45 #define __OMX_EXPORTS
     46 
     47 /**
     48  * Port Specific Macro's
     49  */
     50 /** Defines the major version of the core */
     51 #define SPECVERSIONMAJOR  1
     52 /** Defines the minor version of the core */
     53 #define SPECVERSIONMINOR  0
     54 /** Defines the revision of the core */
     55 #define SPECREVISION      0
     56 /** Defines the step version of the core */
     57 #define SPECSTEP          0
     58 
     59 
     60 #define BUFFER_ALLOCATED (1 << 0)
     61 /** This flag is applied to a buffer when it is assigned
     62 *   from another port or by the IL client
     63 */
     64 #define BUFFER_ASSIGNED (1 << 1)
     65 /** This flag is applied to a buffer if its header has been allocated
     66 */
     67 
     68 #define HEADER_ALLOCATED (1 << 2)
     69 
     70 /** This flag is applied to a buffer just deallocated
     71 */
     72 #define BUFFER_FREE 0
     73 
     74 #define PORT_IS_BEING_FLUSHED(port)             (port->IsPortFlushed == OMX_FALSE)
     75 #define PORT_IS_ENABLED(port)                   (port->PortParam.bEnabled == OMX_TRUE)
     76 #define PORT_IS_POPULATED(port)                 (port->PortParam.bPopulated == OMX_TRUE)
     77 
     78 
     79 /** this flag specifies that the message send is a command */
     80 #define SENDCOMMAND_MSG_TYPE 1
     81 /** this flag specifies that the message send is an error message */
     82 #define ERROR_MSG_TYPE       2
     83 /** this flag specifies that the message send is a warning message */
     84 #define WARNING_MSG_TYPE     3
     85 
     86 
     87 #endif
     88