return status;
if ((state->cbuf[0] >> (8 - id_len)) != id) {
- printf("%s: Unexpected block of size %i created ID:%x.\n",
- CHECK_FAIL, bs, state->cbuf[0] >> (8 - id_len));
+ printf(
+ "%s: block of size %i created with ID:%x, expected %x.\n",
+ CHECK_FAIL, bs, state->cbuf[0] >> (8 - id_len), id
+ );
return 99;
}
}
{
int status;
- memset(state->ubuf, 0x55, state->buf_len);
+ if (state->strm->flags & AEC_DATA_PREPROCESS)
+ memset(state->ubuf, 0x55, state->buf_len);
+ else
+ memset(state->ubuf, 0, state->buf_len);
printf("Checking zero blocks ... ");
status = check_block_sizes(state, 0, state->id_len + 1);
size = state->bytes_per_sample;
- for (tmp = state->ubuf;
- tmp < state->ubuf + state->buf_len;
- tmp += 4 * state->bytes_per_sample) {
- state->out(tmp, state->xmin + (1ULL << (k - 1)) - 1, size);
- state->out(tmp + size, state->xmin, size);
- state->out(tmp + 2 * size, state->xmin + (1ULL << (k + 1)) - 1, size);
- state->out(tmp + 3 * size, state->xmin, size);
+ if (state->strm->flags & AEC_DATA_PREPROCESS) {
+ for (tmp = state->ubuf;
+ tmp < state->ubuf + state->buf_len;
+ tmp += 4 * size) {
+ state->out(tmp, state->xmin + (1ULL << (k - 1)) - 1, size);
+ state->out(tmp + size, state->xmin, size);
+ state->out(tmp + 2 * size, state->xmin
+ + (1ULL << (k + 1)) - 1, size);
+ state->out(tmp + 3 * size, state->xmin, size);
+ }
+ } else {
+ for (tmp = state->ubuf;
+ tmp < state->ubuf + state->buf_len;
+ tmp += 4 * size) {
+ state->out(tmp, 0, size);
+ state->out(tmp + size, (1ULL << k) - 1, size);
+ state->out(tmp + 2 * size, 0, size);
+ state->out(tmp + 3 * size, (1ULL << (k + 2)) - 1, size);
+ }
}
printf("Checking splitting with k=%i ... ", k);
for (tmp = state->ubuf;
tmp < state->ubuf + state->buf_len;
- tmp += 2 * state->bytes_per_sample) {
+ tmp += 2 * size) {
state->out(tmp, state->xmax, size);
state->out(tmp + size, state->xmin, size);
}
size = state->bytes_per_sample;
- for (tmp = state->ubuf;
- tmp < state->ubuf + state->buf_len;
- tmp += 4 * state->bytes_per_sample) {
- state->out(tmp, state->xmin + 2, size);
- state->out(tmp + size, state->xmin, size);
- state->out(tmp + 2 * size, state->xmin, size);
- state->out(tmp + 3 * size, state->xmin, size);
+ if (state->strm->flags & AEC_DATA_PREPROCESS) {
+ for (tmp = state->ubuf;
+ tmp < state->ubuf + state->buf_len;
+ tmp += 4 * size) {
+ state->out(tmp, state->xmin + 2, size);
+ state->out(tmp + size, state->xmin, size);
+ state->out(tmp + 2 * size, state->xmin, size);
+ state->out(tmp + 3 * size, state->xmin, size);
+ }
+ } else {
+ for (tmp = state->ubuf;
+ tmp < state->ubuf + state->buf_len;
+ tmp += 4 * size) {
+ state->out(tmp, 0, size);
+ state->out(tmp + size, 0, size);
+ state->out(tmp + 2 * size, 0, size);
+ state->out(tmp + 3 * size, 4, size);
+ }
}
printf("Checking FS ... ");
size = state->bytes_per_sample;
- for (tmp = state->ubuf;
- tmp < state->ubuf + state->buf_len;
- tmp += 8 * size) {
- state->out(tmp, 0, size);
- state->out(tmp + size, 0, size);
- state->out(tmp + 2 * size, 0, size);
- state->out(tmp + 3 * size, 0, size);
- state->out(tmp + 4 * size, 1, size);
- state->out(tmp + 5 * size, 1, size);
- state->out(tmp + 6 * size, 1, size);
- state->out(tmp + 7 * size, 1, size);
+ if (state->strm->flags & AEC_DATA_PREPROCESS) {
+ for (tmp = state->ubuf;
+ tmp < state->ubuf + state->buf_len;
+ tmp += 8 * size) {
+ state->out(tmp, state->xmax - 1, size);
+ state->out(tmp + size, state->xmax - 1, size);
+ state->out(tmp + 2 * size, state->xmax - 1, size);
+ state->out(tmp + 3 * size, state->xmax - 1, size);
+ state->out(tmp + 4 * size, state->xmax, size);
+ state->out(tmp + 5 * size, state->xmax, size);
+ state->out(tmp + 6 * size, state->xmax, size);
+ state->out(tmp + 7 * size, state->xmax, size);
+ }
+ } else {
+ for (tmp = state->ubuf;
+ tmp < state->ubuf + state->buf_len;
+ tmp += 8 * size) {
+ state->out(tmp, 0, size);
+ state->out(tmp + size, 0, size);
+ state->out(tmp + 2 * size, 0, size);
+ state->out(tmp + 3 * size, 0, size);
+ state->out(tmp + 4 * size, 1, size);
+ state->out(tmp + 5 * size, 0, size);
+ state->out(tmp + 6 * size, 0, size);
+ state->out(tmp + 7 * size, 2, size);
+ }
}
printf("Checking Second Extension ... ");
{
int status;
- printf("----------------------------\n");
- printf("Checking LSB first, unsigned\n");
- printf("----------------------------\n");
+ printf("-----------------------------------\n");
+ printf("Checking no PP, LSB first, unsigned\n");
+ printf("-----------------------------------\n");
+ status = check_bps(state);
+ if (status)
+ return status;
+
+ printf("-----------------------------------\n");
+ printf("Checking PP, LSB first, unsigned\n");
+ printf("-----------------------------------\n");
+ state->strm->flags |= AEC_DATA_PREPROCESS;
status = check_bps(state);
if (status)
return status;
- printf("--------------------------\n");
- printf("Checking LSB first, signed\n");
- printf("--------------------------\n");
+ printf("-----------------------------------\n");
+ printf("Checking PP, LSB first, signed\n");
+ printf("-----------------------------------\n");
state->strm->flags |= AEC_DATA_SIGNED;
status = check_bps(state);
state->strm->flags &= ~AEC_DATA_SIGNED;
state->strm->flags |= AEC_DATA_MSB;
- printf("----------------------------\n");
- printf("Checking MSB first, unsigned\n");
- printf("----------------------------\n");
+ printf("-----------------------------------\n");
+ printf("Checking PP, MSB first, unsigned\n");
+ printf("-----------------------------------\n");
status = check_bps(state);
if (status)
return status;
- printf("--------------------------\n");
- printf("Checking MSB first, signed\n");
- printf("--------------------------\n");
+ printf("-----------------------------------\n");
+ printf("Checking PP, MSB first, signed\n");
+ printf("-----------------------------------\n");
state->strm->flags |= AEC_DATA_SIGNED;
status = check_bps(state);
return 99;
}
- strm.flags = AEC_DATA_PREPROCESS;
+ strm.flags = 0;
state.strm = &strm;
printf("***************************\n");