Lines Matching refs:context
33 void CXInitUncompContextRL( CXUncompContextRL *context, void* dest ) in CXInitUncompContextRL() argument
35 context->destp = (u8*)dest; in CXInitUncompContextRL()
36 context->destCount = 0; in CXInitUncompContextRL()
37 context->flags = 0; in CXInitUncompContextRL()
38 context->length = 0; in CXInitUncompContextRL()
39 context->headerSize = 8; in CXInitUncompContextRL()
40 context->forceDestCount = 0; in CXInitUncompContextRL()
54 void CXInitUncompContextLZ( CXUncompContextLZ *context, void* dest ) in CXInitUncompContextLZ() argument
56 context->destp = (u8*)dest; in CXInitUncompContextLZ()
57 context->destCount = 0; in CXInitUncompContextLZ()
58 context->flags = 0; in CXInitUncompContextLZ()
59 context->flagIndex = 0; in CXInitUncompContextLZ()
60 context->length = 0; in CXInitUncompContextLZ()
61 context->lengthFlg = 3; in CXInitUncompContextLZ()
62 context->headerSize = 8; in CXInitUncompContextLZ()
63 context->exFormat = 0; in CXInitUncompContextLZ()
64 context->forceDestCount = 0; in CXInitUncompContextLZ()
78 void CXInitUncompContextHuffman( CXUncompContextHuffman *context, void* dest ) in CXInitUncompContextHuffman() argument
80 context->destp = (u8*)dest; in CXInitUncompContextHuffman()
81 context->destCount = 0; in CXInitUncompContextHuffman()
82 context->bitSize = 0; in CXInitUncompContextHuffman()
83 context->treeSize = -1; in CXInitUncompContextHuffman()
84 context->treep = &context->tree[ 0 ]; in CXInitUncompContextHuffman()
85 context->destTmp = 0; in CXInitUncompContextHuffman()
86 context->destTmpCnt = 0; in CXInitUncompContextHuffman()
87 context->srcTmp = 0; in CXInitUncompContextHuffman()
88 context->srcTmpCnt = 0; in CXInitUncompContextHuffman()
89 context->headerSize = 8; in CXInitUncompContextHuffman()
90 context->forceDestCount = 0; in CXInitUncompContextHuffman()
155 s32 CXReadUncompRL( CXUncompContextRL *context, const void* data, u32 len ) in CXReadUncompRL() argument
161 if ( context->headerSize > 0 ) in CXReadUncompRL()
164 if ( context->headerSize == 8 ) in CXReadUncompRL()
175 …read_len = CXiReadHeader( &context->headerSize, &context->destCount, srcp, len, context->forceDest… in CXReadUncompRL()
180 return (context->headerSize == 0)? context->destCount : -1; in CXReadUncompRL()
184 while ( context->destCount > 0 ) in CXReadUncompRL()
187 if ( ! (context->flags & 0x80) ) in CXReadUncompRL()
190 while ( context->length > 0 ) in CXReadUncompRL()
192 *context->destp++ = *srcp++; in CXReadUncompRL()
193 context->length--; in CXReadUncompRL()
194 context->destCount--; in CXReadUncompRL()
199 return context->destCount; in CXReadUncompRL()
203 else if ( context->length > 0 ) in CXReadUncompRL()
208 while ( context->length > 0 ) in CXReadUncompRL()
210 *context->destp++ = srcTmp; in CXReadUncompRL()
211 context->length--; in CXReadUncompRL()
212 context->destCount--; in CXReadUncompRL()
216 return context->destCount; in CXReadUncompRL()
221 context->flags = *srcp++; in CXReadUncompRL()
223 context->length = (u16)(context->flags & 0x7F); in CXReadUncompRL()
224 if ( context->flags & 0x80 ) in CXReadUncompRL()
226 context->length += 3; in CXReadUncompRL()
230 context->length += 1; in CXReadUncompRL()
233 if ( context->length > context->destCount ) in CXReadUncompRL()
236 if ( context->forceDestCount == 0 ) in CXReadUncompRL()
240 context->length = (u16)context->destCount; in CXReadUncompRL()
244 return context->destCount; in CXReadUncompRL()
249 if ( (context->forceDestCount == 0) && (len > 32) ) in CXReadUncompRL()
271 s32 CXReadUncompLZ( CXUncompContextLZ *context, const void* data, u32 len ) in CXReadUncompLZ() argument
277 if ( context->headerSize > 0 ) in CXReadUncompLZ()
281 if ( context->headerSize == 8 ) in CXReadUncompLZ()
288 context->exFormat = (u8)( *srcp & 0x0F ); in CXReadUncompLZ()
289 if ( (context->exFormat != 0x0) && (context->exFormat != 0x1) ) in CXReadUncompLZ()
294 …read_len = CXiReadHeader( &context->headerSize, &context->destCount, srcp, len, context->forceDest… in CXReadUncompLZ()
299 return (context->headerSize == 0)? context->destCount : -1; in CXReadUncompLZ()
303 while ( context->destCount > 0 ) in CXReadUncompLZ()
305 while ( context->flagIndex > 0 ) in CXReadUncompLZ()
309 return context->destCount; in CXReadUncompLZ()
312 if ( ! (context->flags & 0x80) ) in CXReadUncompLZ()
315 *context->destp++ = *srcp++; in CXReadUncompLZ()
316 context->destCount--; in CXReadUncompLZ()
322 while ( context->lengthFlg > 0 ) in CXReadUncompLZ()
324 --context->lengthFlg; in CXReadUncompLZ()
325 if ( ! context->exFormat ) in CXReadUncompLZ()
327 context->length = *srcp++; in CXReadUncompLZ()
328 context->length += (3 << 4); in CXReadUncompLZ()
329 context->lengthFlg = 0; in CXReadUncompLZ()
333 switch ( context->lengthFlg ) in CXReadUncompLZ()
337 context->length = *srcp++; in CXReadUncompLZ()
338 if ( (context->length >> 4) == 1 ) in CXReadUncompLZ()
341 context->length = (context->length & 0x0F) << 16; in CXReadUncompLZ()
342 context->length += ( (0xFF + 0xF + 3) << 4 ); in CXReadUncompLZ()
344 else if ( (context->length >> 4) == 0 ) in CXReadUncompLZ()
347 context->length = (context->length & 0x0F) << 8; in CXReadUncompLZ()
348 context->length += ( (0xF + 2) << 4 ); in CXReadUncompLZ()
349 context->lengthFlg = 1; in CXReadUncompLZ()
353 context->length += (1 << 4); in CXReadUncompLZ()
354 context->lengthFlg = 0; in CXReadUncompLZ()
360 context->length += (*srcp++ << 8); in CXReadUncompLZ()
365 context->length += *srcp++; in CXReadUncompLZ()
372 return context->destCount; in CXReadUncompLZ()
376 offset = (context->length & 0xF) << 8; in CXReadUncompLZ()
377 context->length = context->length >> 4; in CXReadUncompLZ()
380 context->lengthFlg = 3; in CXReadUncompLZ()
383 if ( context->length > context->destCount ) in CXReadUncompLZ()
385 if ( context->forceDestCount == 0 ) in CXReadUncompLZ()
389 context->length = context->destCount; in CXReadUncompLZ()
392 while ( context->length > 0 ) in CXReadUncompLZ()
394 *context->destp = context->destp[ -offset ]; in CXReadUncompLZ()
395 context->destp++; in CXReadUncompLZ()
396 context->destCount--; in CXReadUncompLZ()
397 context->length--; in CXReadUncompLZ()
401 if ( context->destCount == 0 ) in CXReadUncompLZ()
405 context->flags <<= 1; in CXReadUncompLZ()
406 context->flagIndex--; in CXReadUncompLZ()
411 return context->destCount; in CXReadUncompLZ()
414 context->flags = *srcp++; in CXReadUncompLZ()
415 context->flagIndex = 8; in CXReadUncompLZ()
421 if ( (context->forceDestCount == 0) && (len > 32) ) in CXReadUncompLZ()
451 s32 CXReadUncompHuffman( CXUncompContextHuffman *context, const void* data, u32 len ) in CXReadUncompHuffman() argument
459 if ( context->headerSize > 0 ) in CXReadUncompHuffman()
463 if ( context->headerSize == 8 ) in CXReadUncompHuffman()
465 context->bitSize = (u8)(*srcp & 0xF); in CXReadUncompHuffman()
471 if ( (context->bitSize != 4) && (context->bitSize != 8) ) in CXReadUncompHuffman()
476 …read_len = CXiReadHeader( &context->headerSize, &context->destCount, srcp, len, context->forceDest… in CXReadUncompHuffman()
481 return (context->headerSize == 0)? context->destCount : -1; in CXReadUncompHuffman()
487 if ( context->treeSize < 0 ) in CXReadUncompHuffman()
489 context->treeSize = (s16)( ( *srcp + 1 ) * 2 - 1 ); in CXReadUncompHuffman()
490 *context->treep++ = *srcp++; in CXReadUncompHuffman()
495 while ( context->treeSize > 0 ) in CXReadUncompHuffman()
499 return context->destCount; in CXReadUncompHuffman()
501 *context->treep++ = *srcp++; in CXReadUncompHuffman()
502 context->treeSize--; in CXReadUncompHuffman()
504 if ( context->treeSize == 0 ) in CXReadUncompHuffman()
506 context->treep = &context->tree[ 1 ]; in CXReadUncompHuffman()
507 if ( ! CXiVerifyHuffmanTable_( &context->tree[ 0 ], context->bitSize ) ) in CXReadUncompHuffman()
515 while ( context->destCount > 0 ) in CXReadUncompHuffman()
518 while ( context->srcTmpCnt < 32 ) in CXReadUncompHuffman()
522 return context->destCount; in CXReadUncompHuffman()
524 context->srcTmp |= (*srcp++) << context->srcTmpCnt; in CXReadUncompHuffman()
526 context->srcTmpCnt += 8; in CXReadUncompHuffman()
530 while ( context->srcTmpCnt > 0 ) in CXReadUncompHuffman()
532 select = context->srcTmp >> 31; in CXReadUncompHuffman()
533 endFlag = (*context->treep << select) & TREE_END_MASK; in CXReadUncompHuffman()
534 context->treep = GetNextNode( context->treep, select ); in CXReadUncompHuffman()
535 context->srcTmp <<= 1; in CXReadUncompHuffman()
536 context->srcTmpCnt--; in CXReadUncompHuffman()
545 context->destTmp >>= context->bitSize; in CXReadUncompHuffman()
546 context->destTmp |= *context->treep << ( 32 - context->bitSize ); in CXReadUncompHuffman()
547 context->treep = &context->tree[ 1 ]; in CXReadUncompHuffman()
548 context->destTmpCnt += context->bitSize; in CXReadUncompHuffman()
550 if ( context->destCount <= (context->destTmpCnt / 8) ) in CXReadUncompHuffman()
552 context->destTmp >>= (32 - context->destTmpCnt); in CXReadUncompHuffman()
553 context->destTmpCnt = 32; in CXReadUncompHuffman()
557 if ( context->destTmpCnt == 32 ) in CXReadUncompHuffman()
559 *(u32*)context->destp = CXiConvertEndian_( context->destTmp ); in CXReadUncompHuffman()
560 context->destp += 4; in CXReadUncompHuffman()
561 context->destCount -= 4; in CXReadUncompHuffman()
562 context->destTmpCnt = 0; in CXReadUncompHuffman()
563 if ( context->destCount <= 0 ) in CXReadUncompHuffman()
573 if ( (context->forceDestCount == 0) && (len > 32) ) in CXReadUncompHuffman()