• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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