diff options
Diffstat (limited to 'graphics/video')
-rw-r--r-- | graphics/video/smk_decoder.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/graphics/video/smk_decoder.cpp b/graphics/video/smk_decoder.cpp index 9fa0b948f1..9db8f0c730 100644 --- a/graphics/video/smk_decoder.cpp +++ b/graphics/video/smk_decoder.cpp @@ -30,7 +30,6 @@ #include "graphics/video/smk_decoder.h" #include "common/archive.h" -#include "common/array.h" #include "common/endian.h" #include "common/util.h" #include "common/stream.h" @@ -488,17 +487,18 @@ bool SmackerDecoder::loadFile(const char *fileName) { for (i = 0; i < _videoInfo.frameCount; ++i) _frameTypes[i] = _fileStream->readByte(); - Common::Array<byte> huffmanTrees; - huffmanTrees.resize(_header.treesSize); - _fileStream->read(&huffmanTrees[0], _header.treesSize); + byte *huffmanTrees = new byte[_header.treesSize]; + _fileStream->read(huffmanTrees, _header.treesSize); - BitStream bs(&huffmanTrees[0], _header.treesSize); + BitStream bs(huffmanTrees, _header.treesSize); _MMapTree = new BigHuffmanTree(bs, _header.mMapSize); _MClrTree = new BigHuffmanTree(bs, _header.mClrSize); _FullTree = new BigHuffmanTree(bs, _header.fullSize); _TypeTree = new BigHuffmanTree(bs, _header.typeSize); + delete[] huffmanTrees; + _videoFrameBuffer = (byte *)malloc(2 * _videoInfo.width * _videoInfo.height); memset(_videoFrameBuffer, 0, 2 * _videoInfo.width * _videoInfo.height); _palette = (byte *)malloc(3 * 256); |