aboutsummaryrefslogtreecommitdiff
path: root/video/bink_decoder.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2011-09-18 09:38:30 +0200
committerBastien Bouclet2011-09-18 09:38:30 +0200
commitcf54fc98d5bf47469284e2d6f9bc3d5807445adb (patch)
tree13e50833ef324bf0a65c6023cfc3d62e52302fa5 /video/bink_decoder.cpp
parent13d0275d7ea6714b78115c3a1451c693cd0a855b (diff)
downloadscummvm-rg350-cf54fc98d5bf47469284e2d6f9bc3d5807445adb.tar.gz
scummvm-rg350-cf54fc98d5bf47469284e2d6f9bc3d5807445adb.tar.bz2
scummvm-rg350-cf54fc98d5bf47469284e2d6f9bc3d5807445adb.zip
VIDEO: Fix Bink bundle count lenghts to be computed like ffmpeg does.
Fixes several movies in Myst 3.
Diffstat (limited to 'video/bink_decoder.cpp')
-rw-r--r--video/bink_decoder.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/video/bink_decoder.cpp b/video/bink_decoder.cpp
index c02042f972..a08c93522b 100644
--- a/video/bink_decoder.cpp
+++ b/video/bink_decoder.cpp
@@ -703,13 +703,13 @@ void BinkDecoder::initBundles() {
_bundles[kSourceBlockTypes ].countLengths[i] = Common::intLog2((width >> 3) + 511) + 1;
_bundles[kSourceSubBlockTypes].countLengths[i] = Common::intLog2((width >> 4) + 511) + 1;
- _bundles[kSourceColors ].countLengths[i] = Common::intLog2((width >> 3)*64 + 511) + 1;
+ _bundles[kSourceColors ].countLengths[i] = Common::intLog2((cbw[i] )*64 + 511) + 1;
_bundles[kSourceIntraDC ].countLengths[i] = Common::intLog2((width >> 3) + 511) + 1;
_bundles[kSourceInterDC ].countLengths[i] = Common::intLog2((width >> 3) + 511) + 1;
_bundles[kSourceXOff ].countLengths[i] = Common::intLog2((width >> 3) + 511) + 1;
_bundles[kSourceYOff ].countLengths[i] = Common::intLog2((width >> 3) + 511) + 1;
_bundles[kSourcePattern ].countLengths[i] = Common::intLog2((cbw[i] << 3) + 511) + 1;
- _bundles[kSourceRun ].countLengths[i] = Common::intLog2((width >> 3)*48 + 511) + 1;
+ _bundles[kSourceRun ].countLengths[i] = Common::intLog2((cbw[i] )*48 + 511) + 1;
}
}