Index: third_party/libwebp/dec/vp8i.h |
diff --git a/third_party/libwebp/dec/vp8i.h b/third_party/libwebp/dec/vp8i.h |
index 2cbdef22a820763068b5776e447e65d0d20f975a..4382edfd8e7a64cea17601e23b18abc73453d300 100644 |
--- a/third_party/libwebp/dec/vp8i.h |
+++ b/third_party/libwebp/dec/vp8i.h |
@@ -1,4 +1,4 @@ |
-// Copyright 2010 Google Inc. |
+// Copyright 2010 Google Inc. All Rights Reserved. |
// |
// This code is licensed under the same terms as WebM: |
// Software License Agreement: http://www.webmproject.org/license/software/ |
@@ -13,6 +13,7 @@ |
#define WEBP_DEC_VP8I_H_ |
#include <string.h> // for memcpy() |
+#include "./vp8li.h" |
#include "../utils/bit_reader.h" |
#include "../utils/thread.h" |
#include "../dsp/dsp.h" |
@@ -26,8 +27,8 @@ extern "C" { |
// version numbers |
#define DEC_MAJ_VERSION 0 |
-#define DEC_MIN_VERSION 1 |
-#define DEC_REV_VERSION 3 |
+#define DEC_MIN_VERSION 2 |
+#define DEC_REV_VERSION 0 |
#define ONLY_KEYFRAME_CODE // to remove any code related to P-Frames |
@@ -162,8 +163,9 @@ typedef struct { // used for syntax-parsing |
} VP8MB; |
// Dequantization matrices |
+typedef int quant_t[2]; // [DC / AC]. Can be 'uint16_t[2]' too (~slower). |
typedef struct { |
- uint16_t y1_mat_[2], y2_mat_[2], uv_mat_[2]; // [DC / AC] |
+ quant_t y1_mat_, y2_mat_, uv_mat_; |
} VP8QuantMatrix; |
// Persistent information needed by the parallel processing |
@@ -250,7 +252,7 @@ struct VP8Decoder { |
// main memory chunk for the above data. Persistent. |
void* mem_; |
- int mem_size_; |
+ size_t mem_size_; |
// Per macroblock non-persistent infos. |
int mb_x_, mb_y_; // current position, in macroblock units |
@@ -274,7 +276,7 @@ struct VP8Decoder { |
// extensions |
const uint8_t* alpha_data_; // compressed alpha data (if present) |
size_t alpha_data_size_; |
- uint8_t* alpha_plane_; // output |
+ uint8_t* alpha_plane_; // output. Persistent, contains the whole data. |
int layer_colorspace_; |
const uint8_t* layer_data_; // compressed layer data (if present) |
@@ -286,15 +288,7 @@ struct VP8Decoder { |
// in vp8.c |
int VP8SetError(VP8Decoder* const dec, |
- VP8StatusCode error, const char * const msg); |
- |
-// Validates the VP8 data-header and retrieve basic header information viz width |
-// and height. Returns 0 in case of formatting error. *width/*height/*has_alpha |
-// can be passed NULL. |
-int VP8GetInfo(const uint8_t* data, |
- uint32_t data_size, // data available so far |
- uint32_t chunk_size, // total data size expect in the chunk |
- int *width, int *height, int *has_alpha); |
+ VP8StatusCode error, const char* const msg); |
// in tree.c |
void VP8ResetProba(VP8Proba* const proba); |
@@ -316,14 +310,10 @@ 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); |
-// Filter the decoded macroblock row (if needed) |
-int VP8FinishRow(VP8Decoder* const dec, VP8Io* io); // multi threaded call |
// Process the last decoded row (filtering + output) |
int VP8ProcessRow(VP8Decoder* const dec, VP8Io* const io); |
// Store a block, along with filtering params |
void VP8StoreBlock(VP8Decoder* const dec); |
-// Finalize and transmit a complete row. Return false in case of user-abort. |
-int VP8FinishRow(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. |