aboutsummaryrefslogtreecommitdiff
path: root/video/qt_decoder.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2014-02-27 21:27:25 -0500
committerMatthew Hoops2014-02-28 00:32:06 -0500
commitacec700c11040320122ed86cd5f1dad20de2d2a8 (patch)
tree501426eba2b1b2c8aa66748d8152db6e703d94d0 /video/qt_decoder.cpp
parent05e9ff136ae059622a0262380be7bc6460d204f0 (diff)
downloadscummvm-rg350-acec700c11040320122ed86cd5f1dad20de2d2a8.tar.gz
scummvm-rg350-acec700c11040320122ed86cd5f1dad20de2d2a8.tar.bz2
scummvm-rg350-acec700c11040320122ed86cd5f1dad20de2d2a8.zip
IMAGE: Share the same pool of codecs between PICT and QuickTime
Diffstat (limited to 'video/qt_decoder.cpp')
-rw-r--r--video/qt_decoder.cpp45
1 files changed, 2 insertions, 43 deletions
diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp
index cd3679615b..0a29692948 100644
--- a/video/qt_decoder.cpp
+++ b/video/qt_decoder.cpp
@@ -39,13 +39,7 @@
#include "common/util.h"
// Video codecs
-#include "image/codecs/cinepak.h"
-#include "image/jpeg.h"
-#include "image/codecs/qtrle.h"
-#include "image/codecs/rpza.h"
-#include "image/codecs/smc.h"
-#include "image/codecs/cdtoons.h"
-#include "image/codecs/svq1.h"
+#include "image/codecs/codec.h"
namespace Video {
@@ -270,42 +264,7 @@ QuickTimeDecoder::VideoSampleDesc::~VideoSampleDesc() {
}
void QuickTimeDecoder::VideoSampleDesc::initCodec() {
- switch (_codecTag) {
- case MKTAG('c','v','i','d'):
- // Cinepak: As used by most Myst and all Riven videos as well as some Myst ME videos. "The Chief" videos also use this.
- _videoCodec = new Image::CinepakDecoder(_bitsPerSample & 0x1f);
- break;
- case MKTAG('r','p','z','a'):
- // Apple Video ("Road Pizza"): Used by some Myst videos.
- _videoCodec = new Image::RPZADecoder(_parentTrack->width, _parentTrack->height);
- break;
- case MKTAG('r','l','e',' '):
- // QuickTime RLE: Used by some Myst ME videos.
- _videoCodec = new Image::QTRLEDecoder(_parentTrack->width, _parentTrack->height, _bitsPerSample & 0x1f);
- break;
- case MKTAG('s','m','c',' '):
- // Apple SMC: Used by some Myst videos.
- _videoCodec = new Image::SMCDecoder(_parentTrack->width, _parentTrack->height);
- break;
- case MKTAG('S','V','Q','1'):
- // Sorenson Video 1: Used by some Myst ME videos.
- _videoCodec = new Image::SVQ1Decoder(_parentTrack->width, _parentTrack->height);
- break;
- case MKTAG('S','V','Q','3'):
- // Sorenson Video 3: Used by some Myst ME videos.
- warning("Sorenson Video 3 not yet supported");
- break;
- case MKTAG('j','p','e','g'):
- // JPEG: Used by some Myst ME 10th Anniversary videos.
- _videoCodec = new Image::JPEGDecoder();
- break;
- case MKTAG('Q','k','B','k'):
- // CDToons: Used by most of the Broderbund games.
- _videoCodec = new Image::CDToonsDecoder(_parentTrack->width, _parentTrack->height);
- break;
- default:
- warning("Unsupported codec \'%s\'", tag2str(_codecTag));
- }
+ _videoCodec = Image::createQuickTimeCodec(_codecTag, _parentTrack->width, _parentTrack->height, _bitsPerSample & 0x1f);
}
QuickTimeDecoder::AudioTrackHandler::AudioTrackHandler(QuickTimeDecoder *decoder, QuickTimeAudioTrack *audioTrack)