libmtk_cipher_export.h 3.1 KB

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