split the VP8 and VP8L decoding properly

* each with their own decoder instances.
* Refactor the incremental buffer-update code a lot.
* remove br_offset_ for VP8LDecoder along the way
* make VP8GetHeaders() be used only for VP8, not VP8L bitstream
* remove VP8LInitDecoder()
* rename VP8LBitReaderResize() to VP8LBitReaderSetBuffer()
(cherry picked from commit 5529a2e6d47212a721ca4ab003215f97bd88ebb4)

Change-Id: I58f0b8abe1ef31c8b0e1a6175d2d86b863793ead
This commit is contained in:
Pascal Massimino
2012-04-05 09:31:10 +00:00
committed by James Zern
parent f2623dbe58
commit 6f01b830e2
8 changed files with 222 additions and 243 deletions

View File

@ -122,12 +122,11 @@ void VP8LInitBitReader(BitReader* const br,
}
}
void VP8LBitReaderResize(BitReader* const br,
const uint8_t* const new_start,
size_t new_length) {
if (new_length > br->len_) br->eos_ = 0;
br->buf_ = new_start;
br->len_ = new_length;
void VP8LBitReaderSetBuffer(BitReader* const br,
const uint8_t* const buf, size_t len) {
br->eos_ = (br->pos_ >= len);
br->buf_ = buf;
br->len_ = len;
}
static void ShiftBytes(BitReader* const br) {

View File

@ -168,10 +168,9 @@ void VP8LInitBitReader(BitReader* const br,
const uint8_t* const start,
size_t length);
// Resizes the BitReader corresponding to resized read buffer.
void VP8LBitReaderResize(BitReader* const br,
const uint8_t* const new_start,
size_t new_length);
// Sets a new data buffer.
void VP8LBitReaderSetBuffer(BitReader* const br,
const uint8_t* const buffer, size_t length);
// Reads the specified number of bits from Read Buffer.
// Flags an error in case end_of_stream or n_bits is more than allowed limit.