|
|
|
|
|
#ifndef _H264_SEI_Typedef_H_
|
|
|
|
|
|
#define _H264_SEI_Typedef_H_
|
|
|
|
|
|
|
|
|
|
|
|
#include "hi_type.h"
|
|
|
|
|
|
|
|
|
|
|
|
typedef unsigned short int uint16;
|
|
|
|
|
|
typedef unsigned long int uint32;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define BigLittleSwap16(A) ((((uint16)(A) & 0xff00) >> 8) | \
|
|
|
|
|
|
(((uint16)(A) & 0x00ff) << 8))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define BigLittleSwap32(A) ((((uint32)(A) & 0xff000000) >> 24) | \
|
|
|
|
|
|
(((uint32)(A) & 0x00ff0000) >> 8) | \
|
|
|
|
|
|
(((uint32)(A) & 0x0000ff00) << 8) | \
|
|
|
|
|
|
(((uint32)(A) & 0x000000ff) << 24))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 结构体定义 */
|
|
|
|
|
|
|
|
|
|
|
|
#pragma pack(1) // 结构体以1个字节对齐
|
|
|
|
|
|
|
|
|
|
|
|
/* 定义 S284 边海防项目通讯协议 */
|
|
|
|
|
|
/* 脱靶量状态信息 */
|
|
|
|
|
|
typedef struct __TBLStatusInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_S16 DeltaX; // X方向脱靶量 * 10
|
|
|
|
|
|
HI_S16 DeltaY; // Y方向脱靶量 * 10
|
|
|
|
|
|
}TBLInfo;
|
|
|
|
|
|
|
|
|
|
|
|
/* 角分辨率信息 */
|
|
|
|
|
|
typedef struct __JFBLStatusInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 az_rs; // 方位角分辨率 * 1000
|
|
|
|
|
|
HI_U16 pt_rs; // 俯仰角分辨率 * 1000
|
|
|
|
|
|
}JFBLInfo;
|
|
|
|
|
|
|
|
|
|
|
|
/* HI3559A -> 伺服控制板 */
|
|
|
|
|
|
typedef struct __HisiToSFB
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 FrameHead; // 帧头 0x55 0xAA
|
|
|
|
|
|
HI_U8 Address; // 地址 0x0A
|
|
|
|
|
|
HI_U8 LengthNum; // 数长 0x0C
|
|
|
|
|
|
HI_U8 CmdWord[2]; // 命令字 0xFF [0x18/0x19] 0x18 红外, 0x19 可见光
|
|
|
|
|
|
HI_U8 VideoType; // 视频源 0 红外, 1 彩色可见光, 2 黑白可见光
|
|
|
|
|
|
HI_U8 TrackStat; // 跟踪器状态 0 未知, 1 待命, 2 搜索, 3 跟踪, 4 局部跟踪, 5 丢失重捕, 6 末端盲区, 7 捕获, 8 定位
|
|
|
|
|
|
TBLInfo TBLStat; // 脱靶量状态信息
|
|
|
|
|
|
JFBLInfo JFBLStat; // 角分辨率信息
|
|
|
|
|
|
HI_U8 Xor; // 校验位
|
|
|
|
|
|
HI_U8 FrameTail; // 帧尾
|
|
|
|
|
|
}HisiToSFB;
|
|
|
|
|
|
|
|
|
|
|
|
/* 角度信息 */
|
|
|
|
|
|
typedef struct __JDInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_S16 Azimuth; // 方位角度值
|
|
|
|
|
|
HI_S16 Pitch; // 俯仰角度值
|
|
|
|
|
|
}JDInfo;
|
|
|
|
|
|
|
|
|
|
|
|
/* 伺服角速度信息 */
|
|
|
|
|
|
typedef struct __SFJSDInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 Azimuth_Speed[3]; // 伺服方位角速度
|
|
|
|
|
|
HI_U8 Pitch_Speed[3]; // 伺服俯仰角速度
|
|
|
|
|
|
}SFJSDInfo;
|
|
|
|
|
|
|
|
|
|
|
|
/* 雷达导引信息 */
|
|
|
|
|
|
typedef struct __RadarGuideInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_S16 TargetAz; // 目标方位角度
|
|
|
|
|
|
HI_S16 TargetPt; // 目标俯仰角度
|
|
|
|
|
|
HI_U16 TargetDis; // 目标距离
|
|
|
|
|
|
HI_U8 TargetType; // 目标类型 1 无人机, 2 车, 3 人, 4 小型船只, 5 中型船只
|
|
|
|
|
|
HI_U8 TargetSelect; // 目标选择 0 距离最近, 1 距离最近+标签一致, 2 距离最近+标签一致+运动, 3 距离最近+运动
|
|
|
|
|
|
HI_U8 TargetSpeedThr; // 目标速度阈值 0 ~ 255
|
|
|
|
|
|
}RadarGuideInfo;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 伺服控制板 --> HI3559A */
|
|
|
|
|
|
typedef struct __SFBToHisi
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 FrameHead; // 帧头 0x55 0xAA
|
|
|
|
|
|
HI_U8 Address; // 地址 0x18/0x19
|
|
|
|
|
|
HI_U8 LengthNum; // 数长 0x18
|
|
|
|
|
|
HI_U8 CmdWord[2]; // 命令字 0xFF 0x0A
|
|
|
|
|
|
HI_U8 SFWorkMode; // 伺服工作模式
|
|
|
|
|
|
JDInfo JDStat; // 角度信息
|
|
|
|
|
|
SFJSDInfo SFJSDStat; // 伺服角速度信息
|
|
|
|
|
|
HI_U8 SFErrorInfo; // 伺服故障信息
|
|
|
|
|
|
HI_U8 SFVersion; // 伺服版本号
|
|
|
|
|
|
RadarGuideInfo RadarInfo; // 雷达引导信息
|
|
|
|
|
|
HI_U8 Reserver[4]; // 预留
|
|
|
|
|
|
HI_U32 GPS_Time; // GPS时间
|
|
|
|
|
|
HI_U8 Xor; // Xor校验
|
|
|
|
|
|
HI_U8 FrameTail; // 帧尾 0xF0
|
|
|
|
|
|
}SFBToHisi;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 跟踪器控制命令集 */
|
|
|
|
|
|
/* 锁定命令 */
|
|
|
|
|
|
typedef struct __TrackLockCmd
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 X; // 锁定X坐标
|
|
|
|
|
|
HI_U16 Y; // 锁定Y坐标
|
|
|
|
|
|
HI_U32 LockFrame; // 锁定帧编号
|
|
|
|
|
|
HI_U8 W; // 锁定波门宽
|
|
|
|
|
|
HI_U8 H; // 锁定波门高
|
|
|
|
|
|
}TrackLockCmd;
|
|
|
|
|
|
|
|
|
|
|
|
/* 波门大小步进 */
|
|
|
|
|
|
typedef struct __TrackWHSetup
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_S8 Modify_Width; // 波门宽度改变 0 不变, 1 增加, 2 减少
|
|
|
|
|
|
HI_S8 Modify_Height; // 波门高度改变 0 不变, 1 增加, 2 减少
|
|
|
|
|
|
HI_S8 Modify_Setup; // 波门步进值 默认值5
|
|
|
|
|
|
}TrackWHSetup;
|
|
|
|
|
|
|
|
|
|
|
|
/* 波门方位步进 */
|
|
|
|
|
|
typedef struct __TrackXYSetup
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_S8 Modify_Y; // 波门上下改变 0 不变, 1 增加, 2 减少
|
|
|
|
|
|
HI_S8 Modify_X; // 波门左右改变 0 不变, 1 增加, 2 减少
|
|
|
|
|
|
HI_S8 Modify_Setup; // 波门步进值 默认值5
|
|
|
|
|
|
}TrackXYSetup;
|
|
|
|
|
|
|
|
|
|
|
|
/* 目标识别开关 */
|
|
|
|
|
|
typedef struct __TargetAffirmCfg
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 Flag; // 目标识别开关
|
|
|
|
|
|
HI_U16 TargetDist; // 目标距离
|
|
|
|
|
|
HI_U16 TargetAzimuth; // 目标方位
|
|
|
|
|
|
HI_U16 TargetCourse; // 目标航向
|
|
|
|
|
|
HI_U16 TargetAltitude; // 目标高度
|
|
|
|
|
|
HI_U8 TargetSpeed; // 目标速度
|
|
|
|
|
|
HI_U8 TargetType; // 目标类型
|
|
|
|
|
|
}TargetAffirmCfg;
|
|
|
|
|
|
|
|
|
|
|
|
/* 目标检测参数设置 */
|
|
|
|
|
|
typedef struct __DetectParamCfg
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 DetectParaFlag; // 目标检测 参数开关 0 无效, 1 有效
|
|
|
|
|
|
HI_U8 DetectThres; // 目标检测 阈值
|
|
|
|
|
|
HI_U8 DetectTargetType; // 目标检测 亮/暗目标类型
|
|
|
|
|
|
HI_U8 DetectTargetSift; // 目标检测 筛选方式
|
|
|
|
|
|
HI_U8 DetectMinSize; // 目标检测 最小像素限制
|
|
|
|
|
|
HI_U8 DetectMinSal; // 目标检测 最小显著性限制
|
|
|
|
|
|
HI_U8 DetectMergeDist; // 目标检测 目标合并距离
|
|
|
|
|
|
}DetectParamCfg;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 载荷综控板 --> HI3559A 可见光机芯状态信息 */
|
|
|
|
|
|
typedef struct __VLStatInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 FrameHead; // 帧头 0x55 0xAA
|
|
|
|
|
|
HI_U8 Address; // 地址 0x19
|
|
|
|
|
|
HI_U8 LengthNum; // 数长 0x0C
|
|
|
|
|
|
HI_U8 CmdWord[2]; // 命令字 0xFF 0x11/0x12
|
|
|
|
|
|
HI_U8 USB_WorkMode:2; // [Bit 0-1] USB工作模式 0 关闭, 1 Storage, 2 NET
|
|
|
|
|
|
HI_U8 CameraStat:2; // [Bit 2-3] 镜头状态 0 停止, 1 调焦, 2 变倍, 3 自动聚焦
|
|
|
|
|
|
HI_U8 SensorStat:2; // [Bit 4-5] Sensor状态 0 异常, 1 正常, 2 关机
|
|
|
|
|
|
HI_U8 CmdType:2; // [Bit 6-7] 收到的指令类型 0 空闲, 1 机芯指令, 2 镜头指令
|
|
|
|
|
|
HI_U16 ViewAngle; // 视场角
|
|
|
|
|
|
HI_U8 AudioRecord:1; // [Bit 0]音频录制
|
|
|
|
|
|
HI_U8 DistortCorrect:1; // [Bit 1]畸变矫正
|
|
|
|
|
|
HI_U8 CameraDDE:1; // [Bit 2]电子透雾
|
|
|
|
|
|
HI_U8 CameraDIS:1; // [Bit 3]电子防抖
|
|
|
|
|
|
HI_U8 RecordWorkMode:1; // [Bit 4]录像工作状态
|
|
|
|
|
|
HI_U8 UDPWorkMode:1; // [Bit 5]UDP工作状态
|
|
|
|
|
|
HI_U8 RTSPWorkMode:1; // [Bit 6]RTSP工作状态
|
|
|
|
|
|
HI_U8 CameraCheck:1; // [Bit 7]镜头自检
|
|
|
|
|
|
HI_U8 Lightness:4; // [Bit 0-3]亮度
|
|
|
|
|
|
HI_U8 ElectricSacle:4; // [Bit 4-7]电子变倍
|
|
|
|
|
|
HI_U8 Saturate:4; // [Bit 0-3]饱和度
|
|
|
|
|
|
HI_U8 Contrast:4; // [Bit 4-7]对比度
|
|
|
|
|
|
HI_U8 Flip:4; // [Bit 0-3]图像翻转
|
|
|
|
|
|
HI_U8 Acutance:4; // [Bit 4-7]锐度
|
|
|
|
|
|
HI_U16 FocalVal; // 焦距值
|
|
|
|
|
|
HI_U8 Version; // 软件版本
|
|
|
|
|
|
HI_U8 Xor; // 异或校验
|
|
|
|
|
|
HI_U8 FrameTail; // 帧尾 0xF0
|
|
|
|
|
|
}VLStatInfo;
|
|
|
|
|
|
|
|
|
|
|
|
/* 载荷综控板 --> HI3559A 红外机芯状态信息 */
|
|
|
|
|
|
typedef struct __IRStatInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 FrameHead; // 帧头 0x55 0xAA
|
|
|
|
|
|
HI_U8 Address; // 地址 0x18
|
|
|
|
|
|
HI_U8 LengthNum; // 数长 0x0C
|
|
|
|
|
|
HI_U8 CmdWord[2]; // 命令字 0xFF 0x0F
|
|
|
|
|
|
HI_U16 Temp; // 温度
|
|
|
|
|
|
HI_U16 FocalVal; // 焦距值
|
|
|
|
|
|
HI_U16 ViewAngle; // 视场角
|
|
|
|
|
|
HI_U16 Reserver[2]; // 预留
|
|
|
|
|
|
HI_U8 Xor; // 异或校验
|
|
|
|
|
|
HI_U8 FrameTail; // 帧尾 0xF0
|
|
|
|
|
|
}IRStatInfo;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 载荷综控板 --> HI3559A 跟踪器控制命令 */
|
|
|
|
|
|
typedef union __TrackControlCmd
|
|
|
|
|
|
{
|
|
|
|
|
|
TrackLockCmd LockCmd; // 锁定命令
|
|
|
|
|
|
HI_U8 AutoTrackFlag; // 自动跟踪开关
|
|
|
|
|
|
TrackWHSetup SetupWH; // 波门宽高步进
|
|
|
|
|
|
TrackXYSetup SetupXY; // 波门方位步进
|
|
|
|
|
|
HI_U8 RecordFlag; // 录像开关 0 停止录像, 1 开始录像
|
|
|
|
|
|
HI_U8 VideoSwitch; // 视频源切换 0 彩色可见光, 1 黑白可见光
|
|
|
|
|
|
TargetAffirmCfg TrackAffirm; // 目标识别配置
|
|
|
|
|
|
HI_U8 DetectFlag; // 目标检测开关 0 目标检测关, 1 目标检测开
|
|
|
|
|
|
DetectParamCfg DetectPara; // 目标检测参数设置
|
|
|
|
|
|
}TrackCtrCmd;
|
|
|
|
|
|
|
|
|
|
|
|
/* 载荷综控板 --> HI3559A */
|
|
|
|
|
|
typedef struct __ZHZKBToHisi
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 FrameHead; // 帧头 0x55 0xAA
|
|
|
|
|
|
HI_U8 Address; // 地址 0x18/0x19
|
|
|
|
|
|
HI_U8 LengthNum; // 数长 0x0D;
|
|
|
|
|
|
HI_U8 CmdWord[2]; // 命令字 0x9C 0x00 ~ 0x0A
|
|
|
|
|
|
TrackCtrCmd TrackCmd; // 跟踪器控制命令
|
|
|
|
|
|
HI_U8 Xor; // 异或校验
|
|
|
|
|
|
HI_U8 FrameTail; // 帧尾 0xF0
|
|
|
|
|
|
}ZHZKBToHisi;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* HI3559A --> 载荷综控板 */
|
|
|
|
|
|
typedef struct __HisiToZHZKB
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 FrameHead; // 帧头 0x55 0xAA
|
|
|
|
|
|
HI_U8 Address; // 地址 0x03
|
|
|
|
|
|
HI_U8 LengthNum; // 数长 0x0C
|
|
|
|
|
|
HI_U8 CmdWord[2]; // 命令字 0xFF 0x00
|
|
|
|
|
|
HI_U8 VideoType; // 视频源类型
|
|
|
|
|
|
HI_U8 TrackStat; // 跟踪器状态
|
|
|
|
|
|
TBLInfo TBLStat; // 脱靶量状态信息
|
|
|
|
|
|
HI_U16 RecordTime; // 录像时间
|
|
|
|
|
|
HI_U8 RecordState; // 录像状态 0x00 未录像 0x01 正在录像
|
|
|
|
|
|
HI_U8 ProjectID; // 握手交互项目ID
|
|
|
|
|
|
HI_U16 Scale_VL; // 可见光放大倍率
|
|
|
|
|
|
HI_U16 Scale_IR; // 红外放大倍率
|
|
|
|
|
|
HI_U8 FrameCnt_VL; // 可见光帧计数(8Bit)
|
|
|
|
|
|
HI_U8 FrameCnt_IR; // 红外帧计数
|
|
|
|
|
|
HI_U8 Xor; // 校验位
|
|
|
|
|
|
HI_U8 FrameTail; // 帧尾
|
|
|
|
|
|
}HisiToZHZKB;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 跟踪目标信息 */
|
|
|
|
|
|
typedef struct __TrackObjInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 TrackArithID; // 跟踪算法标识
|
|
|
|
|
|
HI_U8 TrackTargetType; // 跟踪目标类型
|
|
|
|
|
|
HI_U16 TargetX; // 目标跟踪框中心X位置
|
|
|
|
|
|
HI_U16 TargetY; // 目标跟踪框中心Y位置
|
|
|
|
|
|
HI_U16 TargetW; // 目标跟踪框宽度
|
|
|
|
|
|
HI_U16 TargetH; // 目标跟踪框高度
|
|
|
|
|
|
TBLInfo TBLStat; // 脱靶量信息
|
|
|
|
|
|
JDInfo JDStat; // 跟踪目标角度信息
|
|
|
|
|
|
}TrackObjInfo;
|
|
|
|
|
|
|
|
|
|
|
|
/* 跟踪算法参数信息 */
|
|
|
|
|
|
typedef struct __TrackArithParaInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 KCF_maxRes; // KCF响应值
|
|
|
|
|
|
HI_U16 KCF_resThresh; // KCF阈值
|
|
|
|
|
|
HI_U16 NCC_ResValue; // NCC响应值
|
|
|
|
|
|
HI_U8 KCF_BestScale; // KCF最优缩放尺度
|
|
|
|
|
|
HI_U8 LostCnt; // 目标丢失计数
|
|
|
|
|
|
HI_U16 NDYT_ObjX; // NDYT中心X坐标
|
|
|
|
|
|
HI_U16 NDYT_ObjY; // NDYT中心Y坐标
|
|
|
|
|
|
HI_U16 NDYT_ObjW; // NDYT目标宽度
|
|
|
|
|
|
HI_U16 NDYT_ObjH; // NDYT目标高度
|
|
|
|
|
|
HI_U16 Research_X; // 重捕区域中心X位置
|
|
|
|
|
|
HI_U16 Research_Y; // 重捕区域中心Y位置
|
|
|
|
|
|
HI_U16 Research_W; // 重捕区域宽度
|
|
|
|
|
|
HI_U16 Research_H; // 重捕区域高度
|
|
|
|
|
|
HI_U8 ReDetectNum; // 重捕计数
|
|
|
|
|
|
HI_U8 nHasAimObjNum; // 捕获状态对准计数
|
|
|
|
|
|
HI_U16 ObjSegments_X; // 目标分割中心X坐标
|
|
|
|
|
|
HI_U16 ObjSegments_Y; // 目标分割中心Y坐标
|
|
|
|
|
|
HI_U8 ObjSegments_W; // 目标分割宽度
|
|
|
|
|
|
HI_U8 ObjSegments_H; // 目标分割高度
|
|
|
|
|
|
}TrackArithPara;
|
|
|
|
|
|
|
|
|
|
|
|
/* 检测算法参数信息 */
|
|
|
|
|
|
typedef struct __DetectArithParaInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 DetectSmall :1; // [BIT 0] 小目标检测
|
|
|
|
|
|
HI_U8 DetectArea :1; // [BIT 1] 面目标检测
|
|
|
|
|
|
HI_U8 DetectVibe :1; // [BIT 2] 运动目标检测
|
|
|
|
|
|
HI_U8 DetectAI :1; // [BIT 3] AI目标检测
|
|
|
|
|
|
HI_U8 Reserver :4; // [BIT 4 - 7] 预留
|
|
|
|
|
|
HI_U8 DetectSmallNum; // 小目标检测个数
|
|
|
|
|
|
HI_U8 DetectAreaNum; // 面目标检测个数
|
|
|
|
|
|
HI_U8 DetectVibeNum; // 运动目标检测个数
|
|
|
|
|
|
HI_U8 DetectAINum; // AI目标检测个数
|
|
|
|
|
|
HI_U8 DetectFinalNum; // 最终检测个数
|
|
|
|
|
|
}DetectArithPara;
|
|
|
|
|
|
|
|
|
|
|
|
/* 目标识别检测信息 */
|
|
|
|
|
|
typedef struct __TargetObjectInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 ObjectX; // 目标中心X坐标
|
|
|
|
|
|
HI_U16 ObjectY; // 目标中心Y坐标
|
|
|
|
|
|
HI_U16 ObjectW; // 目标宽度
|
|
|
|
|
|
HI_U16 ObjectH; // 目标高度
|
|
|
|
|
|
HI_U8 ObjectSize; // 目标尺寸类型
|
|
|
|
|
|
HI_U8 ObjectType; // 目标类型
|
|
|
|
|
|
HI_U8 ObjectCF; // 识别置信度
|
|
|
|
|
|
HI_U16 PipeId; // 管道ID
|
|
|
|
|
|
HI_U16 SNR; // 信噪比
|
|
|
|
|
|
HI_U16 Entropy; // 信息熵值
|
|
|
|
|
|
HI_U8 Reserver[3]; // 预留
|
|
|
|
|
|
}TargetObject;
|
|
|
|
|
|
|
|
|
|
|
|
/* SEI 视频参数帧 */
|
|
|
|
|
|
typedef struct __H264_SEI_ParaFrame
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 FrameHead[4]; // 帧头 0x55AA 0xAA55 0xAAAA 0xBBBB
|
|
|
|
|
|
HI_U8 VideoType; // 视频源类型 0x01 红外, 0x02 彩色可见光, 0x03 黑白可见光
|
|
|
|
|
|
HI_U8 TrackStat; // 跟踪器状态
|
|
|
|
|
|
HI_U32 FrameNum; // 帧编号
|
|
|
|
|
|
HI_S16 Servo_Az; // 伺服方位角
|
|
|
|
|
|
HI_S16 Servo_Pt; // 伺服俯仰角
|
|
|
|
|
|
HI_U16 FocalValue; // 焦距值
|
|
|
|
|
|
HI_U16 Pixel_AngRes; // 像素角分辨率
|
|
|
|
|
|
HI_S16 Carrier_Az; // 载体方位角
|
|
|
|
|
|
HI_S16 Carrier_Pt; // 载体俯仰角
|
|
|
|
|
|
HI_S16 Carrier_Roll; // 载体横滚角
|
|
|
|
|
|
HI_U16 Reserver1[6]; // 预留
|
|
|
|
|
|
TrackObjInfo TrackObj; // 跟踪目标信息
|
|
|
|
|
|
HI_U16 Reserver2[6]; // 预留
|
|
|
|
|
|
TrackArithPara TrackPara; // 跟踪算法参数
|
|
|
|
|
|
HI_U16 Reserver3[4]; // 预留
|
|
|
|
|
|
DetectArithPara DetectPara; // 检测算法参数
|
|
|
|
|
|
HI_U8 ArithCostTime; // 算法耗时
|
|
|
|
|
|
HI_U16 NNIECostTime; // 识别算法耗时
|
|
|
|
|
|
HI_U32 ClickCnt; // 跟踪计数
|
|
|
|
|
|
HI_U8 Reserver4[7]; // 预留
|
|
|
|
|
|
// TargetObject SmallObjeInfo[10]; // 小目标检测信息
|
|
|
|
|
|
TargetObject AreaObjInfo[10]; // 面目标检测信息
|
|
|
|
|
|
TargetObject FinalObjInfo[20]; // 最终检测信息
|
|
|
|
|
|
TargetObject NNIEObjInfo[5]; // 目标识别信息
|
|
|
|
|
|
HI_U8 NNIE_NmsThr[2]; // NNIE NmsThr
|
|
|
|
|
|
HI_U8 NNIE_ConfThr[2]; // NNIE ConfThr
|
|
|
|
|
|
HI_U16 Reserver5[3]; // 预留
|
|
|
|
|
|
VLStatInfo VLInfo; // 可见光机芯状态信息
|
|
|
|
|
|
HI_U16 Reserver6[6]; // 预留
|
|
|
|
|
|
SFBToHisi SFBStatInfo; // 伺服板上返信息
|
|
|
|
|
|
HI_S16 ScanCenter_H; // 方位扫描中心角
|
|
|
|
|
|
HI_S16 ScanRange_H; // 方位扫描范围
|
|
|
|
|
|
HI_S16 ScanCenter_V; // 俯仰扫描中心角
|
|
|
|
|
|
HI_S16 ScanRange_V; // 俯仰扫描范围
|
|
|
|
|
|
HI_U16 Reserver7[2]; // 预留
|
|
|
|
|
|
IRStatInfo IRInfo; // 红外机芯状态信息
|
|
|
|
|
|
HI_U64 RadarTimestamp; // 时间戳
|
|
|
|
|
|
HI_U8 Xor; // 异或校验
|
|
|
|
|
|
HI_U8 FrameTail; // 帧尾 0xF0
|
|
|
|
|
|
}H264SEI_Para;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 通讯协议全部结构体定义 */
|
|
|
|
|
|
typedef struct __AllProcotolInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HisiToSFB S284_HisiToSFB; // HI3559A -> 伺服控制板
|
|
|
|
|
|
SFBToHisi S284_SFBToHisi; // 伺服控制板 -> HI3559A
|
|
|
|
|
|
ZHZKBToHisi S284_ZKBToHisi; // 载荷综控板 -> HI3559A
|
|
|
|
|
|
HisiToZHZKB S284_HisiToZKB; // HI3559A -> 载荷控制板
|
|
|
|
|
|
VLStatInfo S284_VLInfo; // S284 可见光机芯信息 载荷综控板-->HI3559A
|
|
|
|
|
|
IRStatInfo S284_IRInfo; // S284 红外机芯信息 载荷综控板-->HI3559A
|
|
|
|
|
|
H264SEI_Para S284_H264SEI; // H264 SEI视频参数帧信息
|
|
|
|
|
|
}S284_Procotol_Info;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct __LockCmd
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 VideoType; // 视频源类型 0x01 红外, 0x02 彩色可见光, 0x03 黑白可见光
|
|
|
|
|
|
HI_U8 unLockCmd; // 锁定命令
|
|
|
|
|
|
TrackLockCmd TrackLock; // 锁定目标信息
|
|
|
|
|
|
TrackWHSetup SetupWH; // 波门宽高步进
|
|
|
|
|
|
TrackXYSetup SetupXY; // 波门方位步进
|
|
|
|
|
|
}LockCmd;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct __TimeGPS
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U16 year;
|
|
|
|
|
|
HI_U8 month;
|
|
|
|
|
|
HI_U8 day;
|
|
|
|
|
|
HI_U8 hour;
|
|
|
|
|
|
HI_U8 minite;
|
|
|
|
|
|
HI_U8 second;
|
|
|
|
|
|
HI_U16 milisec;
|
|
|
|
|
|
}TimeGps;
|
|
|
|
|
|
/* 单个目标结构体 */
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 TargetNo; //目标编号
|
|
|
|
|
|
HI_U8 TargetClass; //目标类别
|
|
|
|
|
|
HI_U16 x; //目标中心x
|
|
|
|
|
|
HI_U16 y; //目标中心y
|
|
|
|
|
|
HI_U16 w; //目标w
|
|
|
|
|
|
HI_U16 h; //目标h
|
|
|
|
|
|
HI_U8 TargetThreat; //威胁等级
|
|
|
|
|
|
HI_U8 TargetPic; //意图
|
|
|
|
|
|
}DetectInfoUnit;
|
|
|
|
|
|
|
|
|
|
|
|
/* 检测目标结构体 */
|
|
|
|
|
|
typedef struct __DetectInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 TargetNum; //目标个数
|
|
|
|
|
|
DetectInfoUnit DectArray[50];
|
|
|
|
|
|
}DetectInfo;
|
|
|
|
|
|
|
|
|
|
|
|
/* SEI 视频参数帧 */
|
|
|
|
|
|
typedef struct __H264_SEI_ParaFrame_732
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 Xor; // 异或校验
|
|
|
|
|
|
HI_U8 type; // 帧编号
|
|
|
|
|
|
HI_U8 FrameNo; // 帧编号
|
|
|
|
|
|
HI_U8 SelfCheck; //自检结果
|
|
|
|
|
|
HI_U8 SystemMode; //系统模式
|
|
|
|
|
|
//激光测距
|
|
|
|
|
|
HI_U16 LaserInteger; //激光数据整数部分
|
|
|
|
|
|
HI_U8 LaserDecimal; //激光数据小数部分
|
|
|
|
|
|
HI_U8 LaserMode; //激光测照模式
|
|
|
|
|
|
HI_U8 LaserState; //激光状态信息
|
|
|
|
|
|
//红外信息
|
|
|
|
|
|
HI_U8 IRState; //红外状态信息
|
|
|
|
|
|
HI_U16 IRFocalValue; // 焦距值
|
|
|
|
|
|
//可见光信息
|
|
|
|
|
|
HI_U8 VLState; //可见光状态信息
|
|
|
|
|
|
HI_U16 VLFocalValue; // 可见光焦距值
|
|
|
|
|
|
//伺服信息
|
|
|
|
|
|
HI_U8 ServoMode; //伺服工作模式
|
|
|
|
|
|
HI_S16 Servo_Az; // 伺服方位角
|
|
|
|
|
|
HI_S16 Servo_Pt; // 伺服俯仰角
|
|
|
|
|
|
// HI_S16 Servo_AzSpeed; // 伺服方位速度
|
|
|
|
|
|
// HI_S16 Servo_PtSpeed; // 伺服俯仰速度
|
|
|
|
|
|
HI_S32 Servo_AzSpeed; // 伺服方位速度
|
|
|
|
|
|
HI_S32 Servo_PtSpeed; // 伺服俯仰速度
|
|
|
|
|
|
HI_U8 Servo_Check; // 伺服自检信息 0x00 正常,0x01:异常
|
|
|
|
|
|
//跟踪器信息
|
|
|
|
|
|
HI_U8 TrackCheck; // 跟踪器自检 0x00 正常,0x01:异常
|
|
|
|
|
|
HI_U8 TrackStat; // 跟踪器状态
|
|
|
|
|
|
HI_U8 Reserved0; // 预留
|
|
|
|
|
|
//惯导信息
|
|
|
|
|
|
HI_U8 DataEffect; // 数据有效性 0x00:数据无效,0x01:组合导航数据有效,0x02:纯惯性导航数据有效
|
|
|
|
|
|
HI_S32 PlaneLon; // 经度
|
|
|
|
|
|
HI_S32 PlaneLat; // 纬度
|
|
|
|
|
|
HI_S32 PlaneH; // 高度
|
|
|
|
|
|
HI_S16 Plane_Az; // 航向角
|
|
|
|
|
|
HI_S16 Plane_Pt; // 俯仰角
|
|
|
|
|
|
HI_S16 Plane_Roll; // 横滚角
|
|
|
|
|
|
HI_S32 Plane_EastSpeed; // 东向速度 精度0.001
|
|
|
|
|
|
HI_S32 Plane_NorthSpeed; // 北向速度 精度0.001
|
|
|
|
|
|
HI_S32 Plane_AirSpeed; // 天向速度 精度0.001
|
|
|
|
|
|
HI_S32 Plane_XSpeed; // X轴角速度,精度0.001
|
|
|
|
|
|
HI_S32 Plane_YSpeed; // 北向速度 精度0.001
|
|
|
|
|
|
HI_S32 Plane_ZSpeed; // 天向速度 精度0.001
|
|
|
|
|
|
HI_S32 Plane_XSpeedAcc; // X轴角速度,精度0.001
|
|
|
|
|
|
HI_S32 Plane_YSpeedAcc; // Y轴角速度 精度0.001
|
|
|
|
|
|
HI_S32 Plane_ZSpeedAcc; // Z轴角速度 精度0.001
|
|
|
|
|
|
TimeGps GPStime; //时间信息
|
|
|
|
|
|
//飞机惯导
|
|
|
|
|
|
HI_U8 PDataEffect; // 数据有效性 0x00:数据无效,0x01:组合导航数据有效,0x02:纯惯性导航数据有效
|
|
|
|
|
|
HI_S32 PLon; // 飞机经度
|
|
|
|
|
|
HI_S32 PLat; // 飞机纬度
|
|
|
|
|
|
HI_S32 PH; // 飞机高度
|
|
|
|
|
|
HI_S16 P_Az; // 飞机航向角
|
|
|
|
|
|
HI_S16 P_Pt; // 飞机俯仰角
|
|
|
|
|
|
HI_S16 P_Roll; // 飞机横滚角
|
|
|
|
|
|
HI_S32 P_EastSpeed; // 飞机东向速度 精度0.001
|
|
|
|
|
|
HI_S32 P_NorthSpeed; // 飞机北向速度 精度0.001
|
|
|
|
|
|
HI_S32 P_AirSpeed; // 飞机天向速度 精度0.001
|
|
|
|
|
|
HI_S32 P_XSpeed; // 飞机X轴角速度,精度0.001
|
|
|
|
|
|
HI_S32 P_YSpeed; // 飞机北向速度 精度0.001
|
|
|
|
|
|
HI_S32 P_ZSpeed; // 飞机天向速度 精度0.001
|
|
|
|
|
|
HI_S32 P_XSpeedAcc; // 飞机X轴角速度,精度0.001
|
|
|
|
|
|
HI_S32 P_YSpeedAcc; // 飞机Y轴角速度 精度0.001
|
|
|
|
|
|
HI_S32 P_ZSpeedAcc; // 飞机Z轴角速度 精度0.001
|
|
|
|
|
|
TimeGps PGPStime; //时间信息
|
|
|
|
|
|
HI_U16 CenterX; // 中心x
|
|
|
|
|
|
HI_U16 CenterY; // 中心y
|
|
|
|
|
|
HI_U16 nADValue; //AD值
|
|
|
|
|
|
HI_S32 TargetLon; //目标经度
|
|
|
|
|
|
HI_S32 TargetLat; //目标纬度
|
|
|
|
|
|
HI_S32 TargetHeight;//目标高度
|
|
|
|
|
|
HI_U16 TargetSpeed; //目标速度
|
|
|
|
|
|
//目标检测信息
|
|
|
|
|
|
DetectInfo TargetInfo; //目标列表
|
|
|
|
|
|
}H264SEI_Para_732;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 单个目标定位结果结构体 */
|
|
|
|
|
|
typedef struct __LocateInfoUnit
|
|
|
|
|
|
{
|
|
|
|
|
|
HI_U8 TargetNo; //目标编号
|
|
|
|
|
|
// HI_U8 TargetClass; //目标类别
|
|
|
|
|
|
// HI_U16 x; //目标中心x
|
|
|
|
|
|
// HI_U16 y; //目标中心y
|
|
|
|
|
|
// HI_U16 w; //目标w
|
|
|
|
|
|
// HI_U16 h; //目标h
|
|
|
|
|
|
// HI_U8 TargetThreat; //威胁等级
|
|
|
|
|
|
// HI_U8 TargetPic; //意图
|
|
|
|
|
|
double TargetLon; //目标经度
|
|
|
|
|
|
double TargetLat; //目标纬度
|
|
|
|
|
|
float TargetHeight;//目标高度
|
|
|
|
|
|
float TargetSpeed; //目标速度
|
|
|
|
|
|
}LocateInfoUnit;
|
|
|
|
|
|
|
|
|
|
|
|
/* 目标定位结果结构体 */
|
|
|
|
|
|
typedef struct __LocateInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
H264SEI_Para_732 SEIInfo;
|
|
|
|
|
|
LocateInfoUnit LocateInfo[50];
|
|
|
|
|
|
}LocateInfo;
|
|
|
|
|
|
|
|
|
|
|
|
#pragma pack() // 恢复默认对齐模式
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct tagSnapShotParams
|
|
|
|
|
|
{
|
|
|
|
|
|
int nHasObj; // 0,无目标,不用叠加; 1,有目标,需要叠加
|
|
|
|
|
|
uint64_t szTime; // 时间
|
|
|
|
|
|
int szBatNum; // 批号
|
|
|
|
|
|
int szType; // 目标类型
|
|
|
|
|
|
double dAzimuthAngle; // 方位角
|
|
|
|
|
|
double dPitchingAngle; // 俯仰角
|
|
|
|
|
|
double dRollingAngle; // 横滚角
|
|
|
|
|
|
}SnapShotParams;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|