Lines Matching refs:bw

148  * 32 bits : bw->headerCRC
161 static int read_block_header(struct bunzip_data *bd, struct bwdata *bw)
170 bw->headerCRC = get_bits(bd,32);
180 if ((bw->origPtr = get_bits(bd,24)) > bd->dbufSize) return RETVAL_DATA_ERROR;
319 static int read_huffman_data(struct bunzip_data *bd, struct bwdata *bw)
324 unsigned hh, *dbuf = bw->dbuf;
332 byteCount = bw->byteCount;
437 if (bw->origPtr >= (bw->writeCount = dbufCount)) return RETVAL_DATA_ERROR;
452 static void burrows_wheeler_prep(struct bunzip_data *bd, struct bwdata *bw)
455 unsigned int *dbuf = bw->dbuf;
456 int *byteCount = bw->byteCount;
468 for (ii=0; ii < bw->writeCount; ii++) {
478 bw->dataCRC = 0xffffffffL;
484 if (bw->writeCount) {
485 bw->writePos = dbuf[bw->origPtr];
486 bw->writeCurrent = (unsigned char)bw->writePos;
487 bw->writePos >>= 8;
488 bw->writeRun = -1;
512 static int write_bunzip_data(struct bunzip_data *bd, struct bwdata *bw,
515 unsigned int *dbuf = bw->dbuf;
520 if (bw->writeCount < 0) return bw->writeCount;
523 if (!bw->writeCount) {
527 bw->writeCount = i;
534 count = bw->writeCount;
535 pos = bw->writePos;
536 current = bw->writeCurrent;
537 run = bw->writeRun;
566 bw->dataCRC = (bw->dataCRC << 8)
567 ^ bd->crc32Table[(bw->dataCRC >> 24) ^ outbyte];
573 bw->dataCRC = ~(bw->dataCRC);
574 bd->totalCRC = ((bd->totalCRC << 1) | (bd->totalCRC >> 31)) ^ bw->dataCRC;
577 if (bw->dataCRC != bw->headerCRC) {
578 bd->totalCRC = bw->headerCRC+1;
583 bw->writeCount = count;
592 bw->writePos = pos;
593 bw->writeCurrent = current;
594 bw->writeRun = run;