aboutsummaryrefslogtreecommitdiff
path: root/src/dec/vp8i_dec.h
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2024-04-16 16:40:05 -0700
committerJames Zern <jzern@google.com>2024-04-16 17:58:18 -0700
commit73a462f0b82e964083db4476815bdcd038c4f438 (patch)
tree239d2f68cfcf74ebf79dddeb0422deb1fa904764 /src/dec/vp8i_dec.h
parentcf27b831f5fa9121a3b7e03c1ca6fdffaf074482 (diff)
parent845d5476a866141ba35ac133f856fa62f0b7445f (diff)
downloadwebp-73a462f0b82e964083db4476815bdcd038c4f438.tar.gz
Upgrade webp to v1.4.0
This project was upgraded with external_updater. Usage: tools/external_updater/updater.sh update external/webp For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md https://chromium.googlesource.com/webm/libwebp/+log/v1.3.2..v1.4.0 - 4/12/2024: version 1.4.0 This is a binary compatible release. * API changes: - libwebpmux: WebPAnimEncoderSetChunk, WebPAnimEncoderGetChunk, WebPAnimEncoderDeleteChunk - libsharpyuv: SharpYuvOptionsInit, SharpYuvConvertWithOptions - extras: SharpYuvEstimate420Risk * further security related hardening in libwebp & examples * some minor optimizations in the lossless encoder * added WEBP_NODISCARD to report unused result warnings; enable with -DWEBP_ENABLE_NODISCARD=1 * improvements and corrections in webp-container-spec.txt and webp-lossless-bitstream-spec.txt (#611) * miscellaneous warning, bug & build fixes (#615, #619, #632, #635) Bug: 325472236, webp:627 Test: TreeHugger Change-Id: Ic23341fff0a036b3e08af67f203a8b1c673a7fc5
Diffstat (limited to 'src/dec/vp8i_dec.h')
-rw-r--r--src/dec/vp8i_dec.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/dec/vp8i_dec.h b/src/dec/vp8i_dec.h
index 7929fd75..cb21d475 100644
--- a/src/dec/vp8i_dec.h
+++ b/src/dec/vp8i_dec.h
@@ -21,6 +21,7 @@
#include "src/utils/random_utils.h"
#include "src/utils/thread_utils.h"
#include "src/dsp/dsp.h"
+#include "src/webp/types.h"
#ifdef __cplusplus
extern "C" {
@@ -31,8 +32,8 @@ extern "C" {
// version numbers
#define DEC_MAJ_VERSION 1
-#define DEC_MIN_VERSION 3
-#define DEC_REV_VERSION 2
+#define DEC_MIN_VERSION 4
+#define DEC_REV_VERSION 0
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
// Constraints are: We need to store one 16x16 block of luma samples (y),
@@ -186,6 +187,7 @@ struct VP8Decoder {
// Main data source
VP8BitReader br_;
+ int incremental_; // if true, incremental decoding is expected
// headers
VP8FrameHeader frm_hdr_;
@@ -281,7 +283,7 @@ int VP8ParseIntraModeRow(VP8BitReader* const br, VP8Decoder* const dec);
void VP8ParseQuant(VP8Decoder* const dec);
// in frame.c
-int VP8InitFrame(VP8Decoder* const dec, VP8Io* const io);
+WEBP_NODISCARD int VP8InitFrame(VP8Decoder* const dec, VP8Io* const io);
// Call io->setup() and finish setting up scan parameters.
// After this call returns, one must always call VP8ExitCritical() with the
// same parameters. Both functions should be used in pair. Returns VP8_STATUS_OK
@@ -289,7 +291,7 @@ int VP8InitFrame(VP8Decoder* const dec, VP8Io* const io);
VP8StatusCode VP8EnterCritical(VP8Decoder* const dec, VP8Io* const io);
// Must always be called in pair with VP8EnterCritical().
// Returns false in case of error.
-int VP8ExitCritical(VP8Decoder* const dec, VP8Io* const io);
+WEBP_NODISCARD int VP8ExitCritical(VP8Decoder* const dec, VP8Io* const io);
// Return the multi-threading method to use (0=off), depending
// on options and bitstream size. Only for lossy decoding.
int VP8GetThreadMethod(const WebPDecoderOptions* const options,
@@ -299,11 +301,12 @@ int VP8GetThreadMethod(const WebPDecoderOptions* const options,
void VP8InitDithering(const WebPDecoderOptions* const options,
VP8Decoder* const dec);
// Process the last decoded row (filtering + output).
-int VP8ProcessRow(VP8Decoder* const dec, VP8Io* const io);
+WEBP_NODISCARD int VP8ProcessRow(VP8Decoder* const dec, VP8Io* const io);
// To be called at the start of a new scanline, to initialize predictors.
void VP8InitScanline(VP8Decoder* const dec);
// Decode one macroblock. Returns false if there is not enough data.
-int VP8DecodeMB(VP8Decoder* const dec, VP8BitReader* const token_br);
+WEBP_NODISCARD int VP8DecodeMB(VP8Decoder* const dec,
+ VP8BitReader* const token_br);
// in alpha.c
const uint8_t* VP8DecompressAlphaRows(VP8Decoder* const dec,