| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- #ifndef VDEC_DRV_IF_DEP_H /* for 6572 only */
- #define VDEC_DRV_IF_DEP_H
- /*=============================================================================
- * Include Files
- *===========================================================================*/
- #include "val_types_private.h"
- #include "vcodec_if_v2.h"
- /* #include "rv_format_info.h" */
- #include "wmc_type.h"
- /* #include "strm_iem.h" */
- #include "vcodec_dec_demuxer_if_v2.h"
- /* #include "ts_vcodec_common.h" */
- #define DumpInput__
- #ifdef DumpInput__
- #include <stdio.h>
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*=============================================================================
- * Definition
- *===========================================================================*/
- #define MAX_BUFFER_SIZE 21
- /*typedef struct
- {
- // for speedy mode
- VAL_UINT32_T nBufferStatus;
- VAL_INT64_T llLastVideoTime;
- VAL_INT64_T llCurrentPlayTime;
- } DRIVER_HANDLER_T;
- */
- /*
- typedef struct __RV9_DRV_DATA_T
- {
- VAL_UINT32_T uStreamHdrWidth;
- VAL_UINT32_T uStreamHdrHeight;
- RM_DECODER_INPUT_PARAM_T rRM_INPUT_Data;
- payload_inf_st payload_inf_tab_rv9[200]; //set up 200
- RM_DECODER_PAYLOAD_INFO_T payload_inf_tab_rv9_MAUI[200]; //set up 200
- } RV9_DRV_DATA_T, *P_RV9_DRV_DATA_T;
- */
- typedef struct __H264_DRV_DATA_T {
- H264_DECODER_PAYLOAD_INFO_T prH264Payload;
- H264_DECODER_INPUT_PARAM_T prInputData;
- H264_DECODER_PRIVATE_PARAM_T rPrivateData;
- } H264_DRV_DATA_T, *P_H264_DRV_DATA_T;
- typedef struct __MPEG4_DRV_DATA_T {
- MPEG4_DECODER_PAYLOAD_INFO_T prMPEG4Payload;
- MPEG4_DECODER_INPUT_PARAM_T prInputData;
- MPEG4_DECODER_PRIVATE_PARAM_T rPrivateData;
- } MPEG4_DRV_DATA_T, *P_MPEG4_DRV_DATA_T;
- typedef struct __VP8_DRV_DATA_T {
- /* VP8_DEC_CUSTOM_SETTING_T VP8CustSetting; */
- } VP8_DRV_DATA_T, *P_VP8_DRV_DATA_T;
- typedef struct __VP9_DRV_DATA_T {
- /* VP9_DEC_CUSTOM_SETTING_T VP9CustSetting; */
- } VP9_DRV_DATA_T, *P_VP9_DRV_DATA_T;
- typedef struct __VC1_DRV_DATA_T {
- VAL_BOOL_T bVC1FirstDecode;
- VC1_DECODER_PAYLOAD_INFO_T prVC1Payload;
- VC1_DECODER_INPUT_PARAM_T prInputData;
- TEMP_INTERFACE VC1TempInterface;
- } VC1_DRV_DATA_T, *P_VC1_DRV_DATA_T;
- typedef struct __VDEC_DRV_BUF_STATUS_T {
- VAL_BOOL_T bDisplay;
- VAL_BOOL_T bFree;
- VDEC_DRV_FRAMEBUF_T *pFrameBuf;
- } VDEC_DRV_BUF_STATUS_T, *P_VDEC_DRV_BUF_STATUS_T;
- typedef enum {
- VDEC_DRV_STATUS_OPEN_DONE = 0x00000001,
- VDEC_DRV_STATUS_INIT_DONE = 0x00000002,
- VDEC_DRV_STATUS_DECODE_EVER = 0x00000004
- } VDEC_DRV_STATUS;
- typedef struct __VDEC_HANDLE_T {
- VAL_HANDLE_T hHalHandle; /* /< HAL data. */
- VAL_HANDLE_T vHandle; /* /< for MMSYS power on/off */
- VAL_MEMORY_T rHandleMem; /* /< Save handle memory information to be used in release. */
- VAL_BOOL_T bFirstDecoded; /* / < already pass first video data to codec */
- VAL_BOOL_T bHeaderPassed; /* / < already pass video header to codec */
- VAL_BOOL_T bFlushAll;
- VAL_BOOL_T bNewMemory; /* / allocate buffer for first DOU */
- VAL_MEMORY_T HeaderBuf;
- VAL_MEMORY_T HeaderBufwithFrame;
- VAL_HANDLE_T hCodec;
- DRIVER_HANDLER_T hDrv;
- VIDEO_WRAP_HANDLE_T hWrapper;
- VAL_UINT32_T CustomSetting;
- VCODEC_BUFFER_T rVideoBitBuf;
- VCODEC_DEC_INPUT_YUV_INFO_T rVideoFrameBuf;
- VCODEC_MEMORY_TYPE_T rVideoDecMemType;
- VAL_UINT32_T YUVBuffer[MAX_BUFFER_SIZE];
- VAL_UINT32_T nYUVBufferIndex;
- VAL_UINT32_T nDrvStatus;
- VDEC_DRV_BUF_STATUS_T pFrameBufArray[MAX_BUFFER_SIZE];
- VDEC_DRV_FRAMEBUF_T *DispFrameBuf, *FreeFrameBuf;
- VCODEC_OPEN_SETTING_T codecOpenSetting;
- VCODEC_DEC_INPUT_T rInputUnit;
- VIDEO_DECODER_INPUT_NC_T rVideoDecInputNC;
- VCODEC_DEC_OUTPUT_PARAM_T *rVideoDecOutputParam;
- VCODEC_DEC_PRIVATE_OUTPUT_T rVideoDecOutput;
- VCODEC_DEC_OUTPUT_BUFFER_PARAM_T rVideoDecYUVBufferParameter;
- VCODEC_DEC_INPUT_BUFFER_PARAM_T rBitStreamParam;
- /* for seek and thumbnail mode optimization */
- VAL_BOOL_T bFirstDecodeForThumbnail;
- VAL_BOOL_T bThumbnailModeOK;
- VDEC_DRV_SET_DECODE_MODE_T rSetDecodeMode;
- /* for no VOS header when MPEG4 */
- VAL_UINT16_T nDefWidth;
- VAL_UINT16_T nDefHeight;
- VDEC_DRV_VIDEO_FORMAT_T CodecFormat;
- VAL_VOID_T *prExtraData; /* /< Driver private data pointer. */
- VAL_MEMORY_T rExtraDataMem; /* /< Save extra data memory information to be used in release. */
- VCODEC_DEC_PRIVATE_OUTPUT_EXTRA_T prExtraDecOutput;
- #ifdef DumpInput__
- FILE *pf_out;
- VAL_MEM_ADDR_T rDumpBase;
- #endif
- /* Morris Yang 20111101 [ */
- VAL_UINT32_T nOmxTids;
- /* ] */
- #if 1 /* defined(MT6572) //VCODEC_MULTI_THREAD */
- /* Jackal Chen [ */
- VAL_VOID_T *pDrvModule; /* /< used for dlopen and dlclose */
- /* ] */
- #endif
- VAL_BOOL_T fgValInitFlag; /* /< hValHandle is available or not */
- } VDEC_HANDLE_T;
- /*=============================================================================
- * Function Declaration
- *===========================================================================*/
- #ifdef __cplusplus
- }
- #endif
- #endif /* VDEC_DRV_IF_DEP_H */
|