diff options
Diffstat (limited to 'third_party/aom/av1/common/tile_common.h')
-rw-r--r-- | third_party/aom/av1/common/tile_common.h | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/third_party/aom/av1/common/tile_common.h b/third_party/aom/av1/common/tile_common.h index be21e1482..be037fb17 100644 --- a/third_party/aom/av1/common/tile_common.h +++ b/third_party/aom/av1/common/tile_common.h @@ -16,7 +16,7 @@ extern "C" { #endif -#include "./aom_config.h" +#include "config/aom_config.h" struct AV1Common; @@ -26,6 +26,8 @@ typedef struct TileInfo { int mi_row_start, mi_row_end; int mi_col_start, mi_col_end; int tg_horz_boundary; + int tile_row; + int tile_col; } TileInfo; // initializes 'tile->mi_(row|col)_(start|end)' for (row, col) based on @@ -35,39 +37,30 @@ void av1_tile_init(TileInfo *tile, const struct AV1Common *cm, int row, void av1_tile_set_row(TileInfo *tile, const struct AV1Common *cm, int row); void av1_tile_set_col(TileInfo *tile, const struct AV1Common *cm, int col); -#if CONFIG_DEPENDENT_HORZTILES -void av1_tile_set_tg_boundary(TileInfo *tile, const struct AV1Common *const cm, - int row, int col); -#endif void av1_get_tile_n_bits(int mi_cols, int *min_log2_tile_cols, int *max_log2_tile_cols); -void av1_setup_frame_boundary_info(const struct AV1Common *const cm); - // Calculate the correct tile size (width or height) for (1 << log2_tile_num) // tiles horizontally or vertically in the frame. int get_tile_size(int mi_frame_size, int log2_tile_num, int *ntiles); -#if CONFIG_LOOPFILTERING_ACROSS_TILES -void av1_setup_across_tile_boundary_info(const struct AV1Common *const cm, - const TileInfo *const tile_info); -int av1_disable_loopfilter_on_tile_boundary(const struct AV1Common *cm); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES +typedef struct { + int left, top, right, bottom; +} AV1PixelRect; -#if CONFIG_MAX_TILE +// Return the pixel extents of the given tile +AV1PixelRect av1_get_tile_rect(const TileInfo *tile_info, + const struct AV1Common *cm, int is_uv); // Define tile maximum width and area // There is no maximum height since height is limited by area and width limits // The minimum tile width or height is fixed at one superblock -#define MAX_TILE_WIDTH (4096) // Max Tile width in pixels -#define MAX_TILE_WIDTH_SB (MAX_TILE_WIDTH >> MAX_SB_SIZE_LOG2) +#define MAX_TILE_WIDTH (4096) // Max Tile width in pixels #define MAX_TILE_AREA (4096 * 2304) // Maximum tile area in pixels -#define MAX_TILE_AREA_SB (MAX_TILE_AREA >> (2 * MAX_SB_SIZE_LOG2)) void av1_get_tile_limits(struct AV1Common *const cm); void av1_calculate_tile_cols(struct AV1Common *const cm); void av1_calculate_tile_rows(struct AV1Common *const cm); -#endif #ifdef __cplusplus } // extern "C" |