import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / linux / libmtk_cipher_export.h
1 #ifndef _LIBMTK_CIPHER_EXPORT_H
2 #define _LIBMTK_CIPHER_EXPORT_H
3
4 #define HEVC_BLK_LEN (20480) /* bytes */
5 #define HEVC_MOD "HEVC_MOD"
6 #define HEVC_NANO 1000000000ULL
7 #define HEVC_CIPHER_LEN (102400) /* bytes */
8
9
10 typedef struct {
11 unsigned char buf[HEVC_BLK_LEN];
12 unsigned int len;
13 } HEVC_BLK;
14
15 typedef enum {
16 VIDEO_ENCRYPT_CODEC_NONE = 0x0,
17 VIDEO_ENCRYPT_CODEC_HEVC_ENC = 0x1,
18 VIDEO_ENCRYPT_CODEC_HEVC_DEC = 0x2,
19 VIDEO_ENCRYPT_CODEC_MAX = 0xffffffff
20 } VIDEO_ENCRYPT_CODEC_T;
21
22
23 typedef int (*hevc_api_funp) (HEVC_BLK *p_hevc_blk);
24 typedef int (*hevc_api_initk_funp) (unsigned char *key, unsigned int klen);
25
26
27 #define SEC_OK 0x0
28 #define SEC_FAIL 0x1
29
30 /* HEVC shared lib*/
31 #define ERR_HEVC_NOT_CORRECT_MODE 0x10000
32 #define ERR_HEVC_DATA_NOT_ALIGNED 0x10001
33 #define ERR_HEVC_ENC_IOCTL_FAIL 0x10002
34 #define ERR_HEVC_DEC_IOCTL_FAIL 0x10002
35 #define ERR_HEVC_CIPHER_UT_FAIL 0x10003
36 #define ERR_HEVC_DATA_IS_NULL 0x10004
37 #define ERR_HEVC_DATA_LENGTH_NOT_VALID 0x10005
38 #define ERR_HEVC_SW_ENC_ERROR 0x10006
39 #define ERR_HEVC_SW_DEC_ERROR 0x10007
40 #define ERR_HEVC_INIT_SW_KEY_ERROR 0x10008
41
42
43 /* HEVC sample*/
44 #define ERR_HEVC_CIPHER_LIB_NOT_FOUND 0x20001
45 #define ERR_HEVC_SW_DEC_BLOCK_SYM_NOT_FOUND 0x20002
46 #define ERR_HEVC_HW_ENC_BLOCK_SYM_NOT_FOUND 0x20003
47 #define ERR_HEVC_INIT_SW_KEY_SYM_NOT_FOUND 0x20004
48 #define ERR_HEVC_INPUT_FILE_NOT_FOUND 0x20005
49 #define ERR_HEVC_OUTPUT_FILE_NOT_FOUND 0x20006
50 #define ERR_HEVC_SW_DEC_FILE_SYM_NOT_FOUND 0x20007
51 #define ERR_HEVC_SW_DEC_FILE_FAILED 0x20008
52 #define ERR_HEVC_UNKNOWN 0x2FFFF
53
54
55 /* Define LOG LEVEL*/
56 #define SEC_LOG_TRACE 0 /* For source code trace */
57 #define SEC_LOG_DEBUG 0 /* For debug purpose */
58 #define SEC_LOG_ERROR 1 /* For critical error dump */
59 #define SEC_LOG_INFO 1 /* For information to know when processing in normal */
60
61 /* DEBUG MACRO */
62 #define SMSG_TRACE(...) \
63 do { if (SEC_LOG_TRACE) printf(__VA_ARGS__); } while (0)
64
65 #define SMSG_DEBUG(...) \
66 do { if (SEC_LOG_DEBUG) printf(__VA_ARGS__); } while (0)
67
68 #define SMSG_ERROR(...) \
69 do { if (SEC_LOG_ERROR) printf(__VA_ARGS__); } while (0)
70
71 #define SMSG_INFO(...) \
72 do { if (SEC_LOG_INFO) printf(__VA_ARGS__); } while (0)
73
74
75 #define HEVC_ENCRYTP_FILE_PATH "/data/mediaserver"
76 #define HEVC_ENC_SW_ENCRYPT_FILE_PATH "/system/lib/libhevce_sb.ca7.android.so"
77 #define HEVC_ENC_HW_ENCRYPT_FILE_PATH "/data/mediaserver/sb.ca7.android_hwenc.so"
78 #define HEVC_ENC_HW_DECRYPT_FILE_PATH "/data/mediaserver/sb.ca7.android_hwdec.so"
79 #define HEVC_DEC_SW_ENCRYTP_FILE_PATH "/system/lib/libHEVCdec_sa.ca7.android.so"
80 #define HEVC_DEC_HW_ENCRYPT_FILE_PATH "/data/mediaserver/dec_sa.ca7.android_hwenc.so"
81 #define HEVC_DEC_HW_DECRYPT_FILE_PATH "/data/mediaserver/dec_sa.ca7.android_hwdec.so"
82
83 #endif /*_LIBMTK_CIPHER_EXPORT_H*/