Lines Matching refs:sd

97 static int LWZReadByte (gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, int *Zero…
431 LWZReadByte_(gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, int *ZeroDataBlockP) in LWZReadByte_() argument
436 sd->set_code_size = input_code_size; in LWZReadByte_()
437 sd->code_size = sd->set_code_size+1; in LWZReadByte_()
438 sd->clear_code = 1 << sd->set_code_size ; in LWZReadByte_()
439 sd->end_code = sd->clear_code + 1; in LWZReadByte_()
440 sd->max_code_size = 2*sd->clear_code; in LWZReadByte_()
441 sd->max_code = sd->clear_code+2; in LWZReadByte_()
443 GetCode(fd, &sd->scd, 0, TRUE, ZeroDataBlockP); in LWZReadByte_()
445 sd->fresh = TRUE; in LWZReadByte_()
447 for (i = 0; i < sd->clear_code; ++i) { in LWZReadByte_()
448 sd->table[0][i] = 0; in LWZReadByte_()
449 sd->table[1][i] = i; in LWZReadByte_()
452 sd->table[0][i] = sd->table[1][0] = 0; in LWZReadByte_()
454 sd->sp = sd->stack; in LWZReadByte_()
457 } else if (sd->fresh) { in LWZReadByte_()
458 sd->fresh = FALSE; in LWZReadByte_()
460 sd->firstcode = sd->oldcode = in LWZReadByte_()
461 GetCode(fd, &sd->scd, sd->code_size, FALSE, ZeroDataBlockP); in LWZReadByte_()
462 } while (sd->firstcode == sd->clear_code); in LWZReadByte_()
463 return sd->firstcode; in LWZReadByte_()
466 if (sd->sp > sd->stack) in LWZReadByte_()
467 return *--sd->sp; in LWZReadByte_()
469 while ((code = GetCode(fd, &sd->scd, sd->code_size, FALSE, ZeroDataBlockP)) >= 0) { in LWZReadByte_()
470 if (code == sd->clear_code) { in LWZReadByte_()
471 for (i = 0; i < sd->clear_code; ++i) { in LWZReadByte_()
472 sd->table[0][i] = 0; in LWZReadByte_()
473 sd->table[1][i] = i; in LWZReadByte_()
476 sd->table[0][i] = sd->table[1][i] = 0; in LWZReadByte_()
477 sd->code_size = sd->set_code_size+1; in LWZReadByte_()
478 sd->max_code_size = 2*sd->clear_code; in LWZReadByte_()
479 sd->max_code = sd->clear_code+2; in LWZReadByte_()
480 sd->sp = sd->stack; in LWZReadByte_()
481 sd->firstcode = sd->oldcode = in LWZReadByte_()
482 GetCode(fd, &sd->scd, sd->code_size, FALSE, ZeroDataBlockP); in LWZReadByte_()
483 return sd->firstcode; in LWZReadByte_()
484 } else if (code == sd->end_code) { in LWZReadByte_()
500 if (sd->sp == (sd->stack + STACK_SIZE)) { in LWZReadByte_()
505 if (code >= sd->max_code) { in LWZReadByte_()
506 *sd->sp++ = sd->firstcode; in LWZReadByte_()
507 code = sd->oldcode; in LWZReadByte_()
510 while (code >= sd->clear_code) { in LWZReadByte_()
511 if (sd->sp == (sd->stack + STACK_SIZE)) { in LWZReadByte_()
515 *sd->sp++ = sd->table[1][code]; in LWZReadByte_()
516 if (code == sd->table[0][code]) { in LWZReadByte_()
519 code = sd->table[0][code]; in LWZReadByte_()
522 *sd->sp++ = sd->firstcode = sd->table[1][code]; in LWZReadByte_()
524 if ((code = sd->max_code) <(1<<MAX_LWZ_BITS)) { in LWZReadByte_()
525 sd->table[0][code] = sd->oldcode; in LWZReadByte_()
526 sd->table[1][code] = sd->firstcode; in LWZReadByte_()
527 ++sd->max_code; in LWZReadByte_()
528 if ((sd->max_code >= sd->max_code_size) && in LWZReadByte_()
529 (sd->max_code_size < (1<<MAX_LWZ_BITS))) { in LWZReadByte_()
530 sd->max_code_size *= 2; in LWZReadByte_()
531 ++sd->code_size; in LWZReadByte_()
535 sd->oldcode = incode; in LWZReadByte_()
537 if (sd->sp > sd->stack) in LWZReadByte_()
538 return *--sd->sp; in LWZReadByte_()
545 LWZReadByte(gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, int *ZeroDataBlockP) in LWZReadByte() argument
549 rv = LWZReadByte_(fd, sd, flag, input_code_size, ZeroDataBlockP); in LWZReadByte()
562 LZW_STATIC_DATA sd; in ReadImage() local
585 if (LWZReadByte(fd, &sd, TRUE, c, ZeroDataBlockP) < 0) { in ReadImage()
599 while ((v = LWZReadByte(fd, &sd, FALSE, c, ZeroDataBlockP)) >= 0) { in ReadImage()
644 if (LWZReadByte(fd, &sd, FALSE, c, ZeroDataBlockP) >=0) { in ReadImage()