omxvideodectest.h File Reference

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <pthread.h>
#include <ctype.h>
#include <OMX_Core.h>
#include <OMX_Component.h>
#include <OMX_Types.h>
#include <OMX_Video.h>
#include <tsemaphore.h>
#include <user_debug_levels.h>

Go to the source code of this file.

Data Structures

struct  appPrivateType

Defines

#define BUFFER_IN_SIZE   2*8192
#define VERSIONMAJOR   1
#define VERSIONMINOR   1
#define VERSIONREVISION   0
#define VERSIONSTEP   0

Functions

OMX_ERRORTYPE videodecEventHandler (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_EVENTTYPE eEvent, OMX_OUT OMX_U32 Data1, OMX_OUT OMX_U32 Data2, OMX_OUT OMX_PTR pEventData)
OMX_ERRORTYPE videodecEmptyBufferDone (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE videodecFillBufferDone (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE colorconvEventHandler (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_EVENTTYPE eEvent, OMX_OUT OMX_U32 Data1, OMX_OUT OMX_U32 Data2, OMX_OUT OMX_PTR pEventData)
OMX_ERRORTYPE colorconvEmptyBufferDone (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE colorconvFillBufferDone (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE fb_sinkEventHandler (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_EVENTTYPE eEvent, OMX_OUT OMX_U32 Data1, OMX_OUT OMX_U32 Data2, OMX_OUT OMX_PTR pEventData)
OMX_ERRORTYPE fb_sinkEmptyBufferDone (OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_BUFFERHEADERTYPE *pBuffer)
void display_help ()
int find_resolution (char *searchname)
int setPortParameters ()


Detailed Description

Test application that uses a OpenMAX component, a generic video decoder. The application receives an video stream (.m4v or .264) decoded by a multiple format decoder component. The decoded output is seen by a yuv viewer.

Copyright (C) 2007 STMicroelectronics Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

$Date$ Revision $Rev$ Author $Author$

Definition in file omxvideodectest.h.


Define Documentation

#define BUFFER_IN_SIZE   2*8192

Definition at line 57 of file omxvideodectest.h.

#define VERSIONMAJOR   1

Specification version

Definition at line 60 of file omxvideodectest.h.

#define VERSIONMINOR   1

Definition at line 61 of file omxvideodectest.h.

#define VERSIONREVISION   0

Definition at line 62 of file omxvideodectest.h.

#define VERSIONSTEP   0

Definition at line 63 of file omxvideodectest.h.


Function Documentation

OMX_ERRORTYPE colorconvEmptyBufferDone ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_BUFFERHEADERTYPE pBuffer 
)

OMX_ERRORTYPE colorconvEventHandler ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_EVENTTYPE  eEvent,
OMX_OUT OMX_U32  Data1,
OMX_OUT OMX_U32  Data2,
OMX_OUT OMX_PTR  pEventData 
)

OMX_ERRORTYPE colorconvFillBufferDone ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_BUFFERHEADERTYPE pBuffer 
)

if there is no sink component then write buffer content in output file, in non tunneled case else in non tunneled case, call the sink comp handle to process this buffer as its input buffer

Definition at line 224 of file omxcameratest.c.

References DEB_LEV_ERR, DEB_LEV_FUNCTION_NAME, DEB_LEV_SIMPLE_SEQ, DEBUG, err, appPrivateType::fbdev_sink_handle, flagIsDisplayRequested, flagIsSinkRequested, flagSetupTunnel, OMX_BUFFERHEADERTYPE::nFilledLen, OMX_BUFFERFLAG_EOS, OMX_EmptyThisBuffer, OMX_ErrorNone, OMX_FillThisBuffer, OMX_TRUE, outfile, outfileVideo, OMX_BUFFERHEADERTYPE::pBuffer, and appPrivateType::videosinkhandle.

void display_help (  ) 

function prototype declaration display general help

help display

function prototype declaration display general help

help display

Definition at line 89 of file omxaudiocapnplay.c.

OMX_ERRORTYPE fb_sinkEmptyBufferDone ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_BUFFERHEADERTYPE pBuffer 
)

OMX_ERRORTYPE fb_sinkEventHandler ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_EVENTTYPE  eEvent,
OMX_OUT OMX_U32  Data1,
OMX_OUT OMX_U32  Data2,
OMX_OUT OMX_PTR  pEventData 
)

int find_resolution ( char *  searchname  ) 

Try to determine resolution based on filename

Definition at line 200 of file omxvideodectest.c.

References out_height, and out_width.

int setPortParameters (  ) 

this function sets the color converter and video sink port characteristics based on the video decoder output port settings

this function sets the color converter and video sink port characteristics based on the video source output port settings

this function sets the video source and encoder port characteristics

setting the color converter and sink component chararacteristics, if selected - both in tunneled as well as non tunneled case

setting the color conv input port width, height it will be same as the video decoder output port width, height

setting the color converter output width height it will be same as input dimensions

setting the input color format of color converter component it will be same as output yuv color format of the decoder component

setting output RGB color format of the color converter component

if video sink component is selected then set its input port settings accroding to the output port settings of the color converter component

Definition at line 102 of file omxvideocapnplay.c.

OMX_ERRORTYPE videodecEmptyBufferDone ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_BUFFERHEADERTYPE pBuffer 
)

OMX_ERRORTYPE videodecEventHandler ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_EVENTTYPE  eEvent,
OMX_OUT OMX_U32  Data1,
OMX_OUT OMX_U32  Data2,
OMX_OUT OMX_PTR  pEventData 
)

Callbacks implementation of the video decoder component

before setting port parameters , first check if tunneled case if so, then disable the output port of video decoder and generate dummy up signal, so that in main thread the color conv and sink comp ports are disabled and port parameter settings changes are done properly

in non tunneled case, if color converter and sink component are selected then set their port parameters according to input tream characteristics and send command to them to go to idle state and executing state

in non tunneled case, using buffers in color conv input port, allocated by video dec component output port

allocating buffers in the color converter compoennt output port

Definition at line 1698 of file omxparsertest.c.

References buffer_out_size, appPrivateType::colorconv_handle, appPrivateType::colorconvEventSem, DEB_LEV_ERR, DEB_LEV_SIMPLE_SEQ, DEBUG, appPrivateType::decoderEventSem, appPrivateType::eofSem, err, appPrivateType::fbdev_sink_handle, appPrivateType::fbdevSinkEventSem, flagIsColorConvRequested, flagIsSinkRequested, flagSetupTunnel, OMX_PARAM_PORTDEFINITIONTYPE::nBufferSize, OMX_PARAM_PORTDEFINITIONTYPE::nPortIndex, OMX_AllocateBuffer, OMX_BUFFERFLAG_EOS, OMX_CommandPortDisable, OMX_CommandPortEnable, OMX_CommandStateSet, OMX_ErrorNone, OMX_EventBufferFlag, OMX_EventCmdComplete, OMX_EventPortSettingsChanged, OMX_FillThisBuffer, OMX_GetParameter, OMX_IndexParamPortDefinition, OMX_SendCommand, OMX_StateExecuting, OMX_StateIdle, OMX_StateInvalid, OMX_StateLoaded, OMX_StatePause, OMX_StateWaitForResources, OMX_UseBuffer, outbuf_colorconv_size, OMX_BUFFERHEADERTYPE::pBuffer, setHeader(), setPortParameters(), tsem_down(), tsem_up(), appPrivateType::videodechandle, and appPrivateType::videoDecoderEventSem.

OMX_ERRORTYPE videodecFillBufferDone ( OMX_OUT OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_PTR  pAppData,
OMX_OUT OMX_BUFFERHEADERTYPE pBuffer 
)

if there is color conv component in processing state then send this buffer, in non tunneled case else in non tunneled case, write the output buffer contents in the specified output file

Definition at line 1807 of file omxparsertest.c.

References appPrivateType::colorconv_handle, DEB_LEV_ERR, DEB_LEV_FUNCTION_NAME, DEBUG, err, flagDecodedOutputReceived, flagIsColorConvRequested, flagIsDisplayRequested, flagSetupTunnel, OMX_BUFFERHEADERTYPE::nFilledLen, OMX_BUFFERFLAG_EOS, OMX_EmptyThisBuffer, OMX_ErrorNone, OMX_FillThisBuffer, OMX_GetState, OMX_StateExecuting, OMX_StatePause, OMX_TRUE, outfile, outfileVideo, and OMX_BUFFERHEADERTYPE::pBuffer.


Generated for OpenMAX Bellagio rel. 0.3.5-svn by  doxygen 1.5.1
SourceForge.net Logo