diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2018-04-12 14:25:27 +0200 |
---|---|---|
committer | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2018-04-12 21:22:06 +0000 |
commit | b83a0a9460432abb82218da247710a1aaf321336 (patch) | |
tree | 2bd4017481cc3644034d99f1649064434478c904 /src/3rdparty/libwebp/src/utils/bit_writer_utils.c | |
parent | 4e10f35483db6d3396fe54dcf3d895d7850f8335 (diff) |
Update the bundled libwebp to version 0.6.1v5.11.0-beta4
Upstream changes since 0.6.0 have been merged in.
Also updated version in qt_attribution.json.
Change-Id: I6f46bdfe2dd7288dbe61c4d7924309bb435e3928
Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src/3rdparty/libwebp/src/utils/bit_writer_utils.c')
-rw-r--r-- | src/3rdparty/libwebp/src/utils/bit_writer_utils.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/src/3rdparty/libwebp/src/utils/bit_writer_utils.c b/src/3rdparty/libwebp/src/utils/bit_writer_utils.c index ab0c49d..f4f476c 100644 --- a/src/3rdparty/libwebp/src/utils/bit_writer_utils.c +++ b/src/3rdparty/libwebp/src/utils/bit_writer_utils.c @@ -16,9 +16,9 @@ #include <string.h> // for memcpy() #include <stdlib.h> -#include "./bit_writer_utils.h" -#include "./endian_inl_utils.h" -#include "./utils.h" +#include "src/utils/bit_writer_utils.h" +#include "src/utils/endian_inl_utils.h" +#include "src/utils/utils.h" //------------------------------------------------------------------------------ // VP8BitWriter @@ -239,6 +239,18 @@ int VP8LBitWriterInit(VP8LBitWriter* const bw, size_t expected_size) { return VP8LBitWriterResize(bw, expected_size); } +int VP8LBitWriterClone(const VP8LBitWriter* const src, + VP8LBitWriter* const dst) { + const size_t current_size = src->cur_ - src->buf_; + assert(src->cur_ >= src->buf_ && src->cur_ <= src->end_); + if (!VP8LBitWriterResize(dst, current_size)) return 0; + memcpy(dst->buf_, src->buf_, current_size); + dst->bits_ = src->bits_; + dst->used_ = src->used_; + dst->error_ = src->error_; + return 1; +} + void VP8LBitWriterWipeOut(VP8LBitWriter* const bw) { if (bw != NULL) { WebPSafeFree(bw->buf_); @@ -246,6 +258,21 @@ 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_); + assert(bw->cur_ <= bw->end_); + 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_) { |