aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/qt_decoder.h
diff options
context:
space:
mode:
authorMatthew Hoops2010-09-06 15:15:59 +0000
committerMatthew Hoops2010-09-06 15:15:59 +0000
commitc54a97005f3c03a6ab8585f7c4fb7d7a6912918e (patch)
tree9cefe3d1f46655568bfbf6a151adba5cfa97fff2 /graphics/video/qt_decoder.h
parentdf7158c0ee9cd6fde0183b2841d1c918f5c8ab7b (diff)
downloadscummvm-rg350-c54a97005f3c03a6ab8585f7c4fb7d7a6912918e.tar.gz
scummvm-rg350-c54a97005f3c03a6ab8585f7c4fb7d7a6912918e.tar.bz2
scummvm-rg350-c54a97005f3c03a6ab8585f7c4fb7d7a6912918e.zip
VIDEO: Apply patch #3057924 with some changes
Patch #3057924 is "QuickTimeDecoder: Scaling x and y separately". Thanks to kreegee for the patch and fuzzie for fixing a couple bugs with it. svn-id: r52594
Diffstat (limited to 'graphics/video/qt_decoder.h')
-rw-r--r--graphics/video/qt_decoder.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/graphics/video/qt_decoder.h b/graphics/video/qt_decoder.h
index 196d4c02cb..6dcfc0944d 100644
--- a/graphics/video/qt_decoder.h
+++ b/graphics/video/qt_decoder.h
@@ -36,6 +36,7 @@
#include "common/scummsys.h"
#include "common/queue.h"
+#include "common/rational.h"
#include "graphics/video/video_decoder.h"
#include "graphics/video/codecs/codec.h"
@@ -50,11 +51,6 @@ namespace Common {
namespace Graphics {
-enum ScaleMode {
- kScaleNormal = 1,
- kScaleHalf = 2,
- kScaleQuarter = 4
-};
class QuickTimeDecoder : public RewindableVideoDecoder {
public:
@@ -217,7 +213,8 @@ protected:
uint32 nb_frames;
uint32 duration;
uint32 start_time;
- ScaleMode scaleMode;
+ Common::Rational scaleFactorX;
+ Common::Rational scaleFactorY;
};
const ParseTable *_parseTable;
@@ -230,7 +227,8 @@ protected:
MOVStreamContext *_partial;
uint32 _numStreams;
int _ni;
- ScaleMode _scaleMode;
+ Common::Rational _scaleFactorX;
+ Common::Rational _scaleFactorY;
MOVStreamContext *_streams[20];
byte _palette[256 * 3];
bool _dirtyPalette;
@@ -260,7 +258,8 @@ protected:
Surface *_scaledSurface;
Surface *scaleSurface(Surface *frame);
- ScaleMode getScaleMode() const;
+ Common::Rational getScaleFactorX() const;
+ Common::Rational getScaleFactorY() const;
void pauseVideoIntern(bool pause);