aboutsummaryrefslogtreecommitdiff
path: root/include/linux/vcodec/video_custom_sp.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/vcodec/video_custom_sp.h')
-rw-r--r--include/linux/vcodec/video_custom_sp.h142
1 files changed, 142 insertions, 0 deletions
diff --git a/include/linux/vcodec/video_custom_sp.h b/include/linux/vcodec/video_custom_sp.h
new file mode 100644
index 000000000..7be05e1c0
--- /dev/null
+++ b/include/linux/vcodec/video_custom_sp.h
@@ -0,0 +1,142 @@
+/**
+ * @file
+ * video_custom_sp.h
+ *
+ * @par Project:
+ * Video
+ *
+ * @par Description:
+ * Video Codec Driver & Codec Liabrary Interface
+ *
+ * @par Author:
+ * Jackal Chen (mtk02532)
+ *
+ * @par $Revision: #1 $
+ * @par $Modtime:$
+ * @par $Log:$
+ *
+ */
+
+#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(__FUNCTION__,__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 */