omxparsertest.h

Go to the documentation of this file.
00001 
00039 #ifndef __OMXPARSERTEST_H__
00040 #define __OMXPARSERTEST_H__
00041 
00042 #include <stdio.h>
00043 #include <stdlib.h>
00044 #include <fcntl.h>
00045 #include <string.h>
00046 #include <pthread.h>
00047 #include <ctype.h>
00048 
00049 #include <OMX_Core.h>
00050 #include <OMX_Component.h>
00051 #include <OMX_Types.h>
00052 #include <OMX_Video.h>
00053 #include <OMX_Audio.h>
00054 
00055 #include <tsemaphore.h>
00056 #include <user_debug_levels.h>
00057 
00058 typedef struct appPrivateType{
00059   tsem_t* parser3gpEventSem;
00060   tsem_t* clockEventSem;
00061   tsem_t* videoDecoderEventSem;
00062   tsem_t* colorconvEventSem;
00063   tsem_t* fbdevSinkEventSem;
00064   tsem_t* audioDecoderEventSem;
00065   tsem_t* audioSinkEventSem;
00066   tsem_t* volumeEventSem;
00067   tsem_t* eofSem;
00068   OMX_HANDLETYPE videodechandle;
00069   OMX_HANDLETYPE colorconv_handle;
00070   OMX_HANDLETYPE videosinkhandle;
00071   OMX_HANDLETYPE audiodechandle;
00072   OMX_HANDLETYPE audiosinkhandle;
00073   OMX_HANDLETYPE volumehandle;
00074   OMX_HANDLETYPE parser3gphandle;
00075   OMX_HANDLETYPE clocksrchandle;
00076 }appPrivateType;
00077 
00078 #define BUFFER_IN_SIZE 4096    
00079 #define BUFFER_OUT_SIZE   640*480*3 // 1382400    //921600 -- the output buffer size is chosen to support upto VGA picture: 640*480*3 
00080 
00082 #define VERSIONMAJOR    1
00083 #define VERSIONMINOR    1
00084 #define VERSIONREVISION 0
00085 #define VERSIONSTEP     0
00086 
00087 /* Callback prototypes for video decoder*/
00088 OMX_ERRORTYPE videodecEventHandler(
00089   OMX_OUT OMX_HANDLETYPE hComponent,
00090   OMX_OUT OMX_PTR pAppData,
00091   OMX_OUT OMX_EVENTTYPE eEvent,
00092   OMX_OUT OMX_U32 Data1,
00093   OMX_OUT OMX_U32 Data2,
00094   OMX_OUT OMX_PTR pEventData);
00095 
00096 OMX_ERRORTYPE videodecEmptyBufferDone(
00097   OMX_OUT OMX_HANDLETYPE hComponent,
00098   OMX_OUT OMX_PTR pAppData,
00099   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00100 
00101 OMX_ERRORTYPE videodecFillBufferDone(
00102   OMX_OUT OMX_HANDLETYPE hComponent,
00103   OMX_OUT OMX_PTR pAppData,
00104   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00105 
00107 OMX_ERRORTYPE colorconvEventHandler(
00108   OMX_OUT OMX_HANDLETYPE hComponent,
00109   OMX_OUT OMX_PTR pAppData,
00110   OMX_OUT OMX_EVENTTYPE eEvent,
00111   OMX_OUT OMX_U32 Data1,
00112   OMX_OUT OMX_U32 Data2,
00113   OMX_OUT OMX_PTR pEventData);
00114 
00115 OMX_ERRORTYPE colorconvEmptyBufferDone(
00116   OMX_OUT OMX_HANDLETYPE hComponent,
00117   OMX_OUT OMX_PTR pAppData,
00118   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00119 
00120 OMX_ERRORTYPE colorconvFillBufferDone(
00121   OMX_OUT OMX_HANDLETYPE hComponent,
00122   OMX_OUT OMX_PTR pAppData,
00123   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00124 
00126 OMX_ERRORTYPE fb_sinkEventHandler(
00127   OMX_OUT OMX_HANDLETYPE hComponent,
00128   OMX_OUT OMX_PTR pAppData,
00129   OMX_OUT OMX_EVENTTYPE eEvent,
00130   OMX_OUT OMX_U32 Data1,
00131   OMX_OUT OMX_U32 Data2,
00132   OMX_OUT OMX_PTR pEventData);
00133 
00134 OMX_ERRORTYPE fb_sinkEmptyBufferDone(
00135   OMX_OUT OMX_HANDLETYPE hComponent,
00136   OMX_OUT OMX_PTR pAppData,
00137   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00138   
00140 OMX_ERRORTYPE parser3gpEventHandler(
00141   OMX_OUT OMX_HANDLETYPE hComponent,
00142   OMX_OUT OMX_PTR pAppData,
00143   OMX_OUT OMX_EVENTTYPE eEvent,
00144   OMX_OUT OMX_U32 Data1,
00145   OMX_OUT OMX_U32 Data2,
00146   OMX_OUT OMX_PTR pEventData);
00147   
00148 OMX_ERRORTYPE parser3gpFillBufferDone(
00149   OMX_OUT OMX_HANDLETYPE hComponent,
00150   OMX_OUT OMX_PTR pAppData,
00151   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00152 
00153 OMX_ERRORTYPE clocksrcEventHandler(
00154   OMX_OUT OMX_HANDLETYPE hComponent,
00155   OMX_OUT OMX_PTR pAppData,
00156   OMX_OUT OMX_EVENTTYPE eEvent,
00157   OMX_OUT OMX_U32 Data1,
00158   OMX_OUT OMX_U32 Data2,
00159   OMX_OUT OMX_PTR pEventData);
00160 
00161 OMX_ERRORTYPE clocksrcFillBufferDone(
00162   OMX_OUT OMX_HANDLETYPE hComponent,
00163   OMX_OUT OMX_PTR pAppData,
00164   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00165 
00166 
00168 OMX_ERRORTYPE audiodecEventHandler(
00169   OMX_OUT OMX_HANDLETYPE hComponent,
00170   OMX_OUT OMX_PTR pAppData,
00171   OMX_OUT OMX_EVENTTYPE eEvent,
00172   OMX_OUT OMX_U32 Data1,
00173   OMX_OUT OMX_U32 Data2,
00174   OMX_OUT OMX_PTR pEventData);
00175 
00176 OMX_ERRORTYPE audiodecEmptyBufferDone(
00177   OMX_OUT OMX_HANDLETYPE hComponent,
00178   OMX_OUT OMX_PTR pAppData,
00179   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00180 
00181 OMX_ERRORTYPE audiodecFillBufferDone(
00182   OMX_OUT OMX_HANDLETYPE hComponent,
00183   OMX_OUT OMX_PTR pAppData,
00184   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00185 
00187 OMX_ERRORTYPE volumeEventHandler(
00188   OMX_OUT OMX_HANDLETYPE hComponent,
00189   OMX_OUT OMX_PTR pAppData,
00190   OMX_OUT OMX_EVENTTYPE eEvent,
00191   OMX_OUT OMX_U32 Data1,
00192   OMX_OUT OMX_U32 Data2,
00193   OMX_OUT OMX_PTR pEventData);
00194 
00195 OMX_ERRORTYPE volumeEmptyBufferDone(
00196   OMX_OUT OMX_HANDLETYPE hComponent,
00197   OMX_OUT OMX_PTR pAppData,
00198   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00199 
00200 OMX_ERRORTYPE volumeFillBufferDone(
00201   OMX_OUT OMX_HANDLETYPE hComponent,
00202   OMX_OUT OMX_PTR pAppData,
00203   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00204 
00206 OMX_ERRORTYPE audiosinkEventHandler(
00207   OMX_OUT OMX_HANDLETYPE hComponent,
00208   OMX_OUT OMX_PTR pAppData,
00209   OMX_OUT OMX_EVENTTYPE eEvent,
00210   OMX_OUT OMX_U32 Data1,
00211   OMX_OUT OMX_U32 Data2,
00212   OMX_OUT OMX_PTR pEventData);
00213 
00214 OMX_ERRORTYPE audiosinkEmptyBufferDone(
00215   OMX_OUT OMX_HANDLETYPE hComponent,
00216   OMX_OUT OMX_PTR pAppData,
00217   OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00218 
00220 void display_help();
00221 
00225 int setPortParameters();
00226 
00227 #endif
00228 

Generated for OpenMAX Bellagio rel. 0.9.0 by  doxygen 1.5.1
SourceForge.net Logo