diff options
author | Colin Snover | 2017-08-24 16:41:51 -0500 |
---|---|---|
committer | Colin Snover | 2017-08-24 20:36:08 -0500 |
commit | 4a39f85c1b283fe17531cfab4ba9b0cb7a6bd928 (patch) | |
tree | d2391491a9b6d8117959d7ab736076f04bf1114e /image/codecs/indeo | |
parent | d39a9272bf0334e5e98801ba06df89b4f59b79b8 (diff) | |
download | scummvm-rg350-4a39f85c1b283fe17531cfab4ba9b0cb7a6bd928.tar.gz scummvm-rg350-4a39f85c1b283fe17531cfab4ba9b0cb7a6bd928.tar.bz2 scummvm-rg350-4a39f85c1b283fe17531cfab4ba9b0cb7a6bd928.zip |
IMAGE: Implement handling of key color in Indeo transparency
This should also improve performance by eliminating unnecessary
writes to the output bitmap for opaque pixels and by simplifying
the rendering loop.
Diffstat (limited to 'image/codecs/indeo')
-rw-r--r-- | image/codecs/indeo/indeo.cpp | 3 | ||||
-rw-r--r-- | image/codecs/indeo/indeo.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/image/codecs/indeo/indeo.cpp b/image/codecs/indeo/indeo.cpp index 27db365cf0..34377537d7 100644 --- a/image/codecs/indeo/indeo.cpp +++ b/image/codecs/indeo/indeo.cpp @@ -444,7 +444,8 @@ IVI45DecContext::IVI45DecContext() : _gb(nullptr), _frameNum(0), _frameType(0), _bRefBuf(0), _rvmapSel(0), _inImf(false), _inQ(false), _picGlobQuant(0), _unknown1(0), _gopHdrSize(0), _gopFlags(0), _lockWord(0), _hasBFrames(false), _hasTransp(false), _usesTiling(false), _usesHaar(false), _usesFullpel(false), - _gopInvalid(false), _isIndeo4(false), _pFrame(nullptr), _gotPFrame(false) { + _gopInvalid(false), _isIndeo4(false), _transKeyColor(0), _pFrame(nullptr), + _gotPFrame(false) { Common::fill(&_bufInvalid[0], &_bufInvalid[4], 0); Common::copy(&_ff_ivi_rvmap_tabs[0], &_ff_ivi_rvmap_tabs[9], &_rvmapTabs[0]); diff --git a/image/codecs/indeo/indeo.h b/image/codecs/indeo/indeo.h index 6c2a6b17a2..d9740ecf61 100644 --- a/image/codecs/indeo/indeo.h +++ b/image/codecs/indeo/indeo.h @@ -420,6 +420,7 @@ public: int _bufInvalid[4]; bool _isIndeo4; + uint32 _transKeyColor; AVFrame * _pFrame; bool _gotPFrame; |