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