mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-14 21:09:55 +02:00
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:
committed by
James Zern
parent
f2623dbe58
commit
6f01b830e2
@ -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) {
|
||||
|
@ -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.
|
||||
|
Reference in New Issue
Block a user