diff options
author | Paul Gilbert | 2016-09-09 22:47:09 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-09-10 10:08:20 -0400 |
commit | 0910e642a229d8f477f35943c6845f3b5a4dea42 (patch) | |
tree | 73d7706fe24e66d017b04bcd2b4f6f9bc611928b /image/codecs/indeo/indeo.h | |
parent | 3a2ee8ea23247f72628294b48b43716c1b84d8a8 (diff) | |
download | scummvm-rg350-0910e642a229d8f477f35943c6845f3b5a4dea42.tar.gz scummvm-rg350-0910e642a229d8f477f35943c6845f3b5a4dea42.tar.bz2 scummvm-rg350-0910e642a229d8f477f35943c6845f3b5a4dea42.zip |
IMAGE: Fix decoding tile data in Indeo4 decoder
Diffstat (limited to 'image/codecs/indeo/indeo.h')
-rw-r--r-- | image/codecs/indeo/indeo.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/image/codecs/indeo/indeo.h b/image/codecs/indeo/indeo.h index f49a9b76b4..cd6920d26c 100644 --- a/image/codecs/indeo/indeo.h +++ b/image/codecs/indeo/indeo.h @@ -113,14 +113,12 @@ struct IVIHuffDesc { void ivi_huff_desc_copy(const IVIHuffDesc *src); }; +class IVI45DecContext; + /** * macroblock/block huffman table descriptor */ struct IVIHuffTab { -private: - VLC_TYPE table_data[8192 * 16][2]; - VLC ivi_mb_vlc_tabs[8]; ///< static macroblock Huffman tables - VLC ivi_blk_vlc_tabs[8]; ///< static block Huffman tables public: int32 tab_sel; /// index of one of the predefined tables /// or "7" for custom one @@ -135,7 +133,7 @@ public: */ IVIHuffTab(); - int ff_ivi_dec_huff_desc(GetBits *gb, int desc_coded, int which_tab); + int ff_ivi_dec_huff_desc(IVI45DecContext *ctx, int desc_coded, int which_tab); }; /** @@ -315,6 +313,12 @@ struct AVFrame { }; struct IVI45DecContext { + friend class IVIHuffTab; +private: + VLC_TYPE table_data[8192 * 16][2]; + VLC ivi_mb_vlc_tabs[8]; ///< static macroblock Huffman tables + VLC ivi_blk_vlc_tabs[8]; ///< static block Huffman tables +public: GetBits * gb; RVMapDesc rvmap_tabs[9]; ///< local corrected copy of the static rvmap tables |