988 lines
43 KiB
C
Raw Normal View History

/*
* <EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾
* <EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD>HongJun Chen
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 2003-11-15
* $Id: eti_base_def.h,v 1.1.1.1 2006/06/29 12:41:28 administrator Exp $
*/
#ifndef __ETI_BASE_DEF_H__
#define __ETI_BASE_DEF_H__
#define ETI_MAX_CH_PERDSP 2
#define ETI_QCIF_CHANNELS 2
#define ETI_MAX_SUPPORTCH 16 //<2F><><EFBFBD>в<EFBFBD>Ʒ<EFBFBD><C6B7>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
#define APP_PASSWORD_LENGTH 20 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
#define APP_PTZ_STRING_LEN 60 //<2F><>̨<EFBFBD><CCA8><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define APP_TIMECHECK_LISTNUM 7 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
#define APP_ZTE_TIMECHECK_LISTNUM 32 //ZTE <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EBB1A8>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define APP_ADDRLIST_NUM 20 //
#define APP_DECLOOP_ITEMNUM 100
#define APP_PPPOE_STRING_SIZE 20
#define APP_PHONE_NUMBER_SIZE 20
#define APP_PPPOE_STRING_SIZE 20
#define APP_PHONE_NUMBER_SIZE 20
#define APP_TITALSTRING_COUNT 4
#define APP_ALARMNAMELENGTH 32
#define ETI_CHAR_816LIB_SIZE 4096 //8*16 ANSC<53>ֿ<EFBFBD><D6BF><EFBFBD>С
#define ETI_HANZI_1616LIB_SIZE 261696 //16*16 <20><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>С
#define ETI_MP4_STREAM_AV 0 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><D3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_MP4_STREAM_V 1 //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_MP4_BITCTRL_VBR 1 //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_MP4_BITCTRL_CBR 0 //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>ʿ<EFBFBD><CABF><EFBFBD>
#define ETI_MP4_QUANTIZER_MIN 2 //<2F><>Ƶ<EFBFBD><C6B5>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define ETI_MP4_QUANTIZER_MAX 31 //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
#define ETI_MP4_BITRATE_MIN 32 //<2F><>Ƶ<EFBFBD><C6B5>С<EFBFBD><D0A1><EFBFBD><EFBFBD> 32K
#define ETI_MP4_BITRATE_MAX 4000 //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4M
#define ETI_MP4_KEYINTERVAL_MIN 12 //<2F><>С<EFBFBD>ؼ<EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
#define ETI_MP4_KEYINTERVAL_MAX 200 //<2F><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
#define ETI_AUDIO_ENCTYPE_MP3 0x55 //MP3
#define ETI_AUDIO_ENCTYPE_G722 0XFE //G.722
#define ETI_AUDIO_ENCTYPE_G711A 0x13 //G.711A
#define ETI_AUDIO_ENCTYPE_G711U 0x14 //G.711U
#define ETI_AUDIO_ENCTYPE_G726 0x15 //G.726
#define ETI_AUDIO_ENCTYPE_AAC 0x16 //AAC
#define ETI_AUDIO_ENCTYPE_AMR 0x17 //AMR
#define ETI_AUDIO_ENCTYPE_PCM 0x18 //PCM
enum{
ETI_VIDEOTAG_MPEG4 = 0X58564944, //DIVX
ETI_VIDEOTAG_H264 = 0X34363248, //(('4'<<24) | ('6'<<16) | ('2'<<8) |'H') //H264
ETI_VIDEOTAG_MJPEG = 0X47504A4D, //(('G'<<24) | ('P'<<16) | ('J'<<8) |'M') //MJPG
ETI_VIDEOTAG_H265 = 0X35363248, //(('5'<<24) | ('6'<<16) | ('2'<<8) |'H') //H265
ETI_VIDEOTAG_RAW = 0X00574152, //(('0'<<24) | ('W'<<16) | ('A'<<8) |'R') //RAW
ETI_VIDEOTAG_IR14 = 0x34315249 //('4'<< 24)| ('1' << 16) ('R'<<8) | 'I' //IR14
};
#define ETI_AUDIO_SAMPLE_RATE_48K 48000
#define ETI_AUDIO_SAMPLE_RATE_44K 44100
#define ETI_AUDIO_SAMPLE_RATE_32K 32000
#define ETI_AUDIO_SAMPLE_RATE_24K 24000
#define ETI_AUDIO_SAMPLE_RATE_22K 22050
#define ETI_AUDIO_SAMPLE_RATE_16K 16000
#define ETI_AUDIO_SAMPLE_RATE_8K 8000
#define ETI_STREAM_STATUS_START 0X00000001 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_STREAM_STATUS_STOP 0X00000002 //ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
#define ETI_STREAM_STATUS_RECV 0X00000004 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_STREAM_STATUS_FTPBACK 0X00000008 //FTP<54><50><EFBFBD><EFBFBD>
#define ETI_ALARM_STATUS_MOTION 0X00000001 //<2F><>Ƶ<EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
#define ETI_ALARM_STATUS_LOSTVI 0X00000002 //<2F><>Ƶ<EFBFBD><C6B5>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>
#define ETI_ALARM_STATUS_LOSTAI 0X00000004 //<2F><>Ƶ<EFBFBD><C6B5>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>
/********************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ***************************/
typedef enum{
ETI_STREAM_MAIN = 0, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
ETI_STREAM_SUB1 = 1, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
ETI_STREAM_SUB2 = 2, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
ETI_STREAM_SUB3 = 3, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
}ENUM_EIT_STREAMID;
/********************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ***********************/
#define ETI_JPEG_CONTINUEUPLOADFTP 0 //ftp<74><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_JPEG_CONTINUEUPLOADSDK 1 //sdk<64><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_RVS_STREAM 100 //RVS<56>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>
/********************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С***************************/
#define ETI_PREREC_BUFF_SIZE_CIF 0XA2800 //650*1024
#define ETI_PREREC_BUFF_SIZE_2CIF 0XE6000 //920*1024
#define ETI_PREREC_BUFF_SIZE_4CIF 0X14CCC0 //1024*1024*1.3(32<33>ı<EFBFBD><C4B1><EFBFBD>)
/********************** <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B6A8> ********************************/
#define ETI_ALARM_MIN_RECTIME 30 //<2F><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C2BC>/<2F><><EFBFBD><EFBFBD><><CAB1>(s)
#define ETI_ALARM_MAX_RECTIME 3600 //<2F><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C2BC>/<2F><><EFBFBD><EFBFBD><><CAB1>(s)
/********************** <20><>Ƶ<EFBFBD><C6B5>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> ********************************/
#define ETI_MP4_FORMAT_QCIF 0
#define ETI_MP4_FORMAT_CIF 1
#define ETI_MP4_FORMAT_2CIF 2
#define ETI_MP4_FORMAT_4CIF 3
#define ETI_MP4_FORMAT_DCIF 4
#define ETI_MP4_FORMAT_QVGA 5 //320*240
#define ETI_MP4_FORMAT_VGA_60HZ 6 //640*480
#define ETI_MP4_FORMAT_SVGA_60HZ 7 //800*600
#define ETI_MP4_FORMAT_XGA_60HZ 8 //1024*768
#define ETI_MP4_FORMAT_SXGA_60HZ 9 //1280*1024
#define ETI_MP4_FORMAT_UXGA_60HZ 10 //1600*1200
#define ETI_MP4_FORMAT_720P 11 //1280*720, no use
#define ETI_MP4_FORMAT_HDTV 12 //1920*1080, no use
#define ETI_MP4_FORMAT_SVGA_75HZ 13 //800*600
#define ETI_MP4_FORMAT_XGA_75HZ 14 //1024*768
#define ETI_MP4_FORMAT_720P_50HZ 15 //1280*720, 50HZ
#define ETI_MP4_FORMAT_720P_60HZ 16 //1280*720, 60HZ
#define ETI_MP4_FORMAT_1080P_50HZ 17 //1920*1080, 50HZ
#define ETI_MP4_FORMAT_1080P_60HZ 18 //1920*1080, 60HZ
#define ETI_MP4_FORMAT_LTF 19 //240*192
#define ETI_MP4_FORMAT_WQVGA1 20 //480*352
#define ETI_MP4_FORMAT_WQVGA2 21 //480*272
#define ETI_MP4_FORMAT_UVGA_50HZ 22 //1280*960,50HZ
#define ETI_MP4_FORMAT_UVGA_60HZ 23 //1280*960,60Hz
#define ETI_MP4_FORMAT_1080P_30HZ 24 //1920*1080, 30HZ
#define ETI_MP4_FORMAT_1080I_50HZ 25 //1920*1080, 50HZ
#define ETI_MP4_FORMAT_1080I_60HZ 26 //1920*1080, 60HZ
#define ETI_MP4_FORMAT_SXGA_75HZ 27 //1280*1024, 75HZ
#define ETI_MP4_FORMAT_WXGA_60HZ 28 //1280*800, 60HZ
#define ETI_MP4_FORMAT_WXGA_75HZ 29 //1280*800, 75HZ
#define ETI_MP4_FORMAT_SXGAP_60HZ 30 //1400*1050, 60HZ SXGA+
#define ETI_MP4_FORMAT_SXGAP_75HZ 31 //1400*1050, 75HZ SXGA+
#define ETI_MP4_FORMAT_WXGAP_60HZ 32 //1440*900, 60HZ WXGA+
#define ETI_MP4_FORMAT_WSXGAP_60HZ 33 //1680*1050, 60HZ WSXGA+
#define ETI_MP4_FORMAT_WSUVGAP_60HZ 34 //1920*1080, 60HZ WSUVGA+
#define ETI_MP4_FORMAT_1366X768_60HZ 35 //1366*768, 60HZ
#define ETI_MP4_FORMAT_WXGA_59HZ 36 //1280*800, 60HZ,<2C>DZ<EFBFBD>
#define ETI_MP4_FORMAT_1280X720_59HZ 37 //1280*720, 60HZ <20>DZ<EFBFBD>
#define ETI_MP4_FORMAT_1360X768_60HZ 38 //1360*768, 60HZ
#define ETI_MP4_FORMAT_720P_25HZ 39 //1280*720, 25HZ
#define ETI_MP4_FORMAT_720P_30HZ 40 //1280*720, 30HZ
#define ETI_MP4_FORMAT_1080P_25HZ 41 //1920*1080, 25HZ
#define ETI_MP4_FORMAT_UXGA_25HZ 42 //1600*1200, 25HZ
#define ETI_MP4_FORMAT_XGA_25HZ 43 //1024*768, 25HZ
#define ETI_MP4_FORMAT_SVGA_25HZ 44 //800*600, 25HZ
#define ETI_MP4_FORMAT_QQVGA 45 //160*120
#define ETI_MP4_FORMAT_QNHD 46 //320*180
#define ETI_MP4_FORMAT_NHD 47 //640*360
#define ETI_MP4_FORMAT_A720P_60HZ 48 //960*720, 60HZ
#define ETI_MP4_FORMAT_QXGA_15HZ 49 //2048*1536 15HZ
#define ETI_MP4_FORMAT_QXGA_20HZ 50 //2048*1536 20HZ
#define ETI_MP4_FORMAT_QSXGA_10HZ 51 //2592*1920 10HZ
#define ETI_MP4_FORMAT_UVGA_25HZ 52 //1280*960,25HZ
#define ETI_MP4_FORMAT_UVGA_30HZ 53 //1280*960,30Hz
#define ETI_MP4_FORMAT_VGAX 55 //640*352
#define ETI_MP4_FORMAT_DVGA 56 //960*576
#define ETI_MP4_FORMAT_720x576 58 //576I 25HZ
#define ETI_MP4_FORMAT_720x480 59 //480I 30HZ
#define ETI_MP4_FORMAT_2448x2048_15HZ 60 //ץ<>Ļ<EFBFBD>500<30><30>
#define ETI_MP4_FORMAT_384x288 61 //384*288
#define ETI_MP4_FORMAT_8M 70 ///* 3840 * 2160 */
#define ETI_MP4_FORMAT_12M 71 ///* 4000 * 3000 */
#define ETI_MP4_FORMAT_IR_VGA 72 ///* 640 * 512 */
#define ETI_MP4_FORMAT_IR_QVGA 73 ///* 320 * 256 */
#define ETI_MP4_FORMAT_IR_MVGA 74 ///* 336 * 256 */
#define ETI_MP4_FORMAT_CUSTOM_QVGA 75 ///* 880 * 496 */
#define ETI_MP4_FORMAT_CUSTOM_1080 76 ///* 1440 * 1080*/
/********************** <20><>Ƶ֧<C6B5>ָ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> ****************************/
#define ETI_FORMAT_SUPPORT_QCIF 0X00000001
#define ETI_FORMAT_SUPPORT_CIF 0X00000002
#define ETI_FORMAT_SUPPORT_2CIF 0X00000004
#define ETI_FORMAT_SUPPORT_4CIF 0X00000008
#define ETI_FORMAT_SUPPORT_8CIF 0X00000010
#define ETI_FORMAT_VI_NTSC 0
#define ETI_FORMAT_VI_PAL 1
/************************OSD͸<44><CDB8>ģʽ******************************/
enum{
ETI_OSD_MODE_TRANSPARENT = 0, //͸<><CDB8>
ETI_OSD_MODE_TRANSLUCENT, //<2F><>͸<EFBFBD><CDB8>
ETI_OSD_MODE_OPAQUE //<2F><>͸<EFBFBD><CDB8>
};
/********************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ********************************/
#define ETI_ROUTEDEV_ADSL 0 //ADSL
#define ETI_ROUTEDEV_WBN 1 //<2F><><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>
/********************** <20><>Ƶ<EFBFBD>ߴ<DFB4><E7B6A8> ********************************/
#define ETI_MAX_422_STIDE 1440
#define ETI_MAX_IMAGE_WIDTH 704
#define ETI_MAX_IMAGE_HEIGHT_PAL 576
#define ETI_MAX_IMAGE_HEIGHT_NTSC 480
#define ETI_IMAGE_WIDTH_QCIF 176
#define ETI_IMAGE_WIDTH_CIF 352
#define ETI_IMAGE_WIDTH_2CIF ETI_MAX_IMAGE_WIDTH
#define ETI_IMAGE_WIDTH_DCIF 528
#define ETI_IMAGE_WIDTH_4CIF ETI_MAX_IMAGE_WIDTH
#define ETI_IMAGE_HEIGHT_QCIF_PAL 144
#define ETI_IMAGE_HEIGHT_QCIF_NTSC 120
#define ETI_IMAGE_HEIGHT_CIF_PAL 288
#define ETI_IMAGE_HEIGHT_CIF_NTSC 240
#define ETI_IMAGE_HEIGHT_2CIF_PAL ETI_IMAGE_HEIGHT_CIF_PAL
#define ETI_IMAGE_HEIGHT_2CIF_NTSC ETI_IMAGE_HEIGHT_CIF_NTSC
#define ETI_IMAGE_HEIGHT_DCIF_PAL 384
#define ETI_IMAGE_HEIGHT_DCIF_NTSC 320
#define ETI_IMAGE_HEIGHT_4CIF_PAL ETI_MAX_IMAGE_HEIGHT_PAL
#define ETI_IMAGE_HEIGHT_4CIF_NTSC ETI_MAX_IMAGE_HEIGHT_NTSC
#define ETI_MAX_IMAGE_WIDTH_QVGA 320
#define ETI_MAX_IMAGE_HEIGHT_QVGA 240
#define ETI_MAX_IMAGE_WIDTH_VGA 640
#define ETI_MAX_IMAGE_HEIGHT_VGA 480
#define ETI_MAX_IMAGE_WIDTH_SVGA 800
#define ETI_MAX_IMAGE_HEIGHT_SVGA 600
#define ETI_MAX_IMAGE_WIDTH_XGA 1024
#define ETI_MAX_IMAGE_HEIGHT_XGA 768
#define ETI_MAX_IMAGE_WIDTH_SXGA 1280
#define ETI_MAX_IMAGE_HEIGHT_SXGA 1024
#define ETI_MAX_IMAGE_WIDTH_UXGA 1600
#define ETI_MAX_IMAGE_HEIGHT_UXGA 1200
#define ETI_MAX_IMAGE_WIDTH_720P 1280
#define ETI_MAX_IMAGE_HEIGHT_720P 720
#define ETI_MAX_IMAGE_WIDTH_HDTV 1920
#define ETI_MAX_IMAGE_HEIGHT_HDTV 1080
#define ETI_MAX_IMAGE_WIDTH_QXGA 2048
#define ETI_MAX_IMAGE_HEIGHT_QXGA 1536
#define ETI_MAX_IMAGE_WIDTH_QSXGA 2592
#define ETI_MAX_IMAGE_HEIGHT_QSXGA 1920
#define ETI_MAX_IMAGE_WIDTH_UVGA 1280
#define ETI_MAX_IMAGE_HEIGHT_UVGA 960
/*************************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ֡<C6B5><D6A1>С**************************/
#define ETI_MAX_IMAGE_FRAMESIZE (1536*1024) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ֡<C6B5><D6A1>С1.5MB
/*************************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>****************************/
#define ETI_MAX_AUDIO_BITRATE 64 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>64Kb
/****************ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD>*****************/
#define ETI_MAX_COVER_REGION 4
/******************<2A><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>γߴ<CEB3>*******************/
#define ETI_VIDEOMASK_MAXWIDTH 352
#define ETI_VIDEOMASK_MAXHEGITH 288
/*****************************************************/
#define ETI_USER_OPERIAL 10 //<2F><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
#define ETI_DVR_USER_OPERIAL 32 //<2F><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
#define ETI_GROUP_MAXNUM 8 //8<><38><EFBFBD><EFBFBD>
/********************** <20>û<EFBFBD>Ȩ<EFBFBD>޶<EFBFBD><DEB6><EFBFBD> ********************************/
#define ETI_USER_RIGHT_ADLOG 0 //<2F><>½<EFBFBD>û<EFBFBD>
#define ETI_USER_RIGHT_ADMIN 1 //<2F><><EFBFBD><EFBFBD>ԱȨ<D4B1><C8A8>
#define ETI_USER_RIGHT_HIOPER 2 //<2F>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ա
#define ETI_USER_RIGHT_OPERIAL 3 //<2F><><EFBFBD><EFBFBD>Ա
#define ETI_USER_RIGHT_SUPER 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա
#define ETI_RIGHT_LOCALPLAY ((unsigned int)(1<<0)) //<2F><><EFBFBD>ػط<D8BB>
#define ETI_RIGHT_NETPLAY ((unsigned int)(1<<1)) //Զ<>̻ط<CCBB>
#define ETI_RIGHT_NETVIEW ((unsigned int)(1<<2)) //Զ<><D4B6>Ԥ<EFBFBD><D4A4>
#define ETI_RIGHT_NETTALK ((unsigned int)(1<<3)) //<2F>Խ<EFBFBD>
#define ETI_RIGHT_LOCALPTZ ((unsigned int)(1<<4)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>
#define ETI_RIGHT_NETPTZ ((unsigned int)(1<<5)) //Զ<><D4B6><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>
#define ETI_RIGHT_HANDRECORD ((unsigned int)(1<<6)) //<2F>ֶ<EFBFBD>¼<EFBFBD><C2BC>
#define ETI_RIGHT_BKFILE ((unsigned int)(1<<7)) //¼<><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
#define ETI_RIGHT_LOGMANAGE ((unsigned int)(1<<8)) //<2F><>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
#define ETI_RIGHT_PARAMSET ((unsigned int)(1<<9)) //ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_RIGHT_UPDATE ((unsigned int)(1<<10)) //<2F><><EFBFBD><EFBFBD>ϵͳ
#define ETI_RIGHT_SHUTDOWN ((unsigned int)(1<<11)) //<2F>ر<EFBFBD><D8B1>
#define ETI_RIGHT_USERMANAGE ((unsigned int)(1<<12)) //<2F>û<EFBFBD><C3BB>ʺŹ<CABA><C5B9><EFBFBD>
#define ETI_RIGHT_ALL 0xFFFFFFFF //<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
typedef enum
{
ETI_NETVIEW_GROUP = 0, //Ԥ<><D4A4><EFBFBD><EFBFBD>
ETI_OPERATOR_GROUP, //<2F><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>
ETI_ADVANCE_OPERATOR_GROUP, //<2F>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>
ETI_ADMIN_GROUP //<2F><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>
}ETI_RIGHT_GROUP;
/**************************Ȩ<><C8A8><EFBFBD><EFBFBD>Ϣ<EFBFBD>ṹ****************************/
typedef struct
{
unsigned int m_right; //<2F><>λ<EFBFBD><CEBB>ʾȨ<CABE>ޣ<EFBFBD><DEA3>ɵ͵<C9B5><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ػطš<D8B7>Զ<EFBFBD>̻طš<D8B7>Զ<EFBFBD><D4B6>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD>ơ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD>ơ<EFBFBD><C6A1>ֶ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD><C3A1><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><E8B1B8><EFBFBD>û<EFBFBD><C3BB>ʺŹ<CABA><C5B9><EFBFBD>
unsigned int m_right1; //<2F><><EFBFBD><EFBFBD>
unsigned int m_netview; //Զ<><D4B6>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>0~31ͨ<31><CDA8>
unsigned int m_netview1; //Զ<><D4B6>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>32~63ͨ<33><CDA8>
unsigned int m_netplay; //Զ<>̻طŵ<D8B7>0~31ͨ<31><CDA8>
unsigned int m_netplay1; //Զ<>̻طŵ<D8B7>32~63ͨ<33><CDA8>
unsigned int m_localplay; //<2F><><EFBFBD>ػطŵ<D8B7>0~31ͨ<31><CDA8>
unsigned int m_localplay1; //<2F><><EFBFBD>ػطŵ<D8B7>32~63ͨ<33><CDA8>
}ETI_RIGHT_T;
/**************************<2A><><EFBFBD><EFBFBD>Ϣ<EFBFBD>ṹ****************************/
typedef struct
{
ETI_RIGHT_T m_right;
char m_groupname[APP_PASSWORD_LENGTH];
}ETI_GROUP_T;
/**************************<2A>û<EFBFBD><C3BB><EFBFBD>Ϣ<EFBFBD>ṹ****************************/
typedef struct
{
char m_username[APP_PASSWORD_LENGTH];
char m_password[APP_PASSWORD_LENGTH];
int m_groupnum; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>
ETI_RIGHT_T m_right;
}ETI_USER_T;
/**************************<2A>û<EFBFBD><C3BB><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>****************************/
typedef struct
{
int m_usernum; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
int m_groupnum; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_GROUP_T m_group[ETI_GROUP_MAXNUM]; //8<><38><EFBFBD><EFBFBD><E9A3AC>ʼ<EFBFBD><CABC>4<EFBFBD><34><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>4<EFBFBD><34>
ETI_USER_T m_user[ETI_DVR_USER_OPERIAL]; //32<33><32><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>4<EFBFBD><34>
}ETI_SYSUSER_T;
/********************** user info extent(add user stauts) *********/
typedef struct
{
char m_status[ETI_DVR_USER_OPERIAL]; // the status of user(0:disbale, 1:enable)
ETI_SYSUSER_T m_user;
}ETI_SYSUSER_EX_T; // extent user info(add the stauts of user)
/********************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ********************************/
#define ETI_USERS_OPERIAL 20 //<2F><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>20<32><30><EFBFBD>û<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ա3<D4B1><33><EFBFBD>û<EFBFBD>)
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>޶<EFBFBD><DEB6><EFBFBD> */
#define ETI_RIGHT_QUERYSTATE ((unsigned int)(1<<0)) //״̬<D7B4><CCAC>ѯ
#define ETI_RIGHT_QUERYENV ((unsigned int)(1<<1)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ
#define ETI_RIGHT_QUERYLOG ((unsigned int)(1<<2)) //<2F><>־<EFBFBD><D6BE>ѯ
#define ETI_RIGHT_SETPARAM ((unsigned int)(1<<3)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_RIGHT_ADMUSER ((unsigned int)(1<<4)) //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define ETI_RIGHT_DEFAULTSYS ((unsigned int)(1<<5)) //<2F>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETI_RIGHT_UPDATESYS ((unsigned int)(1<<6)) //ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
#define ETI_RIGHT_SHUTSYS ((unsigned int)(1<<7)) //<2F>ر<EFBFBD>ϵͳ
#define ETI_RIGHT_NUMS 8 //<2F><>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>
typedef enum
{
ETI_OPERATORS_GROUP = 0, //<2F><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>
ETI_COMADMIN_GROUP, //<2F><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>
ETI_SUPADMIN_GROUP //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>
}ETI_RIGHTS_GROUP;
typedef struct
{
/*<2A><>λ<EFBFBD><CEBB>ʾȨ<CABE>ޣ<EFBFBD><DEA3>ɵ͵<C9B5><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>״̬<D7B4><CCAC>ѯ/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ/<2F><>־
*<EFBFBD><EFBFBD>ѯ/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
unsigned int m_right; //Ȩ<><C8A8>
unsigned int m_right1; //<2F><><EFBFBD><EFBFBD>
unsigned int m_right2; //<2F><><EFBFBD><EFBFBD>
unsigned int m_right3; //<2F><><EFBFBD><EFBFBD>
}ETI_RIGHTS_T;
typedef struct
{
char m_groupname[APP_PASSWORD_LENGTH];
ETI_RIGHTS_T m_right;
}ETI_GROUPS_T;
typedef struct
{
char m_username[APP_PASSWORD_LENGTH];//<2F>û<EFBFBD><C3BB><EFBFBD>
char m_password[APP_PASSWORD_LENGTH];//<2F><><EFBFBD><EFBFBD>
int m_groupnum; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>
ETI_RIGHTS_T m_right; //Ȩ<><C8A8>
}ETI_USERS_T;
typedef struct
{
char m_status[ETI_USERS_OPERIAL]; //the status of user(0:disbale,1:enable)
int m_groupnum; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_usernum; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
ETI_GROUPS_T m_group[ETI_GROUP_MAXNUM]; //3<><33><EFBFBD><EFBFBD><E9A3AC>ʼ<EFBFBD><CABC>3<EFBFBD><33><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>5<EFBFBD><35>
ETI_USERS_T m_user[ETI_USERS_OPERIAL]; //20<32><30><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>1<EFBFBD><31><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>Ȩ<EFBFBD>޵<EFBFBD><DEB5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
}ETI_SYSUSERS_T;
/********************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ********************************/
/********************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>***************************/
//<2F><><EFBFBD><EFBFBD>λ
enum{UART_DATABIT_5 = 5U,UART_DATABIT_6 = 6U,UART_DATABIT_7 = 7U,UART_DATABIT_8 = 8U};
//ֹͣλ
enum{UART_STOPBIT_0 = 0U,UART_STOPBIT_1 = 1U,UART_STOPBIT_2 = 2U};
//У<><D0A3>λ
enum{UART_VERIFY_NONE = 0U,UART_VERIFY_ODD = 1U,UART_VERIFY_EVEN = 2U,UART_VERIFY_MASK1 = 3U,UART_VERIFY_MASK0 = 4U};
//<2F><><EFBFBD><EFBFBD>
enum{UART_STREAMCTRL_NONE = 0U,UART_STREAMCTRL_SOFT = 1U,UART_STREAMCTRL_HARD = 2U};
/**************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB6A8>***************************/
#define ETI_OK 0
#define ETI_ERROR -1
/**************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***************/
#define ETI_UDPATE_ERR_MASKID -1
#define ETI_UPDATE_ERR_SIZE -2
#define ETI_UPDATE_ERR_OFFSET -3
#define ETI_UPDATE_ERR_WRITEFLASH -4
/*****************************************************/
/**************ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>***************************/
#define ETI_SYSLANGUAGE_CHINA 1 //<2F><><EFBFBD><EFBFBD>
#define ETI_SYSLANGUAGE_ENGLISH 2 //Ӣ<><D3A2>
/*****************************************************/
/***************<2A><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><E9B6A8>********************/
#define ETI_PTZTYPE_NONE 0 //<2F><>
#define ETI_PTZTYPE_PELCOP 1
#define ETI_PTZTYPE_PELCOD 2
#define ETI_PTZTYPE_HUNTERD 3
#define ETI_PTZTYPE_YINGKE 4
#define ETI_PTZTYPE_SONY100 5
#define ETI_PTZCMDMAXSIZE 4096
#define ETI_PTZCMDMAXSIZE_EX 16384
#define ETI_LICENSEMAXSIZE 1024
/*****************************************************/
/**************<2A><><EFBFBD><EFBFBD><E7B4AB><EFBFBD><EFBFBD><EFBFBD>ͺʹ<CDBA><CDB4><EFBFBD>Э<EFBFBD><D0AD>֧<EFBFBD><D6A7>*************/
#define ETI_TRAN_TYPE_UDP 1
#define ETI_TRAN_TYPE_MULTI 2
#define ETI_TRAN_TYPE_TCP 3
#define ETI_TRAN_TYPE_RTP 4
#define LAN_NET_TRANTYPE_UDP ETI_TRAN_TYPE_UDP
#define LAN_NET_TRANTYPE_MULTI ETI_TRAN_TYPE_MULTI
#define LAN_NET_TRANTYPE_TCP ETI_TRAN_TYPE_TCP
#define LAN_NET_TRANTYPE_RTP ETI_TRAN_TYPE_RTP
#define ETI_TRAN_SUPPROT_UDP 0X01
#define ETI_TRAN_SUPPORT_MULTI 0X02
#define ETI_TRAN_SUPPORT_TCP 0X04
#define ETI_TRAN_SUPPORT_RTP 0X08
/*****************************************************/
enum{
ETI_VOVIEWMODE_1 = 1,
ETI_VOVIEWMODE_2 = 2,
ETI_VOVIEWMODE_4 = 4,
ETI_VOVIEWMODE_6 = 6,
ETI_VOVIEWMODE_8 = 8,
ETI_VOVIEWMODE_9 = 9,
};
/***************<2A>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>********************/
/*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>PAL<EFBFBD><EFBFBD>ʽ,<EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>32<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>NTSC<EFBFBD><EFBFBD>ʽ,<EFBFBD>߲<EFBFBD><EFBFBD>ܱ<EFBFBD>32<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>32*16<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>С
*/
#define ETI_MOTIONAREA_SIZE 396 //(704/32)*(576/32) = 18 * 22
/*****************************************************/
#define ETI_MAX_OSD_SIZE 32
/************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱͨ<CAB1><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7B1B8><EFBFBD>ļ<EFBFBD>ѡ<EFBFBD><D1A1>**************/
#define ETI_ALARM_BACK_FTP 0X01 //ͨ<><CDA8>FTP<54><50><EFBFBD><EFBFBD>
#define ETI_ALARM_BACK_MODEM 0X02 //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
/********************** ֡ͷID<49><44><EFBFBD><EFBFBD> ********************************/
#define ETI_FRAME_HEAD_ID 0XB2010000 // <20><>֡ͷ<D6A1><CDB7><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>9000\8000\5000\5100ϵ<30><CFB5>ʹ<EFBFBD><CAB9>
#define ETI_DVR_FRAME_HEAD_ID 0XB3010000 // <20><>֡ͷ<D6A1><CDB7><EFBFBD><EFBFBD>ʾ
#define ETI_VCA_FRAME_HEAD_ID 0XB4010000 // <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>֡ͷ<D6A1><CDB7>ʾ
#define ETI_BRV_FRAME_HEAD_ID ETI_FRAME_HEAD_ID + 1 // <20><>ά֡ͷID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD>ư汾
/********************** ֡<><D6A1><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD> ********************************/
#define ETI_FRAME_CH_MASK 0X000F //0X0001111B
#define ETI_FRAME_TIMERESET 0X0010 //0X0010000B
#define ETI_FRAME_KEY_MASK 0X0020 //0X0100000B
#define ETI_FRAME_VIDEOSIZE_MAXK 0X0040 //0X1000000Bͼ<42><CDBC><EFBFBD>ߴ<EFBFBD><DFB4><EFBFBD>־
#define ETI_FRAME_DATA_MASK 0XFF80
#define ETI_FRAME_VIDEOSIZE_LEN 4 //(width + height)
/********************** DVR֡<52><D6A1><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD> *****************************/
#define ETI_DVR_FRAME_KEY_MASK 1<<0 //<2F><>ƵI֡
#define ETI_DVR_FRAME_PFRAME_MASK 1<<1 //<2F><>ƵP֡
#define ETI_DVR_FRAME_BFRAME_MASK 1<<3 //<2F><>ƵB֡
#define ETI_DVR_FRAME_AUDIO 1<<4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
#define ETI_DVR_FRAME_FILEHEAD 1<<5 //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ
#define ETI_VCA_FRAME_INFOHEAD 1<<6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣͷ
#define ETI_DVR_FRAME_SYSHEAD 1<<7 //<2F><><EFBFBD><EFBFBD> ϵͳͷ
/********************** <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD> **********************/
#define ETI_VCA_FRAME_INFO_TYPE_PLATE 0x01 //<2F><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>Ϣ
/* <20>޸<EFBFBD><DEB8><EFBFBD>ʽת<CABD><D7AA><EFBFBD><EFBFBD>bug */
#if defined(DVR_BIG_ENDIAN)
#define ETI_DVR_FRAME_ISKEY(buff) \
(lc_swab32((unsigned int)(((ETI_DVR_FRMAME_HEAD*)(buff))->nVideoSize)) > 0U && (lc_swab16(((ETI_DVR_FRMAME_HEAD*)(buff))->nMuxData) & (unsigned short)(ETI_FRAME_KEY_MASK)))
#define ETI_DVR_FRAME_ISFRAME(buff) \
((lc_swab32(((ETI_DVR_FRMAME_HEAD*)(buff))->nID) == ETI_DVR_FRAME_HEAD_ID) && ((lc_swab32((unsigned int)(((ETI_DVR_FRMAME_HEAD*)(buff))->nVideoSize)) + lc_swab32(((ETI_DVR_FRMAME_HEAD*)(buff))->nAudioSize) > 0U)))
#define ETI_DVR_FRAME_ISVIDEO(buff) (int)lc_swab32((unsigned int)(((ETI_DVR_FRMAME_HEAD*)(buff))->nVideoSize)) > 0 ? 1 : 0
#define ETI_DVR_FRAME_TICK(buff) lc_swab32(((ETI_DVR_FRMAME_HEAD*)(buff))->nTimeTick)
#define ETI_DVR_FRAME_ISRESET(buff) (lc_swab16(((ETI_DVR_FRMAME_HEAD*)(buff))->nMuxData) & (unsigned short)(ETI_FRAME_TIMERESET))
#define ETI_DVR_FRAME_GMTTIME(buff) lc_swab32(((ETI_DVR_FRMAME_HEAD*)(buff))->nGMTTime)
#else
#define ETI_DVR_FRAME_ISKEY(buff) \
( ((ETI_DVR_FRMAME_HEAD*)(buff))->nVideoSize > 0 && (((ETI_DVR_FRMAME_HEAD*)(buff))->nFrameType & ETI_DVR_FRAME_KEY_MASK))
#define ETI_DVR_FRAME_ISFRAME(buff) \
((((ETI_DVR_FRMAME_HEAD*)(buff))->nID == ETI_DVR_FRAME_HEAD_ID) && ((((ETI_DVR_FRMAME_HEAD*)(buff))->nVideoSize + ((ETI_DVR_FRMAME_HEAD*)(buff))->nAudioSize > 0)))
#define ETI_DVR_FRAME_ISVIDEO(buff) ((ETI_DVR_FRMAME_HEAD*)(buff))->nVideoSize > 0 ? 1 : 0
#define ETI_DVR_FRAME_TICK(buff) ((ETI_DVR_FRMAME_HEAD*)(buff))->nTimeTick
#define ETI_DVR_FRAME_ISRESET(buff) (((ETI_DVR_FRMAME_HEAD*)(buff))->nMuxData & ETI_FRAME_TIMERESET)
#define ETI_DVR_FRAME_GMTTIME(buff) ((ETI_DVR_FRMAME_HEAD*)(buff))->nGMTTime
#endif
#define ETI_FRAME_ISKEY(buff) \
( ((ETI_FRMAME_HEAD*)(buff))->nVideoSize > 0 && ((ETI_FRMAME_HEAD*)(buff))->nMuxData & ETI_FRAME_KEY_MASK)
#define ETI_FRAME_ISFRAME(buff) \
((((ETI_FRMAME_HEAD*)(buff))->nID == ETI_FRAME_HEAD_ID) && ((((ETI_FRMAME_HEAD*)(buff))->nVideoSize + ((ETI_FRMAME_HEAD*)(buff))->nAudioSize > 0)))
#define ETI_FRAME_ISVIDEO(buff) ((ETI_FRMAME_HEAD*)(buff))->nVideoSize > 0 ? 1 : 0
#define ETI_FRAME_TICK(buff) ((ETI_FRMAME_HEAD*)(buff))->nTimeTick
#define ETI_FRAME_ISRESET(buff) ( ((ETI_FRMAME_HEAD*)(buff))->nMuxData & ETI_FRAME_TIMERESET )
#define ETT_BRV_PACKETSEQSIZE(pframehead) (pframehead->m_filehead.m_totalframes == 0?0:(pframehead->m_filehead.m_totalframes - 1)*sizeof(DATA_BRV_CHECK_HEND_T))
#define DVR_FILE_HEAD_SIZE(buff) (((ETI_DVR_FRMAME_HEAD*)(buff))->nFrameType & ETI_DVR_FRAME_FILEHEAD?(int)sizeof(ETI_FILE_HEAD):0)
#define DVR_SYS_HEAD_SIZE(buff) (((ETI_DVR_FRMAME_HEAD*)(buff))->nFrameType & ETI_DVR_FRAME_SYSHEAD?((ETI_DVR_FRMAME_HEAD*)(buff))->nVideoSize:0)
#define ETI_VCA_FRAME_ISKEY(buff) ETI_DVR_FRAME_ISKEY(buff)
#define ETI_VCA_FRAME_ISFRAME(buff) \
((((ETI_VCA_FRMAME_HEAD*)(buff))->nID == ETI_VCA_FRAME_HEAD_ID) && ((((ETI_VCA_FRMAME_HEAD*)(buff))->nVideoSize + ((ETI_VCA_FRMAME_HEAD*)(buff))->nAudioSize > 0)))
#define ETI_VCA_FRAME_ISVIDEO(buff) ETI_DVR_FRAME_ISVIDEO(buff)
#define ETI_VCA_FRAME_TICK(buff) ETI_DVR_FRAME_TICK(buff)
#define ETI_VCA_FRAME_ISRESET(buff) ETI_DVR_FRAME_ISRESET(buff)
#define ETI_VCA_FRAME_GMTTIME(buff) ETI_DVR_FRAME_GMTTIME(buff)
#define VCA_FILE_HEAD_SIZE(buff) DVR_FILE_HEAD_SIZE(buff)
#define VCA_INFO_HEAD_SIZE(buff) (((ETI_VCA_FRMAME_HEAD*)(buff))->nFrameType & ETI_VCA_FRAME_INFOHEAD?sizeof(ETI_VCA_INFO_HEAD):0)
#define VCA_INFO_DATA_TYPE(buff) ((ETI_VCA_INFO_HEAD*)((char*)(buff) + sizeof(ETI_VCA_FRMAME_HEAD) + VCA_FILE_HEAD_SIZE(buff)))->vca_type
#define VCA_INFO_DATA_ISPLATE(buff) (VCA_INFO_DATA_TYPE(buff) == ETI_VCA_FRAME_INFO_TYPE_PLATE)
#define VCA_INFO_DATA_SIZE(buff) ((ETI_VCA_INFO_HEAD*)((char*)(buff) + sizeof(ETI_VCA_FRMAME_HEAD) + VCA_FILE_HEAD_SIZE(buff)))->vca_length
#define ETI_STREAMINFO_VIDEOID_DVS 0
#define ETI_STREAMINFO_VIDEOID_DVR 1
#define ETI_DVS_FILE_VERSION 1
#define ETI_DVR_FILE_VERSION 2
#define ETI_AUDIO_FILE_VERSION 3
typedef struct
{
/*
nMuxData Format :16 bits
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>Ϊ1024
-----------------------------------------------------
|0--4 ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>| 5 ֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>| 6 ͼ<EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD><EFBFBD><EFBFBD>־|7---15 <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>nVideoSize<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><EFBFBD><EFBFBD>ֽڵ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ͸߶<EFBFBD>
-----------------------------------------------------
*/
//unsigned char nID[4]; //0X00,0X00,0X01,0XB2
unsigned int nID; //0XB2010000
unsigned int nTimeTick; //ʱ<><CAB1><EFBFBD><EFBFBD>
int nVideoSize;//<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
unsigned short nAudioSize; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
unsigned short nMuxData; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>Ƶͨ<C6B5><CDA8><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD>͡<EFBFBD><CDA1>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
}ETI_FRMAME_HEAD,*PETI_FRMAME_HEAD;
/*
1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD>ʽ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><EFBFBD>Ϣ,nFrameType = 0x20,<EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>sizeof(ETI_FILE_HEAD).
2.ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ ETI_DVR_FRAME_HEAD_ID,0XB3010000,<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>MPEG4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H264<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
3.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><EFBFBD>Ϣ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD>Ϊ: <EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><EFBFBD>Ϣ,<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,nFrameCount<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д.
4.nGMTTime<EFBFBD><EFBFBD><EFBFBD><EFBFBD>GMTʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>λ<EFBFBD><EFBFBD>ǰ֡<EFBFBD>ľ<EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>.
5.nFrameCount<EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϷ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>֡,<EFBFBD><EFBFBD>֡<EFBFBD>󲻽<EFBFBD><EFBFBD>к<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
6.nMuxDataȥ<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
*/
typedef struct
{
unsigned int nID; //ETI_DVR_FRAME_HEAD_ID,0XB3010000
//ETI_VCA_FRAME_HEAD_ID,0XB4010000 <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>֡ͷ<D6A1><CDB7>ʾ
unsigned int nTimeTick; //ʱ<><CAB1><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
unsigned int nGMTTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>1970<37><30>1<EFBFBD><31>1<EFBFBD><31> 00:00:00 <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
int nFrameType; //<2F><><34><CEBB>ʾ<EFBFBD><CABE>Ƶ֡<C6B5><D6A1><EFBFBD><EFBFBD>: 0->I-FRAME/1->P-FRAME/3->B-FRAME
//<2F><><35><CEBB>ʾ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ: 0x10<31><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ƶ֡
//<2F><><36><CEBB>ʾ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7>Ϣ: 0x20:<3A><>ʾ<EFBFBD><CABE><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7>Ϣ
//<2F><><37><CEBB>ʾ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>0x40<34><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><38><CEBB>ʾ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ϵͳͷ<CDB3><CDB7>ETI_DVR_FRAME_SYSHEAD 1<<7 ʹ<><CAB9>nVideoSize <20><>ʾϵͳͷ<CDB3><CDB7>С
int nFrameCount; //<2F><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
int nVideoSize; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
unsigned short nAudioSize; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
unsigned short nMuxData; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
ETI_DVR_FRMAME_HEAD,*PETI_DVR_FRMAME_HEAD,
ETI_VCA_FRMAME_HEAD,*PETI_VCA_FRMAME_HEAD; // <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>֡ͷ
typedef struct
{
unsigned int nID; //ETI_DVR_FRAME_HEAD_ID,0XB3010000
unsigned int nTimeTick; //ʱ<><CAB1><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ
unsigned int nGMTTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>1970<37><30>1<EFBFBD><31>1<EFBFBD><31> 00:00:00 <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
int nFrameType; //<2F><><36><CEBB>ʾ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7>Ϣ: 0x20:<3A><>ʾ<EFBFBD><CABE><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7>Ϣ
int nFrameCount; //<2F><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
int nAudioSizeOne; //<2F><>Ƶ1<C6B5><31><EFBFBD><EFBFBD>
unsigned short nAudioSizeTwo; //<2F><>Ƶ2<C6B5><32><EFBFBD><EFBFBD>
unsigned short nMuxData; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} ETI_AUDIO_FRMAME_HEAD,*PETI_AUDIO_FRMAME_HEAD; // ˫<><CBAB>Ƶ֡ͷ
#define ETI_FILE_MASKEND 0XABCEDF01
#define ETI_FILEMASK "LAUNCHDIGITAL"
#define ETI_FILEMASK_NEW "MP4RECORDFILE"
#define ETI_FILEMASK_DX_NOAUDIO "DXNOAUDIOFILE"
#define TARGET_DX4
typedef struct
{
char m_filemask[16]; //<2F>ļ<EFBFBD>ͷMASK "LAUNCHDIGITAL"
int m_fileversion; //<2F>ļ<EFBFBD><C4BC><EFBFBD><E6B1BE> ETI_DVR_FILE_VERSIONΪ<4E>ṹ ETI_DVR_FILE_HEAD
// ETI_DVS_FILE_VERSIONΪ<4E>ṹ ETI_FILE_HEAD
int videofoucc; //<2F><>ƵFOURCC
short framerate; //<2F><>Ƶ֡<C6B5><D6A1>
short videoid; //<2F><>ƵID <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> 0
short m_width; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
short m_height; //ͼ<><CDBC><EFBFBD>߶<EFBFBD>
short m_audiotag; //<2F><>Ƶ<EFBFBD><C6B5>ʶ
short m_haveaudio; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>־
short m_auchs; //<2F><>Ƶͨ<C6B5><CDA8><EFBFBD><EFBFBD>
short m_aurates; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
int m_ausample; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int m_totalframes; //<2F>ļ<EFBFBD><C4BC>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>
unsigned int m_firsttick; //<2F><>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
unsigned int m_losttick; //<2F><><EFBFBD><EFBFBD>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
int maskend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
}ETI_FILE_HEAD;
typedef struct
{
char m_filemask[16]; //<2F>ļ<EFBFBD>ͷMASK "LAUNCHDIGITAL"
int m_fileversion; //<2F>ļ<EFBFBD><C4BC><EFBFBD><E6B1BE> ETI_DVR_FILE_VERSIONΪ<4E>ṹ ETI_DVR_FILE_HEAD
// ETI_DVS_FILE_VERSIONΪ<4E>ṹ ETI_FILE_HEAD
int videofoucc; //<2F><>ƵFOURCC
short framerate; //<2F><>Ƶ֡<C6B5><D6A1>
short videoid; //<2F><>ƵID <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> 0
short m_width; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
short m_height; //ͼ<><CDBC><EFBFBD>߶<EFBFBD>
short m_audiotag; //<2F><>Ƶ<EFBFBD><C6B5>ʶ
short m_haveaudio; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>־
short m_auchs; //<2F><>Ƶͨ<C6B5><CDA8><EFBFBD><EFBFBD>
short m_aurates; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
int m_ausample; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int m_totalframes; //<2F>ļ<EFBFBD><C4BC>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>
unsigned int m_firsttick; //<2F><>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
unsigned int m_losttick; //<2F><><EFBFBD><EFBFBD>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
unsigned int m_reserved; //<2F><><EFBFBD><EFBFBD>λ
unsigned int m_firstGMTTime; //<2F>ļ<EFBFBD><C4BC><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
unsigned int m_lastGMTTime; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
int maskend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
}ETI_DVR_FILE_HEAD;
typedef struct
{
char m_filemask[16]; //<2F>ļ<EFBFBD>ͷMASK "LAUNCHDIGITAL"
int m_fileversion; //<2F>ļ<EFBFBD><C4BC><EFBFBD><E6B1BE> ETI_DVR_FILE_VERSION Ϊ<>ṹ ETI_DVR_FILE_HEAD
// ETI_DVS_FILE_VERSION Ϊ<>ṹ ETI_FILE_HEAD
// ETI_AUDIO_FILE_VERSION Ϊ<>ṹ ETI_AUDIO_FILE_HEAD
short m_audiotag1; //<2F><>Ƶ<EFBFBD><C6B5>ʶ
short m_haveaudio1; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>־
short m_auchs1; //<2F><>Ƶͨ<C6B5><CDA8><EFBFBD><EFBFBD>
short m_aurates1; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
int m_ausample1; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
short m_audiotag2; //<2F><>Ƶ<EFBFBD><C6B5>ʶ
short m_haveaudio2; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>־
short m_auchs2; //<2F><>Ƶͨ<C6B5><CDA8><EFBFBD><EFBFBD>
short m_aurates2; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
int m_ausample2; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int m_totalframes1; //<2F><>Ƶ1<C6B5>ļ<EFBFBD><C4BC>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>
unsigned int m_totalframes2; //<2F><>Ƶ2<C6B5>ļ<EFBFBD><C4BC>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>
unsigned int m_firsttick; //<2F><>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
unsigned int m_losttick; //<2F><><EFBFBD><EFBFBD>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
unsigned int m_firstGMTTime; //<2F>ļ<EFBFBD><C4BC><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
unsigned int m_lastGMTTime; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
unsigned int m_reserved; //<2F><><EFBFBD><EFBFBD>λ
int maskend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
} ETI_AUDIO_FILE_HEAD;
//////////////////////////DXHJ BEGIN///////////////////////////////
typedef struct
{
char m_court[48]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD>Ժ
char m_courtroom[48]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD>ͥ
char m_id[16]; //<2F><><EFBFBD><EFBFBD>Ψһʶ<D2BB><CAB6><EFBFBD><EFBFBD>
char m_szCaseID[28]; //case id
char m_szCaseExecor[28]; //case ִ<><D6B4><EFBFBD><EFBFBD>
char m_recv1[32]; //<2F><><EFBFBD><EFBFBD>1
char m_recv2[32]; //<2F><><EFBFBD><EFBFBD>2
char m_recv3[32]; //<2F><><EFBFBD><EFBFBD>3
}DX_FILE_HEAD;
typedef struct
{
char m_filemask[16]; //<2F>ļ<EFBFBD>ͷMASK "LAUNCHDIGITAL"
int m_fileversion; //<2F>ļ<EFBFBD><C4BC><EFBFBD><E6B1BE> ETI_DVR_FILE_VERSIONΪ<4E>ṹ ETI_DVR_FILE_HEAD
// ETI_DVS_FILE_VERSIONΪ<4E>ṹ ETI_FILE_HEAD
int videofoucc; //<2F><>ƵFOURCC
short framerate; //<2F><>Ƶ֡<C6B5><D6A1>
short videoid; //<2F><>ƵID <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> 0
short m_width; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
short m_height; //ͼ<><CDBC><EFBFBD>߶<EFBFBD>
short m_audiotag; //<2F><>Ƶ<EFBFBD><C6B5>ʶ
short m_haveaudio; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>־
short m_auchs; //<2F><>Ƶͨ<C6B5><CDA8><EFBFBD><EFBFBD>
short m_aurates; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
int m_ausample; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int m_totalframes; //<2F>ļ<EFBFBD><C4BC>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>
unsigned int m_firsttick; //<2F><>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
unsigned int m_losttick; //<2F><><EFBFBD><EFBFBD>һ֡ʱ<D6A1><CAB1><EFBFBD><EFBFBD>
unsigned int m_reserved; //<2F><><EFBFBD><EFBFBD>λ
unsigned int m_firstGMTTime; //<2F>ļ<EFBFBD><C4BC><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
unsigned int m_lastGMTTime; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
DX_FILE_HEAD m_dxfile; //¼<><C2BC>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD>Ժ<EFBFBD><D4BA>Ϣ
int maskend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
}ETI_DX4_DVR_FILE_HEAD;
//////////////////////////DXHJ END/////////////////////////////////
typedef struct
{
unsigned int nID; //ETI_BRV_FRAME_HEAD_ID,0XB2010001
unsigned int nTimeTick; //ʱ<><CAB1><EFBFBD><EFBFBD>
int nVideoSize; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
unsigned short nAudioSize; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
unsigned short nMuxData; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>Ƶͨ<C6B5><CDA8><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD>͡<EFBFBD><CDA1>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
ETI_FILE_HEAD m_filehead; //<2F>ļ<EFBFBD>ͷ
}ETI_BRV_FRMAME_HEAD,*PETI_BRV_FRMAME_HEAD;
#define MIN_FRMAME_HEAD ETI_FRMAME_HEAD
typedef struct
{
unsigned short framenum;
unsigned short packnum;
}DATA_BRV_CHECK_HEND_T;
#define BRV_PACETSIZE 1116
// <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>
typedef struct
{
unsigned int vca_type; // <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ͣ<EFBFBD>0x01-<2D><><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>Ϣ
unsigned int vca_length; // <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>ֽ<EFBFBD>Ϊ<EFBFBD><CEAA>λ
}ETI_VCA_INFO_HEAD;
typedef struct
{
short left; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
short right; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
short top; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
short bottom; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
}ETI_VCA_PLATERECT;
#ifndef MAX_VCA_PLATERECT_NUM
#define MAX_VCA_PLATERECT_NUM 4 // <20><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0B3B5><EFBFBD><EFBFBD>
#endif
#ifndef MAX_VCA_PLATERSTR_NUM
#define MAX_VCA_PLATERSTR_NUM 12 // <20><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
#endif
// <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
typedef struct
{
unsigned int version; // <20><><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E6B1BE>0x01-V1.0
unsigned int time_stamp; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>Ϊ<EFBFBD><CEAA>λ
unsigned int pos_num; // <20><>ǰ֡<C7B0><D6A1>λ<EFBFBD><CEBB><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD>Ŀ
ETI_VCA_PLATERECT pos_rect[MAX_VCA_PLATERECT_NUM]; // <20><>ǰ֡<C7B0><D6A1>λ<EFBFBD><CEBB><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD>ԭʼͼ<CABC><CDBC><EFBFBD>е<EFBFBD>λ<EFBFBD><CEBB>
unsigned char recog_num; // ʶ<><CAB6><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3>ƺ<EFBFBD><C6BA><EFBFBD>Ŀ
unsigned char reserverd1[3]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0
unsigned int recog_gmttime[MAX_VCA_PLATERECT_NUM]; // ʶ<>𵽵ij<F0B5BDB5><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵľ<D6B5><C4BE><EFBFBD>ʱ<EFBFBD><EFBFBD><E4A3AC>1970<37><30>1<EFBFBD><31>1<EFBFBD><31> 00:00:00 <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CAB1><EFBFBD><EFBFBD>GMTʱ<54><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char recog_number[MAX_VCA_PLATERECT_NUM][MAX_VCA_PLATERSTR_NUM]; // ʶ<><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ַ<EFBFBD>
unsigned char recog_trust[MAX_VCA_PLATERECT_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD>
unsigned char recog_brightness[MAX_VCA_PLATERECT_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ1 ~ 255
unsigned char recog_color[MAX_VCA_PLATERECT_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ 0:<3A><><EFBFBD><EFBFBD>1:<3A>Ƶ<EFBFBD>2:<3A>׵ף<D7B5><D7A3><EFBFBD><EFBFBD><EFBFBD>3:<3A>׵ף<D7B5><D7A3><EFBFBD><EFBFBD><EFBFBD>4:<3A><><EFBFBD><EFBFBD>5:δ֪
unsigned char recog_direction[MAX_VCA_PLATERECT_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD> 0:δ֪<CEB4><D6AA><EFBFBD><EFBFBD> 1:<3A><><EFBFBD>ƴ<EFBFBD><C6B4>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>˶<EFBFBD> 2:<3A><>ʾ<EFBFBD><CABE><EFBFBD>ƴ<EFBFBD><C6B4>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>˶<EFBFBD>
unsigned char recog_type[MAX_VCA_PLATERECT_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2:С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 23:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 99:δ֪
unsigned int recog_speeds[MAX_VCA_PLATERECT_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ٶ<EFBFBD>
unsigned char recog_carcolor[MAX_VCA_PLATERECT_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ 0:δ֪ 1:<3A><>ɫ 2:<3A><>ɫ 3:<3A><>ɫ 4:<3A><>ɫ 5:<3A><>ɫ 6:<3A><>ɫ -1:ʧ<><CAA7>
}ETI_VCA_PLATEINFO;
/********************** <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> ********************************/
typedef enum{
ETI_TIME_FORMAT_OFF = 0X00, //<2F>ر<EFBFBD>
ETI_TIME_FORMAT_1 = 0X01, //2003-09-12 15:23:33
ETI_TIME_FORMAT_2 = 0X02, //2003-09-12 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 15:23:33
ETI_TIME_FORMAT_3 = 0X03, //09-12-2003 15:23:33
ETI_TIME_FORMAT_4 = 0X04, //09-12-2003 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 15:23:33
ETI_TIME_FORMAT_5 = 0X05, //12-09-2003 15:23:33
ETI_TIME_FORMAT_6 = 0X06, //12-09-2003 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 15:23:33
ETI_TIME_FORMAT_7 = 0X07, //2003/09/12 15:23:33
ETI_TIME_FORMAT_8 = 0X08, //09/12/2003 15:23:33
ETI_TIME_FORMAT_9 = 0X09, //12/09/2003 15:23:33
ETI_TIME_FORMAT_A = 0X0A, //2003.09.12 15:23:33
ETI_TIME_FORMAT_B = 0X0B, //09.12.2003 15:23:33
ETI_TIME_FORMAT_C = 0X0C //12..09.2003 15:23:33
}ETI_TIME_FORMAT;
/*****************************************************/
/**************ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***************************/
typedef enum
{
ETI_DAY_MONDAY = 0, //<2F><><EFBFBD><EFBFBD>һ
ETI_DAY_TUESDAY = 1, //<2F><><EFBFBD>ڶ<EFBFBD>
ETI_DAY_WEDNESDAY = 2, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_DAY_THURSDAY = 3, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_DAT_FRIDAY = 4, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_DAY_SATURDAY = 5, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_DAY_SUNDAY = 6, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_DAY_MON_FRI = 7, //<2F><><EFBFBD><EFBFBD>һ-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_DAY_SAT_SUN = 8, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ETI_DAY_DAILY = 9, //ÿ<><C3BF>
ETI_DAY_OFF = 10, //<2F>ر<EFBFBD>
}ETI_TIME_DAYTYPE;
/*****************************************************/
//<2F><><EFBFBD>ʿ<EFBFBD><CABF><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>ҹ<EFBFBD>˾<EFBFBD>뺣˼<EBBAA3><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RC_MODE_E<5F><45>ͬ<EFBFBD><CDAC>CBR<42><52>VBR<42>෴(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>)
typedef enum
{
ETI_MODE_CBR = 0,
ETI_MODE_VBR,
ETI_MODE_ABR,
ETI_MODE_FIXQP,
}ETI_MODE_E;
#define ETI_MAX_JPEG_SIZE 2000*1024
#define ETI_PLATE_STR_SIZE 12
typedef struct
{
int m_filesize; //<2F>ļ<EFBFBD><C4BC><EFBFBD>С
int m_year; //<2F><>
char m_month; //<2F><>
char m_day; //<2F><>
char m_hour; //ʱ
char m_captype; //ץ<><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:0x01-<2D>ֶ<EFBFBD>ץ<EFBFBD><D7A5>;0x02-<2D><><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>;0x04-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>;0x08-<2D><><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>;
char m_filename[60]; //<2F>ļ<EFBFBD><C4BC><EFBFBD>
char m_tollgateid[32]; //<2F><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>
char m_deviceid[32]; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
} ETI_JPEG_HEAD;
typedef struct
{
char m_roadwaynum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char m_color; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
char m_ptype; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char m_car_color; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
char m_direction; //<2F><><EFBFBD><EFBFBD>
char m_reserved; //<2F><><EFBFBD><EFBFBD>
short m_speed; //<2F><><EFBFBD><EFBFBD>
int m_captype; //ץ<><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:0x01-<2D>ֶ<EFBFBD>ץ<EFBFBD><D7A5>;0x02-<2D><><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>;0x04-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>;0x08-<2D><><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>;
char m_filename[60]; //<2F>ļ<EFBFBD><C4BC><EFBFBD>
char m_tollgateid[32]; //<2F><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>
char m_deviceid[32]; //<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
char m_platestr[ETI_PLATE_STR_SIZE]; //<2F><><EFBFBD>ƺ<EFBFBD>
char m_reserve[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ
} ETI_JPEG_HEAD_EX;
#define ETI_MAX_JPEG_NUM 10
typedef struct
{
short m_year; //<2F><>
short m_msecond; //<2F><><EFBFBD><EFBFBD>
char m_month; //<2F><>
char m_day; //<2F><>
char m_hour; //ʱ
char m_minute; //<2F><>
char m_second; //<2F><>
char m_is_plate; //<2F>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ͼƬ
char m_seqnum; //ץ<><D7A5>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
char m_reserve; //<2F><><EFBFBD><EFBFBD>
int m_size; //ͼƬ<CDBC><C6AC>С
int m_offset; //ͼƬƫ<C6AC><C6AB>
} JPEG_INFO;
typedef struct
{
int m_jpgnum; //ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
int m_totalsize; //ͼƬ<CDBC>ܴ<EFBFBD>С
JPEG_INFO m_jpeg_info[ETI_MAX_JPEG_NUM]; //ƫ<>ƺʹ<C6BA>С
ETI_JPEG_HEAD_EX m_jpeg_head; //ͼƬͷ<C6AC><CDB7>Ϣ
char m_reserve[32]; //<2F><><EFBFBD><EFBFBD>λ
} ETI_JPEG_PACK;
/* tyto ץ<><D7A5>ͼƬ<CDBC><C6AC>Ϣ*/
typedef struct
{
unsigned int m_doffset; //ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
unsigned int m_dlen; //ͼƬ<CDBC><C6AC><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
short m_width; //ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
short m_height; //ͼ<><CDBC><EFBFBD>߶<EFBFBD>
unsigned int m_timestamp; //ʱ<><CAB1><EFBFBD><EFBFBD>
short m_year; //<2F><>
short m_msecond; //<2F><><EFBFBD><EFBFBD>
char m_month; //<2F><>
char m_day; //<2F><>
char m_hour; //ʱ
char m_minute; //<2F><>
char m_second; //<2F><>
char m_reserve[3]; //<2F><><EFBFBD><EFBFBD>
} ETI_JPEG_INFO;
typedef enum
{
WEB_MSG_OPT_RESTART = 0, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> δ<><CEB4><EFBFBD>ָֻ<D6BB>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WEB_MSG_OPT_RELOGIN = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>¼<EFBFBD>
WEB_MSG_OPT_UPDATA = 2, //ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>Ժ<EFBFBD>
WEB_MSG_OPT_UPDATASUCCESS = 3, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>¼
WEB_MSG_OPT_UPDATAILLEGAL = 4, //<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ȷ,<2C>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>...
WEB_MSG_OPT_USERERROR = 5, //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WEB_MSG_OPT_NORIGHT = 6, //<2F><>û<EFBFBD><C3BB>Ȩ<EFBFBD><C8A8>
WEB_MSG_OPT_FORMAT = 7, //<2F><>ʽ<EFBFBD><CABD>Ӳ<EFBFBD>̳ɹ<CCB3><C9B9><EFBFBD><EFBFBD><EFBFBD><E8B1B8>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
WEB_MSG_OPT_FORMATERROR = 8, //<2F><>ʽ<EFBFBD><CABD>Ӳ<EFBFBD><D3B2>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><E8B1B8>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
WEB_MSG_OPT_DEFAULT = 9, //<2F>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WEB_MSG_OPT_USERCHANGE = 10, //<2F><><EFBFBD><EFBFBD><EFBFBD>޸ijɹ<C4B3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>¼
WEB_MSG_OPT_DISABLED = 11, //<2F>û<EFBFBD><C3BB>ѽ<EFBFBD><D1BD><EFBFBD>
WEB_MSG_OPT_OLDPASSWD_ERR = 12, //ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WEB_MSG_OPT_SETUSER_ERR = 13, //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>(<28><><EFBFBD><EFBFBD><><C9BE>/<2F>޸<EFBFBD><DEB8>û<EFBFBD><><CAA7>
WEB_MSG_OPT_RESTARTFAILED = 14, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
WEB_MSG_OPT_LOOPING = 15, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ
}ETI_WEB_RETURN_ORDER;
/*-------------------IR Raw extra data----------------------*/
typedef enum
{
ETI_EXDATA_SENSOR_INVALID = 0,
ETI_EXDATA_SENSOR_START_FPA = 1,
ETI_EXDATA_SENSOR_CURRENT_FPA = 2,
ETI_EXDATA_SENSOR_HOUSE_TEMP = 3,
ETI_EXDATA_SENSOR_SHUTTER_TEMP = 4,
ETI_EXDATA_SENSOR_OTHER = 5
}ETI_EXDATA_TEMPSENSORID;
typedef struct
{
unsigned char temp_sensor_id;//TempSensor<6F><72><EFBFBD><EFBFBD>
unsigned char resverve[3];
/*1-start FPA:<3A><><EFBFBD><EFBFBD>FPA
2-Current FPA:<EFBFBD><EFBFBD>ǰFPA
3-House Temp:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
4-Shutter Temp:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
5-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
float temprature;//<2F><EFBFBD>(K)
}ETI_EXDATA_TEMPSENSOR;
typedef enum
{
ETI_EXDATA_CHIP_INVALID = 0,
ETI_EXDATA_CHIP_LP2_0 = 1,
ETI_EXDATA_CHIP_LP2_5 = 2,
ETI_EXDATA_CHIP_LP3_0 = 3,
ETI_EXDATA_CHIP_LP3_5 = 4,
ETI_EXDATA_CHIP_TAU2 = 5,
ETI_EXDATA_CHIP_OTHER = 6,
}ETI_EXDATA_SENSOR_CHIP;
typedef struct
{
unsigned char sensor_type;//0-<2D><>Ч 1-lepton2.0 2-lepton2.5 3-lepton3.0 4-lepton3.5 5-tau2 6-<2D><><EFBFBD><EFBFBD>
unsigned char reserve_1[3];//
float planck_r;//<2F><><EFBFBD>ʿ˳<CABF><CBB3><EFBFBD>
float planck_b;
float planck_f;
float planck_o;
unsigned char temp_sensor_cnt;//<2F>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>20<32><30>
unsigned char reserve_2;
unsigned short temp_sensor_offset;
ETI_EXDATA_TEMPSENSOR temp_sensor[0];//
}ETI_EXTRA_DATA;
/*-------------------IR Raw extra data end------------------*/
#endif //__ETI_BASE_DEF_H__