mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-12 22:14:29 +02:00
Implement a cruncher for lossless at method 6.
Go over the whole compression step for each of the transforms and pick the best one. Change-Id: I3a1b1458348c468558be0fcf491038a5724c9364
This commit is contained in:
@ -246,6 +246,20 @@ void VP8LBitWriterWipeOut(VP8LBitWriter* const bw) {
|
||||
}
|
||||
}
|
||||
|
||||
void VP8LBitWriterReset(const VP8LBitWriter* const bw_init,
|
||||
VP8LBitWriter* const bw) {
|
||||
bw->bits_ = bw_init->bits_;
|
||||
bw->used_ = bw_init->used_;
|
||||
bw->cur_ = bw->buf_ + (bw_init->cur_ - bw_init->buf_);
|
||||
bw->error_ = bw_init->error_;
|
||||
}
|
||||
|
||||
void VP8LBitWriterSwap(VP8LBitWriter* const src, VP8LBitWriter* const dst) {
|
||||
const VP8LBitWriter tmp = *src;
|
||||
*src = *dst;
|
||||
*dst = tmp;
|
||||
}
|
||||
|
||||
void VP8LPutBitsFlushBits(VP8LBitWriter* const bw) {
|
||||
// If needed, make some room by flushing some bits out.
|
||||
if (bw->cur_ + VP8L_WRITER_BYTES > bw->end_) {
|
||||
|
@ -110,6 +110,11 @@ int VP8LBitWriterInit(VP8LBitWriter* const bw, size_t expected_size);
|
||||
uint8_t* VP8LBitWriterFinish(VP8LBitWriter* const bw);
|
||||
// Release any pending memory and zeroes the object.
|
||||
void VP8LBitWriterWipeOut(VP8LBitWriter* const bw);
|
||||
// Resets the cursor of the BitWriter bw to when it was like in bw_init.
|
||||
void VP8LBitWriterReset(const VP8LBitWriter* const bw_init,
|
||||
VP8LBitWriter* const bw);
|
||||
// Swaps the memory held by two BitWriters.
|
||||
void VP8LBitWriterSwap(VP8LBitWriter* const src, VP8LBitWriter* const dst);
|
||||
|
||||
// Internal function for VP8LPutBits flushing 32 bits from the written state.
|
||||
void VP8LPutBitsFlushBits(VP8LBitWriter* const bw);
|
||||
|
Reference in New Issue
Block a user