30 #ifndef VIDEO_QT_DECODER_H 31 #define VIDEO_QT_DECODER_H 33 #include "audio/decoders/quicktime_intern.h" 34 #include "common/scummsys.h" 36 #include "video/video_decoder.h" 73 void enableEditListBoundsCheckQuirk(
bool enable) { _enableEditListBoundsCheckQuirk = enable; }
76 void handleMouseMove(int16 x, int16 y);
77 void handleMouseButton(
bool isDown, int16 x = -1, int16 y = -1);
79 float getPanAngle()
const {
return ((VideoTrackHandler *)_nextVideoTrack)->getPanAngle(); }
80 void setPanAngle(
float panAngle) { ((VideoTrackHandler *)_nextVideoTrack)->setPanAngle(panAngle); }
81 float getTiltAngle()
const {
return ((VideoTrackHandler *)_nextVideoTrack)->getTiltAngle(); }
82 void setTiltAngle(
float tiltAngle) { ((VideoTrackHandler *)_nextVideoTrack)->setTiltAngle(tiltAngle); }
83 float getFOV()
const {
return ((VideoTrackHandler *)_nextVideoTrack)->getFOV(); }
84 void setFOV(
float fov) { ((VideoTrackHandler *)_nextVideoTrack)->setFOV(fov); }
86 int getCurrentRow() {
return _nextVideoTrack->getCurFrame() / _nav.columns; }
87 void setCurrentRow(
int row);
88 int getCurrentColumn() {
return _nextVideoTrack->getCurFrame() % _nav.columns; }
89 void setCurrentColumn(
int column);
93 bool isVR()
const {
return _isVR; }
94 QTVRType getQTVRType()
const {
return _qtvrType; }
96 uint8 getWarpMode()
const {
return _warpMode; }
97 void setWarpMode(uint8 warpMode) { _warpMode = warpMode; }
115 NodeData getNodeData(uint32 nodeID);
123 void updateAudioBuffer();
125 uint16 _width, _height;
127 uint16 _prevMouseX, _prevMouseY;
128 bool _isMouseButtonDown;
138 bool _enableEditListBoundsCheckQuirk;
148 uint16 _bitsPerSample;
150 uint16 _colorTableId;
177 ~VideoTrackHandler();
179 bool endOfTrack()
const;
180 bool isSeekable()
const {
return true; }
184 uint16 getWidth()
const;
185 uint16 getHeight()
const;
188 int getCurFrame()
const {
return _curFrame; }
189 void setCurFrame(int32 curFrame) { _curFrame = curFrame; }
190 int getFrameCount()
const;
191 uint32 getNextFrameStartTime()
const;
194 const byte *getPalette()
const;
195 bool hasDirtyPalette()
const {
return _curPalette; }
196 bool setReverse(
bool reverse);
197 bool isReversed()
const {
return _reversed; }
198 bool canDither()
const;
199 void setDither(
const byte *palette);
204 float getPanAngle()
const {
return _panAngle; }
205 void setPanAngle(
float panAngle) { _panAngle = panAngle; }
206 float getTiltAngle()
const {
return _tiltAngle; }
207 void setTiltAngle(
float tiltAngle) { _tiltAngle = tiltAngle; }
208 float getFOV()
const {
return _fov; }
209 void setFOV(
float fov) { _fov = fov; }
216 int32 _delayedFrameToBufferTo;
217 uint32 _nextFrameStartTime;
219 int32 _durationOverride;
220 const byte *_curPalette;
221 mutable bool _dirtyPalette;
228 void constructPanorama();
229 void projectPanorama();
234 bool _isPanoConstructed;
237 byte *_forcedDitherPalette;
243 uint32 getCurFrameDuration();
244 uint32 findKeyFrame(uint32 frame)
const;
245 bool isEmptyEdit()
const;
246 void enterNewEditListEntry(
bool bufferFrames,
bool intializingTrack =
false);
248 uint32 getRateAdjustedFrameTime()
const;
249 uint32 getCurEditTimeOffset()
const;
250 uint32 getCurEditTrackDuration()
const;
251 bool atLastEdit()
const;
252 bool endOfCurEdit()
const;
253 void checkEditListBounds();
Definition: quicktime_intern.h:65
Definition: qt_decoder.h:60
Definition: quicktime.h:132
Definition: timestamp.h:83
Definition: rational.h:40
Definition: quicktime.h:276
Definition: audiostream.h:212
Definition: quicktime_intern.h:47
Definition: video_decoder.h:53
Audio::Timestamp getDuration() const
Definition: qt_decoder.h:71
Definition: algorithm.h:29
Definition: formatinfo.h:28
uint16 getWidth() const
Definition: qt_decoder.h:68
Definition: qt_decoder.h:99
Definition: avi_frames.h:36
Definition: video_decoder.h:832
Definition: movie_decoder.h:32
uint16 getHeight() const
Definition: qt_decoder.h:69
Definition: video_decoder.h:577