aboutsummaryrefslogtreecommitdiff
path: root/kernel-headers/venc_drv_if_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel-headers/venc_drv_if_private.h')
-rw-r--r--kernel-headers/venc_drv_if_private.h129
1 files changed, 129 insertions, 0 deletions
diff --git a/kernel-headers/venc_drv_if_private.h b/kernel-headers/venc_drv_if_private.h
new file mode 100644
index 0000000..4cff833
--- /dev/null
+++ b/kernel-headers/venc_drv_if_private.h
@@ -0,0 +1,129 @@
+#ifndef _VENC_DRV_IF_PRIVATE_H_
+#define _VENC_DRV_IF_PRIVATE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "val_types_private.h"
+#include "venc_drv_if_public.h"
+
+
+typedef enum __VENC_DRV_COLOR_FORMAT_T {
+ VENC_DRV_COLOR_FORMAT_YUV420,
+ VENC_DRV_COLOR_FORMAT_YV12,
+}
+VENC_DRV_COLOR_FORMAT_T;
+
+
+typedef struct __VENC_DRV_YUV_STRIDE_T {
+ unsigned int u4YStride;
+ unsigned int u4UVStride;
+} VENC_DRV_YUV_STRIDE_T;
+
+
+/**
+ * @par Structure
+ * VENC_DRV_PARAM_EIS_T
+ * @par Description
+ * This is the EIS information and used as input or output parameter for\n
+ * eVEncDrvSetParam() or eVEncDrvGetParam()\n
+ */
+typedef struct __VENC_DRV_PARAM_EIS_T {
+ VAL_BOOL_T fgEISEnable; /* /<: EIS Enable/disable. */
+ VAL_UINT32_T u4EISFrameWidth; /* /<: EIS FrameWidth */
+ VAL_UINT32_T u4EISFrameHeight; /* /<: EIS FrameHeight */
+ VAL_UINT32_T u4GMV_X; /* /<: Golbal Motion Vector (GMV) of the VOP Frame used for EIS */
+ VAL_UINT32_T u4GMV_Y; /* /<: Golbal Motion Vector (GMV) of the VOP Frame used for EIS */
+} VENC_DRV_PARAM_EIS_T;
+
+/**
+ * @par Structure
+ * P_VENC_DRV_PARAM_EIS_T
+ * @par Description
+ * This is the pointer of VENC_DRV_PARAM_EIS_T
+ */
+typedef VENC_DRV_PARAM_EIS_T * P_VENC_DRV_PARAM_EIS_T;
+
+
+/**
+ * @par Structure
+ * VENC_DRV_STATISTIC_T
+ * @par Description
+ * This is statistic information and used as output parameter for\n
+ * eVEncDrvGetParam()\n
+ */
+typedef struct __VENC_DRV_STATISTIC_T {
+ VAL_UINT32_T u4EncTimeMax; /* /<: Encode one frame time. Max */
+ VAL_UINT32_T u4EncTimeMin; /* /<: Encode one frame time. Min */
+ VAL_UINT32_T u4EncTimeAvg; /* /<: Encode one frame time. Average */
+ VAL_UINT32_T u4EncTimeSum; /* /<: Encode one frame time. Sum */
+} VENC_DRV_STATISTIC_T;
+
+/**
+ * @par Structure
+ * P_VENC_DRV_STATISTIC_T
+ * @par Description
+ * This is the pointer of VENC_DRV_STATISTIC_T
+ */
+typedef VENC_DRV_STATISTIC_T * P_VENC_DRV_STATISTIC_T;
+
+
+typedef struct __VENC_HYB_ENCSETTING {
+
+ /* used in SetParameter */
+ VAL_UINT32_T u4Width;
+ VAL_UINT32_T u4Height;
+ VAL_UINT32_T u4IntraVOPRate; /* u4NumPFrm; */
+ VAL_UINT32_T eFrameRate;
+ VAL_UINT32_T u4VEncBitrate;
+ VAL_UINT32_T u4QualityLevel;
+ VAL_UINT32_T u4ShortHeaderMode;
+ VAL_UINT32_T u4CodecType; /* mepg4, h263, h264... */
+ VAL_UINT32_T u4RotateAngle;
+
+ /* used in QueryFunctions */
+ VENC_DRV_COLOR_FORMAT_T eVEncFormat; /* YUV420, I420 ..... */
+ VENC_DRV_YUV_STRIDE_T rVCodecYUVStride;
+ VAL_UINT32_T u4Profile;
+ VAL_UINT32_T u4Level;
+ VAL_UINT32_T u4BufWidth;
+ VAL_UINT32_T u4BufHeight;
+ VAL_UINT32_T u4NumBFrm;
+ VAL_UINT32_T fgInterlace;
+
+ /* used in Query */
+ VAL_UINT32_T u4InitQ;
+ VAL_UINT32_T u4MinQ;
+ VAL_UINT32_T u4MaxQ;
+ VAL_UINT32_T u4Algorithm;
+ VAL_UINT32_T u4_Rate_Hard_Limit;
+ VAL_UINT32_T u4RateBalance;
+ VAL_UINT32_T u4ForceIntraEnable;
+ VAL_UINT32_T u4VEncMinBitrate; /* Min bit-rate */
+
+ /* hardware dependent function settings */
+ VAL_BOOL_T fgUseMCI;
+ VAL_UINT32_T u4VEncThreadNum;
+ VAL_UINT32_T u4LivePhoto;
+} VENC_HYBRID_ENCSETTING;
+
+
+typedef struct VENC_BS_s {
+ VAL_UINT8_T *u4BS_addr;
+ VAL_UINT8_T *u4BS_addr_PA;
+ VAL_UINT32_T u4BSSize;
+ VAL_UINT32_T u4BS_frmSize;
+ VAL_UINT32_T u4BS_frmCount;
+ VAL_UINT32_T u4BS_index;
+ VAL_UINT32_T u4BS_preindex;
+ VAL_UINT32_T u4Fillcnt;
+ VAL_UINT32_T Handle;
+} VENC_BS_T;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* #ifndef _VENC_DRV_IF_PRIVATE_H_ */