sdk-hwV1.3/external/eyesee-mpp/dragonboard/apps/DragonBoard/testcase/vdectester/sample_demux2vdec2vo.h

118 lines
2.0 KiB
C
Executable File

#ifndef __SAMPLE_DEMUX2VDEC2VO_H__
#define __SAMPLE_DEMUX2VDEC2VO_H__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <pthread.h>
#include "mm_comm_sys.h"
#include "mpi_sys.h"
#include "DemuxCompStream.h"
#include "mm_comm_demux.h"
#include "mpi_demux.h"
#include "mm_comm_vdec.h"
#include "mpi_vdec.h"
#include "mm_comm_vo.h"
#include "mpi_vo.h"
#include "tsemaphore.h"
#include <confparser.h>
#define MAX_FILE_PATH_LEN (128)
typedef enum
{
STATE_PREPARED = 0,
STATE_PAUSE,
STATE_PLAY,
STATE_STOP,
}STATE_E;
enum CLOCK_COMP_PORT_INDEX{
CLOCK_PORT_AUDIO = 0, //to audio render
CLOCK_PORT_VIDEO = 1, //to video render
CLOCK_PORT_DEMUX = 2, //to demux
CLOCK_PORT_VDEC = 3, //to vdec
};
typedef struct Demuxer2Vdec2Vo_CmdLineParam
{
char mConfigFilePath[MAX_FILE_PATH_LEN];
}DEMUXER2VDEC2VO_CMDLINEPARAM_S;
typedef struct Demuxer2Vdec2Vo_Config
{
char srcFile[MAX_FILE_PATH_LEN];
int seekTime;
int mMaxVdecOutputWidth;
int mMaxVdecOutputHeight;
int mInitRotation;
int mUserSetPixelFormat;
int mTestDuration;
int mDisplayX;
int mDisplayY;
int mDisplayWidth;
int mDisplayHeight;
int mVeFreq; // unit: MHz
BOOL mbForceFramePackage;
}DEMUXER2VDEC2VO_CONFIG_S;
typedef struct sample_demux2vdec2vo_s
{
DEMUXER2VDEC2VO_CMDLINEPARAM_S mCmdLinePara;
DEMUXER2VDEC2VO_CONFIG_S mConfigPara;
int srcFd;
MPP_SYS_CONF_S mSysConf;
cdx_sem_t mSemExit;
DEMUX_CHN mDmxChn;
DEMUX_CHN_ATTR_S mDmxChnAttr;
DEMUX_MEDIA_INFO_S mDemuxMediaInfo;
VDEC_CHN mVdecChn;
VDEC_CHN_ATTR_S mVdecChnAttr;
int mUILayer;
VO_DEV mVoDev;
VO_LAYER mVoLayer;
VO_CHN mVoChn;
VO_VIDEO_LAYER_ATTR_S mVoLayerAttr;
VO_CHN_ATTR_S mVoChnAttr;
CLOCK_CHN mClockChn;
CLOCK_CHN_ATTR_S mClockChnAttr;
STATE_E mState;
int mTrackDisFlag;
BOOL mOverFlag;
}SAMPLE_DEMUX2VDEC2VO_S;
#endif //#define __SAMPLE_DEMUX2VDEC2VO_H__