Commit 2f905d26 authored by Fergus Simpson's avatar Fergus Simpson

bitstream-debug: Merge queue_pop and queue_push

The bitstream_queue_pop and bitstream_queue_push functions were
implemented twice each, one implementation for CONFIG_DAALA_EC being set
and for it not being set. This could cause issues with debugging since
there's two potential paths, meaning breakpoints and edits need to be
inserted twice.

The functions were already minimally different, so this patch merges the
implementation pairs to simplify the code.

Change-Id: I37cdd96470f0ae41b25dc28da50e2c7a1b9af01e
parent 86251126
......@@ -53,49 +53,42 @@ int bitstream_queue_get_write(void) { return queue_w; }
int bitstream_queue_get_read(void) { return queue_r; }
void bitstream_queue_pop(int *result,
#if CONFIG_DAALA_EC
void bitstream_queue_pop(int *result, aom_cdf_prob *cdf, int *nsymbs) {
aom_cdf_prob *cdf, int *nsymbs) {
#else
int *prob) {
#endif // CONFIG_DAALA_EC
if (!skip_r) {
if (queue_w == queue_r) {
printf("buffer underflow queue_w %d queue_r %d\n", queue_w, queue_r);
assert(0);
}
*result = result_queue[queue_r];
#if CONFIG_DAALA_EC
*nsymbs = nsymbs_queue[queue_r];
memcpy(cdf, cdf_queue[queue_r], *nsymbs * sizeof(*cdf));
#else
*prob = prob_queue[queue_r];
#endif // CONFIG_DAALA_EC
queue_r = (queue_r + 1) % QUEUE_MAX_SIZE;
}
}
void bitstream_queue_push(int result, const aom_cdf_prob *cdf, int nsymbs) {
void bitstream_queue_push(int result,
#if CONFIG_DAALA_EC
const aom_cdf_prob *cdf, int nsymbs) {
#else
int prob) {
#endif // CONFIG_DAALA_EC
if (!skip_w) {
result_queue[queue_w] = result;
#if CONFIG_DAALA_EC
nsymbs_queue[queue_w] = nsymbs;
memcpy(cdf_queue[queue_w], cdf, nsymbs * sizeof(*cdf));
queue_w = (queue_w + 1) % QUEUE_MAX_SIZE;
if (queue_w == queue_r) {
printf("buffer overflow queue_w %d queue_r %d\n", queue_w, queue_r);
assert(0);
}
}
}
#else
void bitstream_queue_pop(int *result, int *prob) {
if (!skip_r) {
if (queue_w == queue_r) {
printf("buffer underflow queue_w %d queue_r %d\n", queue_w, queue_r);
assert(0);
}
*result = result_queue[queue_r];
*prob = prob_queue[queue_r];
queue_r = (queue_r + 1) % QUEUE_MAX_SIZE;
}
}
void bitstream_queue_push(int result, int prob) {
if (!skip_w) {
result_queue[queue_w] = result;
prob_queue[queue_w] = prob;
#endif // CONFIG_DAALA_EC
queue_w = (queue_w + 1) % QUEUE_MAX_SIZE;
if (queue_w == queue_r) {
printf("buffer overflow queue_w %d queue_r %d\n", queue_w, queue_r);
......@@ -103,4 +96,3 @@ void bitstream_queue_push(int result, int prob) {
}
}
}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment