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