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
This commit is contained in:
Родитель
86251126a3
Коммит
2f905d26cb
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче