11 int main(int argc, char *argv[])
14 int c, i, n, status, todo;
19 in = (uint8_t *)malloc(ALL_IN);
20 out = (uint32_t *)malloc(CHUNK_OUT * sizeof(uint32_t));
21 if (in == NULL || out == NULL)
25 while ((c = getc(stdin)) != EOF)
32 strm.bit_per_sample = 8;
34 strm.segment_size = 2;
37 if (ae_decode_init(&strm) != AE_OK)
41 strm.avail_in = CHUNK_IN;
43 strm.avail_out = CHUNK_OUT;
50 if ((status = ae_decode(&strm, 0)) != AE_OK)
52 fprintf(stderr, "error is %i\n", status);
55 fprintf(stderr, "avail in %li total in %li avail out %li total out %lx\n", strm.avail_in, strm.total_in, strm.avail_out, strm.total_out);
57 if (strm.avail_in == 0 && strm.total_in < ALL_IN)
62 if (ALL_IN - strm.total_in < CHUNK_IN)
63 strm.avail_in = ALL_IN - strm.total_in;
65 strm.avail_in = CHUNK_IN;
69 if (strm.total_out - total_out > 0)
71 for (i=0; i < strm.total_out - total_out; i++)
75 total_out = strm.total_out;
77 strm.avail_out = CHUNK_OUT;