diff options
Diffstat (limited to 'kernel-headers/video_custom_sp.h')
| -rw-r--r-- | kernel-headers/video_custom_sp.h | 121 |
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 */ |
