diff options
author | Matthew Hoops | 2014-02-27 21:27:25 -0500 |
---|---|---|
committer | Matthew Hoops | 2014-02-28 00:32:06 -0500 |
commit | acec700c11040320122ed86cd5f1dad20de2d2a8 (patch) | |
tree | 501426eba2b1b2c8aa66748d8152db6e703d94d0 /video/qt_decoder.cpp | |
parent | 05e9ff136ae059622a0262380be7bc6460d204f0 (diff) | |
download | scummvm-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.cpp | 45 |
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) |