aboutsummaryrefslogtreecommitdiff
path: root/kernel-headers/video_custom_sp.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel-headers/video_custom_sp.h')
-rw-r--r--kernel-headers/video_custom_sp.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/kernel-headers/video_custom_sp.h b/kernel-headers/video_custom_sp.h
new file mode 100644
index 0000000..933267f
--- /dev/null
+++ b/kernel-headers/video_custom_sp.h
@@ -0,0 +1,121 @@
+#ifndef VIDEO_CUSTOM_SP_H
+#define VIDEO_CUSTOM_SP_H
+
+/* #include "video_codec_if_sp.h" */
+#include "vcodec_if_v2.h"
+
+#define ASSERT(expr) \
+ do { \
+ if (!(expr)) \
+ AssertionFailed(__func__, __FILE__, __LINE__); \
+ } while (0) /* /< ASSERT definition */
+
+/******************************************************************************
+ *
+ *
+ * decode
+ *
+ *
+******************************************************************************/
+
+
+/**
+ * @par Enumeration
+ * VIDEO_DECODER_T
+ * @par Description
+ * This is the item for video decoder format
+ */
+typedef enum _VIDEO_DECODER_T {
+ CODEC_DEC_NONE = 0, /* /< NONE */
+ CODEC_DEC_H263 = (0x1 << 0), /* /< H263 */
+ CODEC_DEC_MPEG4 = (0x1 << 1), /* /< MPEG4 */
+ CODEC_DEC_H264 = (0x1 << 2), /* /< H264 */
+ CODEC_DEC_RV = (0x1 << 3), /* /< RV */
+ CODEC_DEC_VC1 = (0x1 << 4), /* /< VC1 */
+ CODEC_DEC_VP8 = (0x1 << 5), /* /< VP8 */
+ CODEC_DEC_VP9 = (0x1 << 6), /* /< VP9 */
+ CODEC_DEC_HEVC = (0x1 << 7), /* /< HEVC */
+ CODEC_DEC_MPEG2 = (0x1 << 8), /* /< MPEG2 */
+ CODEC_DEC_MAX = (0x1 << 9) /* /< MAX */
+} VIDEO_DECODER_T;
+
+#if 1 /* defined(MT6572) //VCODEC_MULTI_THREAD */
+
+
+/**
+ * @par Function
+ * GetDecoderAPI
+ * @par Description
+ * The function used to get decoder API for codec library
+ * @param
+ * eDecType [IN] decoder type
+ * @param
+ * hWrapper [IN] wrapper
+ * @param
+ * ppDrvModule [IN/OUT] driver module
+ * @param
+ * bUseMultiCoreCodec [IN] multi core codec flag
+ * @par Returns
+ * VIDEO_DEC_API_T, the decoder API
+ */
+VIDEO_DEC_API_T *GetDecoderAPI(VIDEO_DECODER_T eDecType, HANDLE hWrapper, void **ppDrvModule, unsigned int bUseMultiCoreCodec);
+#else
+VIDEO_DEC_API_T *GetDecoderAPI(VIDEO_DECODER_T, HANDLE); /* HANDLE : wrapper's handle */
+#endif
+/* VCODEC_DEC_API_T *GetMPEG4DecoderAPI(void); */
+/* VCODEC_DEC_API_T *GetH264DecoderAPI(void); */
+/* VCODEC_DEC_API_T *GetRVDecoderAPI(void); */
+/* VCODEC_DEC_API_T *GetVP8DecoderAPI(void); */
+/* VCODEC_DEC_API_T *GetVC1DecoderAPI(void); */
+
+
+/******************************************************************************
+*
+*
+* encode
+*
+*
+******************************************************************************/
+
+
+/**
+ * @par Enumeration
+ * VIDEO_ENCODER_T
+ * @par Description
+ * This is the item for video decoder format
+ */
+typedef enum _VIDEO_ENCODER_T {
+ CODEC_ENC_NONE = 0, /* /< NONE */
+ CODEC_ENC_H263 = (0x1 << 0), /* /< H263 */
+ CODEC_ENC_MPEG4 = (0x1 << 1), /* /< MPEG4 */
+ CODEC_ENC_H264 = (0x1 << 2), /* /< H264 */
+ CODEC_ENC_HEVC = (0x1 << 3), /* /< HEVC */
+ CODEC_ENC_VP8 = (0x1 << 5), /* /< VP8 */
+ CODEC_ENC_VP9 = (0x1 << 6), /* /< VP9 */
+ CODEC_ENC_MAX = (0x1 << 7) /* /< MAX */
+} VIDEO_ENCODER_T;
+
+
+/**
+ * @par Function
+ * GetEncoderAPI
+ * @par Description
+ * The function used to get encoder API for codec library
+ * @param
+ * eEncType [IN] encoder type
+ * @param
+ * hWrapper [IN] wrapper
+ * @param
+ * ppDrvModule [IN/OUT] driver module
+ * @param
+ * bUseMultiCoreCodec [IN] multi core codec flag
+ * @par Returns
+ * VIDEO_DEC_API_T, the encoder API
+ */
+VIDEO_ENC_API_T *GetEncoderAPI(VIDEO_ENCODER_T eEncType, HANDLE hWrapper, void **ppDrvModule, unsigned int bUseMultiCoreCodec);
+/* VCODEC_ENC_API_T *GetMPEG4EncoderAPI(void); */
+/* VCODEC_ENC_API_T* GetH264EncoderAPI(void); */
+/* VIDEO_ENCODER_API_T *GetVP8EncoderAPI(void); */
+
+
+#endif /* VIDEO_CUSTOM_SP_H */