190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber/* 2f71323e297a928af368937089d3ed71239786f86Andreas Huber * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber * 4f71323e297a928af368937089d3ed71239786f86Andreas Huber * Use of this source code is governed by a BSD-style license 5f71323e297a928af368937089d3ed71239786f86Andreas Huber * that can be found in the LICENSE file in the root of the source 6f71323e297a928af368937089d3ed71239786f86Andreas Huber * tree. An additional intellectual property rights grant can be found 7f71323e297a928af368937089d3ed71239786f86Andreas Huber * in the file PATENTS. All contributing project authors may 8f71323e297a928af368937089d3ed71239786f86Andreas Huber * be found in the AUTHORS file in the root of the source tree. 990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber */ 1090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 11ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifndef VP9_COMMON_VP9_TILE_COMMON_H_ 12ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define VP9_COMMON_VP9_TILE_COMMON_H_ 1390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 14b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus 15b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianextern "C" { 16b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif 17b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 185ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuangstruct VP9Common; 1990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 205ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuangtypedef struct TileInfo { 215ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang int mi_row_start, mi_row_end; 225ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang int mi_col_start, mi_col_end; 235ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang} TileInfo; 2490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 25b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian// initializes 'tile->mi_(row|col)_(start|end)' for (row, col) based on 265ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang// 'cm->log2_tile_(rows|cols)' & 'cm->mi_(rows|cols)' 275ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuangvoid vp9_tile_init(TileInfo *tile, const struct VP9Common *cm, 28b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian int row, int col); 2990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 3091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_get_tile_n_bits(int mi_cols, 3191037db265ecdd914a26e056cf69207b4f50924ehkuang int *min_log2_tile_cols, int *max_log2_tile_cols); 3290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber 33b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus 34b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} // extern "C" 35b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif 36b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 37ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif // VP9_COMMON_VP9_TILE_COMMON_H_ 38