From 133c57c331f3b1806233fbd83db1f5f022b1490a Mon Sep 17 00:00:00 2001 From: Thomas Davies Date: Tue, 8 Nov 2016 14:31:55 +0000 Subject: [PATCH] Support overwriting an arbitrary number of literal bits. Overwriting was only guaranteed to work if a whole number of bytes were being overwritten. Change-Id: I5e72cb337ec6ff691e93288de9f751b583654a17 --- aom_dsp/bitwriter_buffer.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/aom_dsp/bitwriter_buffer.c b/aom_dsp/bitwriter_buffer.c index 9d6a0da64..993bcfafc 100644 --- a/aom_dsp/bitwriter_buffer.c +++ b/aom_dsp/bitwriter_buffer.c @@ -23,12 +23,8 @@ void aom_wb_write_bit(struct aom_write_bit_buffer *wb, int bit) { const int off = (int)wb->bit_offset; const int p = off / CHAR_BIT; const int q = CHAR_BIT - 1 - off % CHAR_BIT; - if (q == CHAR_BIT - 1) { - wb->bit_buffer[p] = bit << q; - } else { - wb->bit_buffer[p] &= ~(1 << q); - wb->bit_buffer[p] |= bit << q; - } + wb->bit_buffer[p] &= ~(1 << q); + wb->bit_buffer[p] |= bit << q; wb->bit_offset = off + 1; } -- GitLab