aboutsummaryrefslogtreecommitdiff
path: root/image/codecs/indeo/indeo.h
diff options
context:
space:
mode:
authorPaul Gilbert2016-09-09 22:47:09 -0400
committerPaul Gilbert2016-09-10 10:08:20 -0400
commit0910e642a229d8f477f35943c6845f3b5a4dea42 (patch)
tree73d7706fe24e66d017b04bcd2b4f6f9bc611928b /image/codecs/indeo/indeo.h
parent3a2ee8ea23247f72628294b48b43716c1b84d8a8 (diff)
downloadscummvm-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.h14
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