9 #endif /* __cplusplus */
13 struct QM_TrackVideo {
19 }; /* QM_TrackVideo */
21 typedef struct QM_TrackVideo QM_TrackVideo_t;
23 struct QM_TrackAudio {
25 DOUBLE SamplingFrequency;
29 }; /* QM_TrackAudio */
31 typedef struct QM_TrackAudio QM_TrackAudio_t;
43 const QM_TrackVideo_t* Video;
44 const QM_TrackAudio_t* Audio;
46 const VOID* CodecPrivate;
47 INT32 CodecPrivateSize;
51 typedef struct QM_Track QM_Track_t;
64 typedef struct QM_QuePoint QM_QuePoint_t;
68 #define QM_FLAGS_KEYFRAME 0x80
87 typedef struct QM_Block QM_Block_t;
98 typedef struct QM_Frame QM_Frame_t;
104 typedef struct QM_Reader QM_Reader_t;
106 QM_Reader_t* QM_CreateReader(void);
108 void QM_ReleaseReader(QM_Reader_t* t);
114 BOOL QM_OpenReader_IStream(
118 INT64 QM_GetTimeCodeScale(
121 DOUBLE QM_GetDuraion(
124 INT32 QM_GetTrackCount(
127 const QM_Track_t* QM_GetTracks(
140 struct QM_FrameExtractor;
142 typedef struct QM_FrameExtractor QM_FrameExtractor_t;
144 QM_FrameExtractor_t* QM_CreateFrameExtractor(void);
146 void QM_ReleaseFrameExtractor(QM_FrameExtractor_t* t);
148 BOOL QM_DecodeLacingBlock(
149 QM_FrameExtractor_t* t,
150 const QM_Block_t* block);
153 QM_FrameExtractor_t* t,
160 #endif /* __cplusplus */