Lines Matching refs:info

62 static void        LZInitTable( LZCompressInfo * info, void *work );
63 static u8 SearchLZ ( LZCompressInfo * info, const u8 *nextp, u32 remainSize, u16 *offset…
64 static void SlideByte ( LZCompressInfo * info, const u8 *srcp );
65 static inline void LZSlide ( LZCompressInfo * info, const u8 *srcp, u32 n );
92 LZCompressInfo info; // Temporary LZ compression information in CXCompressLZ() local
102 LZInitTable(&info, work); in CXCompressLZ()
120 if ((lastLength = SearchLZ( &info, srcp, size, &lastOffset)) != 0 ) in CXCompressLZ()
133 LZSlide(&info, srcp, lastLength); in CXCompressLZ()
144 LZSlide(&info, srcp, 1); in CXCompressLZ()
174 static u8 SearchLZ( LZCompressInfo * info, const u8 *nextp, u32 remainSize, u16 *offset ) in SearchLZ() argument
182 s16 *const LZOffsetTable = info->LZOffsetTable; in SearchLZ()
183 const u16 windowPos = info->windowPos; in SearchLZ()
184 const u16 windowLen = info->windowLen; in SearchLZ()
191 w_offset = info->LZByteTable[*nextp]; in SearchLZ()
262 static void LZInitTable(LZCompressInfo * info, void *work) in LZInitTable() argument
266 info->LZOffsetTable = (s16*)work; in LZInitTable()
267 info->LZByteTable = (s16*)( (u32)work + 4096 * sizeof(s16) ); in LZInitTable()
268 info->LZEndTable = (s16*)( (u32)work + (4096 + 256) * sizeof(s16) ); in LZInitTable()
272 info->LZByteTable[i] = -1; in LZInitTable()
273 info->LZEndTable [i] = -1; in LZInitTable()
275 info->windowPos = 0; in LZInitTable()
276 info->windowLen = 0; in LZInitTable()
282 static void SlideByte(LZCompressInfo * info, const u8 *srcp) in SlideByte() argument
288 s16 *const LZByteTable = info->LZByteTable; in SlideByte()
289 s16 *const LZOffsetTable = info->LZOffsetTable; in SlideByte()
290 s16 *const LZEndTable = info->LZEndTable; in SlideByte()
291 const u16 windowPos = info->windowPos; in SlideByte()
292 const u16 windowLen = info->windowLen; in SlideByte()
322 info->windowPos = (u16)((windowPos + 1) % 0x1000); in SlideByte()
326 info->windowLen++; in SlideByte()
333 static inline void LZSlide(LZCompressInfo * info, const u8 *srcp, u32 n) in LZSlide() argument
339 SlideByte(info, srcp++); in LZSlide()
513 static void HuffInitTable( HuffCompressionInfo* info, void* work, u16 dataNum );
522 static void HuffMakeHuffTree ( HuffCompressionInfo* info, u16 rootNo );
523 static void HuffMakeSubsetHuffTree ( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeF…
524 static u8 HuffRemainingNodeCanSetOffset( HuffCompressionInfo* info, u8 costHWord );
525 static void HuffSetOneNodeOffset ( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeF…
549 HuffCompressionInfo info; in CXCompressHuffman() local
559 HuffInitTable( &info, work, huffDataNum ); in CXCompressHuffman()
562 HuffCountData( info.huffTable, srcp, size, huffBitSize ); in CXCompressHuffman()
565 rootNo = HuffConstructTree( info.huffTable, huffDataNum ); in CXCompressHuffman()
568 HuffMakeHuffTree( &info, rootNo ); in CXCompressHuffman()
569 info.huffTree[0] = --info.huffTreeTop; in CXCompressHuffman()
576 …if ( huffDstCount + (info.huffTreeTop + 1) * 2 >= size ) // Quit on error if size becomes larger… in CXCompressHuffman()
581 for ( i = 0; i < (u16)( (info.huffTreeTop + 1) * 2 ); i++ ) // Tree table in CXCompressHuffman()
583 dstp[ huffDstCount++ ] = ((u8*)info.huffTree)[ i ]; in CXCompressHuffman()
592 info.huffTreeTop++; in CXCompressHuffman()
600 …u32 convSize = HuffConvertData( info.huffTable, srcp, &dstp[ huffDstCount ], size, size - huffDstC… in CXCompressHuffman()
620 static void HuffInitTable( HuffCompressionInfo* info, void* work, u16 dataNum ) in HuffInitTable() argument
623 info->huffTable = (HuffData*)(work); in HuffInitTable()
624 info->huffTree = (u8*)( (u32)work + sizeof(HuffData) * 512 ); in HuffInitTable()
625 info->huffTreeCtrl = (HuffTreeCtrlData*)( (u32)info->huffTree + sizeof(u8) * 512 ); in HuffInitTable()
626 info->huffTreeTop = 1; in HuffInitTable()
630 HuffData* table = info->huffTable; in HuffInitTable()
643 u8* huffTree = info->huffTree; in HuffInitTable()
644 HuffTreeCtrlData* huffTreeCtrl = info->huffTreeCtrl; in HuffInitTable()
865 static void HuffMakeHuffTree( HuffCompressionInfo* info, u16 rootNo ) in HuffMakeHuffTree() argument
874 info->huffTreeTop = 1; in HuffMakeHuffTree()
877 info->huffTreeCtrl[0].leftOffsetNeed = 0; // Do not use (used as table size) in HuffMakeHuffTree()
878 info->huffTreeCtrl[0].rightNodeNo = rootNo; in HuffMakeHuffTree()
884 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffMakeHuffTree()
886 if ( info->huffTreeCtrl[ i ].leftOffsetNeed ) in HuffMakeHuffTree()
890 if ( info->huffTreeCtrl[ i ].rightOffsetNeed ) in HuffMakeHuffTree()
902 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffMakeHuffTree()
904 tmpCostOffsetNeed = (u8)( info->huffTreeTop - i ); in HuffMakeHuffTree()
907 if (info->huffTreeCtrl[i].leftOffsetNeed) in HuffMakeHuffTree()
909 tmpCostHWord = (s16)info->huffTable[ info->huffTreeCtrl[i].leftNodeNo ].HWord; in HuffMakeHuffTree()
915 if ( ! HuffRemainingNodeCanSetOffset( info, (u8)tmpCostHWord ) ) in HuffMakeHuffTree()
933 if ( info->huffTreeCtrl[i].rightOffsetNeed) in HuffMakeHuffTree()
935 tmpCostHWord = (s16)info->huffTable[info->huffTreeCtrl[i].rightNodeNo].HWord; in HuffMakeHuffTree()
941 if ( ! HuffRemainingNodeCanSetOffset( info, (u8)tmpCostHWord ) ) in HuffMakeHuffTree()
962 HuffMakeSubsetHuffTree( info, (u8)costMaxKey, (u8)costMaxRightFlag); in HuffMakeHuffTree()
968 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffMakeHuffTree()
972 if (info->huffTreeCtrl[i].leftOffsetNeed) in HuffMakeHuffTree()
974 tmp = info->huffTable[ info->huffTreeCtrl[i].leftNodeNo ].HWord; in HuffMakeHuffTree()
976 if (info->huffTreeCtrl[i].rightOffsetNeed) in HuffMakeHuffTree()
978 if ( info->huffTable[info->huffTreeCtrl[i].rightNodeNo ].HWord > tmp ) in HuffMakeHuffTree()
985 HuffSetOneNodeOffset( info, (u8)i, tmpRightFlag); in HuffMakeHuffTree()
998 static void HuffMakeSubsetHuffTree( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeFlag ) in HuffMakeSubsetHuffTree() argument
1002 i = info->huffTreeTop; in HuffMakeSubsetHuffTree()
1003 HuffSetOneNodeOffset( info, huffTreeNo, rightNodeFlag); in HuffMakeSubsetHuffTree()
1007 info->huffTreeCtrl[ huffTreeNo ].rightOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1011 info->huffTreeCtrl[ huffTreeNo ].leftOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1014 while ( i < info->huffTreeTop ) in HuffMakeSubsetHuffTree()
1016 if ( info->huffTreeCtrl[ i ].leftOffsetNeed ) in HuffMakeSubsetHuffTree()
1018 HuffSetOneNodeOffset( info, i, 0); in HuffMakeSubsetHuffTree()
1019 info->huffTreeCtrl[ i ].leftOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1021 if ( info->huffTreeCtrl[ i ].rightOffsetNeed ) in HuffMakeSubsetHuffTree()
1023 HuffSetOneNodeOffset( info, i, 1); in HuffMakeSubsetHuffTree()
1024 info->huffTreeCtrl[ i ].rightOffsetNeed = 0; in HuffMakeSubsetHuffTree()
1033 static u8 HuffRemainingNodeCanSetOffset( HuffCompressionInfo* info, u8 costHWord ) in HuffRemainingNodeCanSetOffset() argument
1041 for ( i = 0; i < info->huffTreeTop; i++ ) in HuffRemainingNodeCanSetOffset()
1043 if ( info->huffTreeCtrl[i].leftOffsetNeed ) in HuffRemainingNodeCanSetOffset()
1045 if ( (info->huffTreeTop - i) <= capacity ) in HuffRemainingNodeCanSetOffset()
1054 if ( info->huffTreeCtrl[i].rightOffsetNeed ) in HuffRemainingNodeCanSetOffset()
1056 if ( (info->huffTreeTop - i) <= capacity ) in HuffRemainingNodeCanSetOffset()
1078 static void HuffSetOneNodeOffset( HuffCompressionInfo* info, u16 huffTreeNo, u8 rightNodeFlag ) in HuffSetOneNodeOffset() argument
1083 HuffData* huffTable = info->huffTable; in HuffSetOneNodeOffset()
1084 u8* huffTree = info->huffTree; in HuffSetOneNodeOffset()
1085 HuffTreeCtrlData* huffTreeCtrl = info->huffTreeCtrl; in HuffSetOneNodeOffset()
1086 u8 huffTreeTop = info->huffTreeTop; in HuffSetOneNodeOffset()
1128 info->huffTreeTop++; in HuffSetOneNodeOffset()