summaryrefslogtreecommitdiffstats
path: root/third_party/aom/av1/decoder/decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/aom/av1/decoder/decoder.h')
-rw-r--r--third_party/aom/av1/decoder/decoder.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/third_party/aom/av1/decoder/decoder.h b/third_party/aom/av1/decoder/decoder.h
index 139fde1c0..5e6afc2dc 100644
--- a/third_party/aom/av1/decoder/decoder.h
+++ b/third_party/aom/av1/decoder/decoder.h
@@ -53,9 +53,7 @@ typedef struct TileData {
#if CONFIG_CFL
CFL_CTX cfl;
#endif
-#if CONFIG_EC_ADAPT
DECLARE_ALIGNED(16, FRAME_CONTEXT, tctx);
-#endif
#if CONFIG_PALETTE
DECLARE_ALIGNED(16, uint8_t, color_index_map[2][MAX_SB_SQUARE]);
#endif // CONFIG_PALETTE
@@ -75,9 +73,7 @@ typedef struct TileWorkerData {
#if CONFIG_CFL
CFL_CTX cfl;
#endif
-#if CONFIG_EC_ADAPT
FRAME_CONTEXT tctx;
-#endif
#if CONFIG_PALETTE
DECLARE_ALIGNED(16, uint8_t, color_index_map[2][MAX_SB_SQUARE]);
#endif // CONFIG_PALETTE
@@ -122,6 +118,7 @@ typedef struct AV1Decoder {
aom_decrypt_cb decrypt_cb;
void *decrypt_state;
+ int allow_lowbitdepth;
int max_threads;
int inv_tile_order;
int need_resync; // wait for key/intra-only frame.
@@ -130,19 +127,17 @@ typedef struct AV1Decoder {
int tile_size_bytes;
#if CONFIG_EXT_TILE
int tile_col_size_bytes;
- int dec_tile_row, dec_tile_col;
-#endif // CONFIG_EXT_TILE
+ int dec_tile_row, dec_tile_col; // always -1 for non-VR tile encoding
+#endif // CONFIG_EXT_TILE
#if CONFIG_ACCOUNTING
int acct_enabled;
Accounting accounting;
#endif
size_t uncomp_hdr_size; // Size of the uncompressed header
size_t first_partition_size; // Size of the compressed header
-#if CONFIG_TILE_GROUPS
- int tg_size; // Number of tiles in the current tilegroup
- int tg_start; // First tile in the current tilegroup
+ int tg_size; // Number of tiles in the current tilegroup
+ int tg_start; // First tile in the current tilegroup
int tg_size_bit_offset;
-#endif
#if CONFIG_REFERENCE_BUFFER
SequenceHeader seq_params;
#endif
@@ -181,6 +176,7 @@ static INLINE uint8_t read_marker(aom_decrypt_cb decrypt_cb,
// "read_marker".
aom_codec_err_t av1_parse_superframe_index(const uint8_t *data, size_t data_sz,
uint32_t sizes[8], int *count,
+ int *index_size,
aom_decrypt_cb decrypt_cb,
void *decrypt_state);
@@ -217,6 +213,20 @@ static INLINE int dec_is_ref_frame_buf(AV1Decoder *const pbi,
}
#endif // CONFIG_EXT_REFS
+#if CONFIG_EXT_INTRA || CONFIG_FILTER_INTRA || CONFIG_PALETTE
+#define ACCT_STR __func__
+static INLINE int av1_read_uniform(aom_reader *r, int n) {
+ const int l = get_unsigned_bits(n);
+ const int m = (1 << l) - n;
+ const int v = aom_read_literal(r, l - 1, ACCT_STR);
+ assert(l != 0);
+ if (v < m)
+ return v;
+ else
+ return (v << 1) - m + aom_read_literal(r, 1, ACCT_STR);
+}
+#endif // CONFIG_EXT_INTRA || CONFIG_FILTER_INTRA || CONFIG_PALETTE
+
#ifdef __cplusplus
} // extern "C"
#endif