aboutsummaryrefslogtreecommitdiff
path: root/video/avi_decoder.h
diff options
context:
space:
mode:
authorMatthew Hoops2014-05-27 00:09:11 -0400
committerMatthew Hoops2014-05-27 00:09:11 -0400
commit5891ef4d89936917aaa7edf06f5d1fbc06a1271f (patch)
tree1ae5fcd5c7cd3325c49ae50e13c6a602cade26aa /video/avi_decoder.h
parent53332f8ab879b150883544fb8ea3987bdc190cdf (diff)
downloadscummvm-rg350-5891ef4d89936917aaa7edf06f5d1fbc06a1271f.tar.gz
scummvm-rg350-5891ef4d89936917aaa7edf06f5d1fbc06a1271f.tar.bz2
scummvm-rg350-5891ef4d89936917aaa7edf06f5d1fbc06a1271f.zip
VIDEO: Handle Truemotion dimensions specially
Truemotion uses its own demuxer and seems to follow its own AVI rules. Work around it by coercing the video's dimensions to use the codec's internal dimensions.
Diffstat (limited to 'video/avi_decoder.h')
-rw-r--r--video/avi_decoder.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/video/avi_decoder.h b/video/avi_decoder.h
index 2f7b267d36..28d87bc3b7 100644
--- a/video/avi_decoder.h
+++ b/video/avi_decoder.h
@@ -185,6 +185,9 @@ protected:
void loadPaletteFromChunk(Common::SeekableReadStream *chunk);
void useInitialPalette();
+ bool isTruemotion1() const;
+ void forceDimensions(uint16 width, uint16 height);
+
bool isRewindable() const { return true; }
bool rewind();
@@ -257,6 +260,7 @@ protected:
uint16 getStreamType(uint32 tag) const { return tag & 0xFFFF; }
byte getStreamIndex(uint32 tag) const;
void forceVideoEnd();
+ void checkTruemotion1();
public:
virtual AVIAudioTrack *createAudioTrack(AVIStreamHeader sHeader, PCMWaveFormat wvInfo);