00001
00030 #include <stdio.h>
00031 #include <stdlib.h>
00032 #include <fcntl.h>
00033 #include <string.h>
00034 #include <pthread.h>
00035 #include <ctype.h>
00036
00037 #include <OMX_Core.h>
00038 #include <OMX_Component.h>
00039 #include <OMX_Types.h>
00040 #include <OMX_Video.h>
00041
00042 #include <tsemaphore.h>
00043 #include <user_debug_levels.h>
00044
00045
00046 typedef struct appPrivateType{
00047 tsem_t* encoderEventSem;
00048 tsem_t* eofSem;
00049 tsem_t* sourceEventSem;
00050 OMX_HANDLETYPE videosrchandle;
00051 OMX_HANDLETYPE videoenchandle;
00052 }appPrivateType;
00053
00054 #define BUFFER_IN_SIZE 176*144*3/2
00055
00057 #define VERSIONMAJOR 1
00058 #define VERSIONMINOR 1
00059 #define VERSIONREVISION 0
00060 #define VERSIONSTEP 0
00061
00062
00063
00064 OMX_ERRORTYPE videosrcEventHandler(
00065 OMX_OUT OMX_HANDLETYPE hComponent,
00066 OMX_OUT OMX_PTR pAppData,
00067 OMX_OUT OMX_EVENTTYPE eEvent,
00068 OMX_OUT OMX_U32 Data1,
00069 OMX_OUT OMX_U32 Data2,
00070 OMX_OUT OMX_PTR pEventData);
00071
00072 OMX_ERRORTYPE videosrcFillBufferDone(
00073 OMX_OUT OMX_HANDLETYPE hComponent,
00074 OMX_OUT OMX_PTR pAppData,
00075 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00076
00077
00078 OMX_ERRORTYPE videoencEventHandler(
00079 OMX_OUT OMX_HANDLETYPE hComponent,
00080 OMX_OUT OMX_PTR pAppData,
00081 OMX_OUT OMX_EVENTTYPE eEvent,
00082 OMX_OUT OMX_U32 Data1,
00083 OMX_OUT OMX_U32 Data2,
00084 OMX_OUT OMX_PTR pEventData);
00085
00086 OMX_ERRORTYPE videoencEmptyBufferDone(
00087 OMX_OUT OMX_HANDLETYPE hComponent,
00088 OMX_OUT OMX_PTR pAppData,
00089 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00090
00091 OMX_ERRORTYPE videoencFillBufferDone(
00092 OMX_OUT OMX_HANDLETYPE hComponent,
00093 OMX_OUT OMX_PTR pAppData,
00094 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00095
00099 void display_help();
00100
00102 int setPortParameters();
00103