-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathanalysistype.h
92 lines (71 loc) · 1.8 KB
/
analysistype.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#ifndef ANALYSISTYPE_H
#define ANALYSISTYPE_H
#include <QMetaType>
const int MAX_AUDIO_STREAM = 50;
const int MAX_VIDEO_STREAM = 50;
const int MAX_SUB_STREAM = 50;
typedef struct{
int nFlag;//pts是否连续,1:连续(默认),0:不连续
long long pts;
}PtsContinue;
typedef struct{
int nStreamIndex;
int nMaxPacketSize;
int nMinPacketSize;
int nAvePacketSize;//平均视频包大小
double dMaxInterval;//最大视频关键帧时间间隔(s)
double dMinInterval;
double dAveInterval;//平均关键帧间隔
int nFrameCount;//packet 个数总大小
int nKeyFrameCount;
PtsContinue ptsContinue;
}UnPackVideoInfo;
typedef struct{
int nStreamIndex;
int nMaxPacketSize;
int nMinPacketSize;
int nAvePacketSize;//平均大小
int nFrameCount;//packet 个数总大小
PtsContinue ptsContinue;
}UnPackAudioInfo;
typedef UnPackAudioInfo UnPackSubInfo;
typedef struct{
int nVideoCount;
int nAudioCount;
int nSubCount;
UnPackVideoInfo videoInfo[MAX_VIDEO_STREAM];
UnPackAudioInfo audioInfo[MAX_AUDIO_STREAM];
UnPackSubInfo subInfo[MAX_SUB_STREAM];
}UnPackInfo;
typedef struct{
int stream;
int flags;
int size;
long long pts;
}PacketInfo;
typedef QVector<PacketInfo> VPacketInfo;
typedef enum{
UNPACK_START = 0x1,
UNPACK_PAUSE = 0x2,
UNPACK_RUN = 0x4,
UNPACK_FINISH= 0x8,
UNPACK_ERROR = 0x10,
UNPACK_STOP = 0x20,
UNPACK_DATA_SAVING = 0x40
}UnpackStatus;
typedef enum{
SAVE_NONE,
SAVE_ROW_SEL,
SAVE_ROW_INDEX,
SAVE_ROW_INDEX_ENTIRE,
SAVE_ALL_INDEX,
SAVE_ALL_INDEX_ENTIRE
}DataSaveType;
typedef struct{
unsigned char *data;
int len;
int write_size;
}DataBuffer;
Q_DECLARE_METATYPE(UnpackStatus)
Q_DECLARE_METATYPE(UnPackInfo)
#endif // ANALYSISTYPE_H