Create Project for repo.or.cz
[vp.git] / src / mfc / SsbSipH264Encode.h
blob8accdb1510f0d26c1aaf58c31dfc4c64ac493003
1 #ifndef __SAMSUNG_SYSLSI_APDEV_MFCLIB_SSBSIPH264ENCODE_H__
2 #define __SAMSUNG_SYSLSI_APDEV_MFCLIB_SSBSIPH264ENCODE_H__
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
10 typedef unsigned int H264_ENC_CONF;
12 #define H264_ENC_GETCONF_HEADER_SIZE 0x00001001
14 #define H264_ENC_SETCONF_NUM_SLICES 0x00003001
15 #define H264_ENC_SETCONF_PARAM_CHANGE 0x00003010
16 #define H264_ENC_SETCONF_CUR_PIC_OPT 0x00003011
18 #define H264_ENC_PARAM_GOP_NUM (0x7000A001)
19 #define H264_ENC_PARAM_INTRA_QP (0x7000A002)
20 #define H264_ENC_PARAM_BITRATE (0x7000A003)
21 #define H264_ENC_PARAM_F_RATE (0x7000A004)
22 #define H264_ENC_PARAM_INTRA_REF (0x7000A005)
23 #define H264_ENC_PARAM_SLICE_MODE (0x7000A006)
25 #define H264_ENC_PIC_OPT_IDR (0x7000B001)
26 #define H264_ENC_PIC_OPT_SKIP (0x7000B002)
27 #define H264_ENC_PIC_OPT_RECOVERY (0x7000B003)
30 void *SsbSipH264EncodeInit(unsigned int uiWidth, unsigned int uiHeight,
31 unsigned int uiFramerate, unsigned int uiBitrate_kbps,
32 unsigned int uiGOPNum);
33 int SsbSipH264EncodeExe(void *openHandle);
34 int SsbSipH264EncodeDeInit(void *openHandle);
36 int SsbSipH264EncodeSetConfig(void *openHandle, H264_ENC_CONF conf_type, void *value);
37 int SsbSipH264EncodeGetConfig(void *openHandle, H264_ENC_CONF conf_type, void *value);
40 void *SsbSipH264EncodeGetInBuf(void *openHandle, long size);
41 void *SsbSipH264EncodeGetOutBuf(void *openHandle, long *size);
45 // Error codes
46 #define SSBSIP_H264_ENC_RET_OK (0)
47 #define SSBSIP_H264_ENC_RET_ERR_INVALID_HANDLE (-1)
48 #define SSBSIP_H264_ENC_RET_ERR_INVALID_PARAM (-2)
50 #define SSBSIP_H264_ENC_RET_ERR_CONFIG_FAIL (-100)
51 #define SSBSIP_H264_ENC_RET_ERR_ENCODE_FAIL (-101)
52 #define SSBSIP_H264_ENC_RET_ERR_GETCONF_FAIL (-102)
53 #define SSBSIP_H264_ENC_RET_ERR_SETCONF_FAIL (-103)
56 #ifdef __cplusplus
58 #endif
61 #endif /* __SAMSUNG_SYSLSI_APDEV_MFCLIB_SSBSIPH264ENCODE_H__ */