From 8f3a923686a5a29e8affff2b624deff35938d5dc Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 18 Feb 2014 02:34:27 +0100 Subject: VIDEO: Make GPL headers consistent in themselves. --- video/qt_decoder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'video/qt_decoder.cpp') diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 11a27beb10..20c9b29452 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -- cgit v1.2.3 From b568ac73b9d2e063eb04693e4610a9932035b696 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:23 -0500 Subject: IMAGE: Move video codecs to image/ --- video/qt_decoder.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'video/qt_decoder.cpp') diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 20c9b29452..25ac05c2b6 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -39,13 +39,13 @@ #include "common/util.h" // Video codecs -#include "video/codecs/cinepak.h" -#include "video/codecs/jpeg.h" -#include "video/codecs/qtrle.h" -#include "video/codecs/rpza.h" -#include "video/codecs/smc.h" -#include "video/codecs/cdtoons.h" -#include "video/codecs/svq1.h" +#include "image/codecs/cinepak.h" +#include "image/codecs/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" namespace Video { @@ -273,23 +273,23 @@ 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 CinepakDecoder(_bitsPerSample & 0x1f); + _videoCodec = new Image::CinepakDecoder(_bitsPerSample & 0x1f); break; case MKTAG('r','p','z','a'): // Apple Video ("Road Pizza"): Used by some Myst videos. - _videoCodec = new RPZADecoder(_parentTrack->width, _parentTrack->height); + _videoCodec = new Image::RPZADecoder(_parentTrack->width, _parentTrack->height); break; case MKTAG('r','l','e',' '): // QuickTime RLE: Used by some Myst ME videos. - _videoCodec = new QTRLEDecoder(_parentTrack->width, _parentTrack->height, _bitsPerSample & 0x1f); + _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 SMCDecoder(_parentTrack->width, _parentTrack->height); + _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 SVQ1Decoder(_parentTrack->width, _parentTrack->height); + _videoCodec = new Image::SVQ1Decoder(_parentTrack->width, _parentTrack->height); break; case MKTAG('S','V','Q','3'): // Sorenson Video 3: Used by some Myst ME videos. @@ -297,11 +297,11 @@ void QuickTimeDecoder::VideoSampleDesc::initCodec() { break; case MKTAG('j','p','e','g'): // JPEG: Used by some Myst ME 10th Anniversary videos. - _videoCodec = new JPEGDecoder(); + _videoCodec = new Image::JPEGCodec(); break; case MKTAG('Q','k','B','k'): // CDToons: Used by most of the Broderbund games. - _videoCodec = new CDToonsDecoder(_parentTrack->width, _parentTrack->height); + _videoCodec = new Image::CDToonsDecoder(_parentTrack->width, _parentTrack->height); break; default: warning("Unsupported codec \'%s\'", tag2str(_codecTag)); -- cgit v1.2.3 From c432b96cf667a1b7f1386cc4c97fcf5411690f7d Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:23 -0500 Subject: IMAGE: Merge the JPEG codec into the ImageDecoder --- video/qt_decoder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'video/qt_decoder.cpp') diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 25ac05c2b6..20c20d05b1 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -40,7 +40,7 @@ // Video codecs #include "image/codecs/cinepak.h" -#include "image/codecs/jpeg.h" +#include "image/jpeg.h" #include "image/codecs/qtrle.h" #include "image/codecs/rpza.h" #include "image/codecs/smc.h" @@ -297,7 +297,7 @@ void QuickTimeDecoder::VideoSampleDesc::initCodec() { break; case MKTAG('j','p','e','g'): // JPEG: Used by some Myst ME 10th Anniversary videos. - _videoCodec = new Image::JPEGCodec(); + _videoCodec = new Image::JPEGDecoder(); break; case MKTAG('Q','k','B','k'): // CDToons: Used by most of the Broderbund games. -- cgit v1.2.3 From 08ea14a8d0e1a1478d1f486edeecea3e619e0cd0 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:24 -0500 Subject: IMAGE: Make Codec take a stream reference; change function name to decodeFrame --- video/qt_decoder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'video/qt_decoder.cpp') diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 20c20d05b1..cd3679615b 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -725,7 +725,7 @@ const Graphics::Surface *QuickTimeDecoder::VideoTrackHandler::bufferNextFrame() return 0; } - const Graphics::Surface *frame = entry->_videoCodec->decodeImage(frameData); + const Graphics::Surface *frame = entry->_videoCodec->decodeFrame(*frameData); delete frameData; // Update the palette -- cgit v1.2.3 From acec700c11040320122ed86cd5f1dad20de2d2a8 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 27 Feb 2014 21:27:25 -0500 Subject: IMAGE: Share the same pool of codecs between PICT and QuickTime --- video/qt_decoder.cpp | 45 ++------------------------------------------- 1 file changed, 2 insertions(+), 43 deletions(-) (limited to 'video/qt_decoder.cpp') 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) -- cgit v1.2.3