00001
00028 #ifndef _OMX_CAMERA_TEST_H_
00029 #define _OMX_CAMERA_TEST_H_
00030
00031 #include <pthread.h>
00032
00033 #include "tsemaphore.h"
00034 #include <user_debug_levels.h>
00035
00036
00037
00039 #define VERSIONMAJOR 1
00040 #define VERSIONMINOR 1
00041 #define VERSIONREVISION 0
00042 #define VERSIONSTEP 0
00043
00044
00046 #define DEFAULT_FRAME_RATE 15
00047
00048 #define DEFAULT_FRAME_WIDTH 320
00049 #define DEFAULT_FRAME_HEIGHT 240
00050
00051 #define DEFAULT_CAMERA_COLOR_FORMAT OMX_COLOR_FormatYUV420PackedPlanar
00052 #define DEFAULT_FBSINK_COLOR_FORMAT OMX_COLOR_Format24bitRGB888
00053 #define DEFAULT_CAPTURE_COLOR_FORMAT DEFAULT_CAMERA_COLOR_FORMAT
00054
00055 #define MAXBUFNUM_PERPORT 16
00056
00058 enum
00059 {
00060 OMX_CAMPORT_INDEX_VF = 0,
00061 OMX_CAMPORT_INDEX_CP,
00062 OMX_CAMPORT_INDEX_CP_T,
00063 OMX_CAMPORT_INDEX_MAX
00064 };
00065
00066 #define NUM_CAMERAPORTS (OMX_CAMPORT_INDEX_MAX)
00067
00068
00070 typedef struct appPrivateType{
00071 tsem_t* cameraSourceEventSem;
00072 tsem_t* colorconvEventSem;
00073 tsem_t* fbsinkEventSem;
00074 OMX_HANDLETYPE camerahandle;
00075 OMX_HANDLETYPE colorconvhandle;
00076 OMX_HANDLETYPE fbsinkhandle;
00077 }appPrivateType;
00078
00079
00081 typedef struct OMX_PORTBUFFERCTXT{
00082 OMX_BUFFERHEADERTYPE* pBufHeaderList[MAXBUFNUM_PERPORT];
00083 OMX_U32 nBufferCountActual;
00084 }OMX_PORTBUFFERCTXT;
00085
00086
00087
00088
00090 OMX_ERRORTYPE camera_sourceEventHandler(
00091 OMX_OUT OMX_HANDLETYPE hComponent,
00092 OMX_OUT OMX_PTR pAppData,
00093 OMX_OUT OMX_EVENTTYPE eEvent,
00094 OMX_OUT OMX_U32 Data1,
00095 OMX_OUT OMX_U32 Data2,
00096 OMX_OUT OMX_PTR pEventData);
00097
00098 OMX_ERRORTYPE camera_sourceFillBufferDone(
00099 OMX_OUT OMX_HANDLETYPE hComponent,
00100 OMX_OUT OMX_PTR pAppData,
00101 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00102
00104 OMX_ERRORTYPE colorconvEventHandler(
00105 OMX_OUT OMX_HANDLETYPE hComponent,
00106 OMX_OUT OMX_PTR pAppData,
00107 OMX_OUT OMX_EVENTTYPE eEvent,
00108 OMX_OUT OMX_U32 Data1,
00109 OMX_OUT OMX_U32 Data2,
00110 OMX_OUT OMX_PTR pEventData);
00111
00112 OMX_ERRORTYPE colorconvEmptyBufferDone(
00113 OMX_OUT OMX_HANDLETYPE hComponent,
00114 OMX_OUT OMX_PTR pAppData,
00115 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00116
00117 OMX_ERRORTYPE colorconvFillBufferDone(
00118 OMX_OUT OMX_HANDLETYPE hComponent,
00119 OMX_OUT OMX_PTR pAppData,
00120 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00121
00123 OMX_ERRORTYPE fbsinkEventHandler(
00124 OMX_OUT OMX_HANDLETYPE hComponent,
00125 OMX_OUT OMX_PTR pAppData,
00126 OMX_OUT OMX_EVENTTYPE eEvent,
00127 OMX_OUT OMX_U32 Data1,
00128 OMX_OUT OMX_U32 Data2,
00129 OMX_OUT OMX_PTR pEventData);
00130
00131 OMX_ERRORTYPE fbsinkEmptyBufferDone(
00132 OMX_OUT OMX_HANDLETYPE hComponent,
00133 OMX_OUT OMX_PTR pAppData,
00134 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00135
00136
00138 OMX_ERRORTYPE setHeader(OMX_PTR header, OMX_U32 size);
00139
00141 OMX_ERRORTYPE setCameraParameters(OMX_BOOL bCameraStillImageMode);
00142 OMX_ERRORTYPE setColorConvParameters();
00143 OMX_ERRORTYPE setFbsinkParameters();
00144
00145
00146 #endif