aboutsummaryrefslogtreecommitdiff
path: root/kernel-headers/vdec_drv_if_dep.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel-headers/vdec_drv_if_dep.h')
-rw-r--r--kernel-headers/vdec_drv_if_dep.h152
1 files changed, 152 insertions, 0 deletions
diff --git a/kernel-headers/vdec_drv_if_dep.h b/kernel-headers/vdec_drv_if_dep.h
new file mode 100644
index 0000000..52be8f4
--- /dev/null
+++ b/kernel-headers/vdec_drv_if_dep.h
@@ -0,0 +1,152 @@
+#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 */