diff options
Diffstat (limited to 'third_party/aom/av1/decoder/decoder.h')
-rw-r--r-- | third_party/aom/av1/decoder/decoder.h | 30 |
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 |