Skip to content

Commit

Permalink
IMAGE: Fix some confusion of bytes vs bits in Indeo decoders
Browse files Browse the repository at this point in the history
  • Loading branch information
dreammaster committed Nov 19, 2016
1 parent 91d61b2 commit 4888433
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 10 deletions.
6 changes: 3 additions & 3 deletions image/codecs/indeo/indeo.cpp
Expand Up @@ -466,8 +466,8 @@ IVI45DecContext::IVI45DecContext() : _gb(nullptr), _frameNum(0), _frameType(0),

/*------------------------------------------------------------------------*/

IndeoDecoderBase::IndeoDecoderBase(uint16 width, uint16 height, uint bytesPerPixel) : Codec() {
switch (bytesPerPixel) {
IndeoDecoderBase::IndeoDecoderBase(uint16 width, uint16 height, uint bitsPerPixel) : Codec() {
switch (bitsPerPixel) {
case 16:
_pixelFormat = Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0);
break;
Expand All @@ -484,7 +484,7 @@ IndeoDecoderBase::IndeoDecoderBase(uint16 width, uint16 height, uint bytesPerPix

_surface = new Graphics::Surface();
_surface->create(width, height, _pixelFormat);
_surface->fillRect(Common::Rect(0, 0, width, height), (bytesPerPixel == 4) ? 0xff : 0);
_surface->fillRect(Common::Rect(0, 0, width, height), (bitsPerPixel == 32) ? 0xff : 0);
_ctx._bRefBuf = 3; // buffer 2 is used for scalability mode
}

Expand Down
2 changes: 1 addition & 1 deletion image/codecs/indeo/indeo.h
Expand Up @@ -574,7 +574,7 @@ class IndeoDecoderBase : public Codec {
*/
int scaleMV(int mv, int mvScale);
public:
IndeoDecoderBase(uint16 width, uint16 height, uint bytesPerPixel);
IndeoDecoderBase(uint16 width, uint16 height, uint bitsPerPixel);
virtual ~IndeoDecoderBase();
};

Expand Down
4 changes: 2 additions & 2 deletions image/codecs/indeo4.cpp
Expand Up @@ -37,8 +37,8 @@ namespace Image {

#define IVI4_PIC_SIZE_ESC 7

Indeo4Decoder::Indeo4Decoder(uint16 width, uint16 height, uint bytesPerPixel) :
IndeoDecoderBase(width, height, bytesPerPixel) {
Indeo4Decoder::Indeo4Decoder(uint16 width, uint16 height, uint bitsPerPixel) :
IndeoDecoderBase(width, height, bitsPerPixel) {
_ctx._isIndeo4 = true;
_ctx._refBuf = 1;
_ctx._bRefBuf = 3;
Expand Down
2 changes: 1 addition & 1 deletion image/codecs/indeo4.h
Expand Up @@ -52,7 +52,7 @@ class Indeo4Decoder : public IndeoDecoderBase {
bool _is2dTrans;
};
public:
Indeo4Decoder(uint16 width, uint16 height, uint bytesPerPixel = 2);
Indeo4Decoder(uint16 width, uint16 height, uint bitsPerPixel = 16);
virtual ~Indeo4Decoder() {}

virtual const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream);
Expand Down
4 changes: 2 additions & 2 deletions image/codecs/indeo5.cpp
Expand Up @@ -48,8 +48,8 @@ enum {

#define IVI5_PIC_SIZE_ESC 15

Indeo5Decoder::Indeo5Decoder(uint16 width, uint16 height, uint bytesPerPixel) :
IndeoDecoderBase(width, height, bytesPerPixel) {
Indeo5Decoder::Indeo5Decoder(uint16 width, uint16 height, uint bitsPerPixel) :
IndeoDecoderBase(width, height, bitsPerPixel) {
_ctx._isIndeo4 = false;
_ctx._refBuf = 1;
_ctx._bRefBuf = 3;
Expand Down
2 changes: 1 addition & 1 deletion image/codecs/indeo5.h
Expand Up @@ -52,7 +52,7 @@ class Indeo5Decoder : public IndeoDecoderBase {
int is_2d_trans;
};
public:
Indeo5Decoder(uint16 width, uint16 height, uint bytesPerPixel = 2);
Indeo5Decoder(uint16 width, uint16 height, uint bitsPerPixel = 16);
virtual ~Indeo5Decoder() {}

virtual const Graphics::Surface *decodeFrame(Common::SeekableReadStream &stream);
Expand Down

0 comments on commit 4888433

Please sign in to comment.