aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/avi_decoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/video/avi_decoder.cpp')
-rw-r--r--graphics/video/avi_decoder.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/graphics/video/avi_decoder.cpp b/graphics/video/avi_decoder.cpp
index cfc48e20e4..037ea6d9bf 100644
--- a/graphics/video/avi_decoder.cpp
+++ b/graphics/video/avi_decoder.cpp
@@ -37,6 +37,7 @@
// Codecs
#include "graphics/video/codecs/msvideo1.h"
+#include "graphics/video/codecs/msrle.h"
namespace Graphics {
@@ -332,7 +333,8 @@ Surface *AviDecoder::getNextFrame() {
_audStream->queueBuffer(data, chunkSize, DisposeAfterUse::YES, flags);
_fileStream->skip(chunkSize & 1); // Alignment
- } else if (getStreamType(nextTag) == 'dc' || getStreamType(nextTag) == 'id' || getStreamType(nextTag) == 'AM') {
+ } else if (getStreamType(nextTag) == 'dc' || getStreamType(nextTag) == 'id' ||
+ getStreamType(nextTag) == 'AM' || getStreamType(nextTag) == '32') {
// Compressed Frame
_videoInfo.currentFrame++;
uint32 chunkSize = _fileStream->readUint32LE();
@@ -427,6 +429,8 @@ Codec *AviDecoder::createCodec() {
case ID_MSVC:
case ID_WHAM:
return new MSVideo1Decoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount);
+ case ID_RLE :
+ return new MSRLEDecoder(_bmInfo.width, _bmInfo.height, _bmInfo.bitCount);
default:
warning ("Unknown/Unhandled compression format \'%s\'", tag2str(_vidsHeader.streamHandler));
}