Lines Matching refs:info
78 static void LZInitTable( LZCompressInfo * info, void *work );
79 static u32 SearchLZ ( LZCompressInfo * info, const u8 *nextp, u32 remainSize, u16 *offset…
80 static void SlideByte ( LZCompressInfo * info, const u8 *srcp );
81 static inline void LZSlide ( LZCompressInfo * info, const u8 *srcp, u32 n );
108 LZCompressInfo info; // Temporary LZ compression information in CXCompressLZImpl() local
131 LZInitTable(&info, work); in CXCompressLZImpl()
149 if ( (lastLength = SearchLZ( &info, srcp, size, &lastOffset, MAX_LENGTH)) != 0 ) in CXCompressLZImpl()
189 LZSlide(&info, srcp, lastLength); in CXCompressLZImpl()
200 LZSlide(&info, srcp, 1); in CXCompressLZImpl()
230 static u32 SearchLZ( LZCompressInfo * info, const u8 *nextp, u32 remainSize, u16 *offset, u32 maxLe… in SearchLZ() argument
238 s16 *const LZOffsetTable = info->LZOffsetTable; in SearchLZ()
239 const u16 windowPos = info->windowPos; in SearchLZ()
240 const u16 windowLen = info->windowLen; in SearchLZ()
247 w_offset = info->LZByteTable[*nextp]; in SearchLZ()
318 static void LZInitTable(LZCompressInfo * info, void *work) in LZInitTable() argument
322 info->LZOffsetTable = (s16*)work; in LZInitTable()
323 info->LZByteTable = (s16*)( (u32)work + 4096 * sizeof(s16) ); in LZInitTable()
324 info->LZEndTable = (s16*)( (u32)work + (4096 + 256) * sizeof(s16) ); in LZInitTable()
328 info->LZByteTable[i] = -1; in LZInitTable()
329 info->LZEndTable [i] = -1; in LZInitTable()
331 info->windowPos = 0; in LZInitTable()
332 info->windowLen = 0; in LZInitTable()
338 static void SlideByte(LZCompressInfo * info, const u8 *srcp) in SlideByte() argument
344 s16 *const LZByteTable = info->LZByteTable; in SlideByte()
345 s16 *const LZOffsetTable = info->LZOffsetTable; in SlideByte()
346 s16 *const LZEndTable = info->LZEndTable; in SlideByte()
347 const u16 windowPos = info->windowPos; in SlideByte()
348 const u16 windowLen = info->windowLen; in SlideByte()
378 info->windowPos = (u16)((windowPos + 1) % 0x1000); in SlideByte()
382 info->windowLen++; in SlideByte()
389 static inline void LZSlide(LZCompressInfo * info, const u8 *srcp, u32 n) in LZSlide() argument
395 SlideByte(info, srcp++); in LZSlide()
578 static void HuffInitTable( HuffCompressionInfo* info, void* work, u16 dataNum );
587 static void HuffMakeHuffTree ( HuffCompressionInfo* info, u16 rootNo );
588 static void HuffMakeSubsetHuffTree ( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeF…
589 static u8 HuffRemainingNodeCanSetOffset( HuffCompressionInfo* info, u8 costHWord );
590 static void HuffSetOneNodeOffset ( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeF…
615 HuffCompressionInfo info; in CXCompressHuffman() local
625 HuffInitTable( &info, work, huffDataNum ); in CXCompressHuffman()
628 HuffCountData( info.huffTable, srcp, size, huffBitSize ); in CXCompressHuffman()
631 rootNo = HuffConstructTree( info.huffTable, huffDataNum ); in CXCompressHuffman()
634 HuffMakeHuffTree( &info, rootNo ); in CXCompressHuffman()
635 info.huffTree[0] = --info.huffTreeTop; in CXCompressHuffman()
653 …if ( huffDstCount + (info.huffTreeTop + 1) * 2 >= size ) // Quit on error if size becomes larger… in CXCompressHuffman()
658 for ( i = 0; i < (u16)( (info.huffTreeTop + 1) * 2 ); i++ ) // Tree table in CXCompressHuffman()
660 dstp[ huffDstCount++ ] = ((u8*)info.huffTree)[ i ]; in CXCompressHuffman()
669 info.huffTreeTop++; in CXCompressHuffman()
677 …u32 convSize = HuffConvertData( info.huffTable, srcp, &dstp[ huffDstCount ], size, size - huffDstC… in CXCompressHuffman()
697 static void HuffInitTable( HuffCompressionInfo* info, void* work, u16 dataNum ) in HuffInitTable() argument
700 info->huffTable = (HuffData*)(work); in HuffInitTable()
701 info->huffTree = (u8*)( (u32)work + sizeof(HuffData) * 512 ); in HuffInitTable()
702 info->huffTreeCtrl = (HuffTreeCtrlData*)( (u32)info->huffTree + sizeof(u8) * 512 ); in HuffInitTable()
703 info->huffTreeTop = 1; in HuffInitTable()
707 HuffData* table = info->huffTable; in HuffInitTable()
720 u8* huffTree = info->huffTree; in HuffInitTable()
721 HuffTreeCtrlData* huffTreeCtrl = info->huffTreeCtrl; in HuffInitTable()
942 static void HuffMakeHuffTree( HuffCompressionInfo* info, u16 rootNo ) in HuffMakeHuffTree() argument
951 info->huffTreeTop = 1; in HuffMakeHuffTree()
954 info->huffTreeCtrl[0].leftOffsetNeed = 0; // Do not use (used as table size) in HuffMakeHuffTree()
955 info->huffTreeCtrl[0].rightNodeNo = rootNo; in HuffMakeHuffTree()
961 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffMakeHuffTree()
963 if ( info->huffTreeCtrl[ i ].leftOffsetNeed ) in HuffMakeHuffTree()
967 if ( info->huffTreeCtrl[ i ].rightOffsetNeed ) in HuffMakeHuffTree()
979 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffMakeHuffTree()
981 tmpCostOffsetNeed = (u8)( info->huffTreeTop - i ); in HuffMakeHuffTree()
984 if (info->huffTreeCtrl[i].leftOffsetNeed) in HuffMakeHuffTree()
986 tmpCostHWord = (s16)info->huffTable[ info->huffTreeCtrl[i].leftNodeNo ].HWord; in HuffMakeHuffTree()
992 if ( ! HuffRemainingNodeCanSetOffset( info, (u8)tmpCostHWord ) ) in HuffMakeHuffTree()
1010 if ( info->huffTreeCtrl[i].rightOffsetNeed) in HuffMakeHuffTree()
1012 tmpCostHWord = (s16)info->huffTable[info->huffTreeCtrl[i].rightNodeNo].HWord; in HuffMakeHuffTree()
1018 if ( ! HuffRemainingNodeCanSetOffset( info, (u8)tmpCostHWord ) ) in HuffMakeHuffTree()
1039 HuffMakeSubsetHuffTree( info, (u8)costMaxKey, (u8)costMaxRightFlag); in HuffMakeHuffTree()
1045 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffMakeHuffTree()
1049 if (info->huffTreeCtrl[i].leftOffsetNeed) in HuffMakeHuffTree()
1051 tmp = info->huffTable[ info->huffTreeCtrl[i].leftNodeNo ].HWord; in HuffMakeHuffTree()
1053 if (info->huffTreeCtrl[i].rightOffsetNeed) in HuffMakeHuffTree()
1055 if ( info->huffTable[info->huffTreeCtrl[i].rightNodeNo ].HWord > tmp ) in HuffMakeHuffTree()
1062 HuffSetOneNodeOffset( info, (u8)i, tmpRightFlag); in HuffMakeHuffTree()
1075 static void HuffMakeSubsetHuffTree( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeFlag ) in HuffMakeSubsetHuffTree() argument
1079 i = info->huffTreeTop; in HuffMakeSubsetHuffTree()
1080 HuffSetOneNodeOffset( info, huffTreeNo, rightNodeFlag); in HuffMakeSubsetHuffTree()
1084 info->huffTreeCtrl[ huffTreeNo ].rightOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1088 info->huffTreeCtrl[ huffTreeNo ].leftOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1091 while ( i < info->huffTreeTop ) in HuffMakeSubsetHuffTree()
1093 if ( info->huffTreeCtrl[ i ].leftOffsetNeed ) in HuffMakeSubsetHuffTree()
1095 HuffSetOneNodeOffset( info, i, 0); in HuffMakeSubsetHuffTree()
1096 info->huffTreeCtrl[ i ].leftOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1098 if ( info->huffTreeCtrl[ i ].rightOffsetNeed ) in HuffMakeSubsetHuffTree()
1100 HuffSetOneNodeOffset( info, i, 1); in HuffMakeSubsetHuffTree()
1101 info->huffTreeCtrl[ i ].rightOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1110 static u8 HuffRemainingNodeCanSetOffset( HuffCompressionInfo* info, u8 costHWord ) in HuffRemainingNodeCanSetOffset() argument
1118 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffRemainingNodeCanSetOffset()
1120 if ( info->huffTreeCtrl[i].leftOffsetNeed ) in HuffRemainingNodeCanSetOffset()
1122 if ( (info->huffTreeTop - i) <= capacity ) in HuffRemainingNodeCanSetOffset()
1131 if ( info->huffTreeCtrl[i].rightOffsetNeed ) in HuffRemainingNodeCanSetOffset()
1133 if ( (info->huffTreeTop - i) <= capacity ) in HuffRemainingNodeCanSetOffset()
1155 static void HuffSetOneNodeOffset( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeFlag ) in HuffSetOneNodeOffset() argument
1160 HuffData* huffTable = info->huffTable; in HuffSetOneNodeOffset()
1161 u8* huffTree = info->huffTree; in HuffSetOneNodeOffset()
1162 HuffTreeCtrlData* huffTreeCtrl = info->huffTreeCtrl; in HuffSetOneNodeOffset()
1163 u8 huffTreeTop = info->huffTreeTop; in HuffSetOneNodeOffset()
1205 info->huffTreeTop++; in HuffSetOneNodeOffset()