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_ENCODER_VP9_MBGRAPH_H_
12ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define VP9_ENCODER_VP9_MBGRAPH_H_
1390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
14b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus
15b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianextern "C" {
16b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif
17b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
18b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramaniantypedef struct {
19b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian  struct {
20b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian    int err;
21b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian    union {
22b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian      int_mv mv;
23b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian      MB_PREDICTION_MODE mode;
24b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian    } m;
25b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian  } ref[MAX_REF_FRAMES];
26b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} MBGRAPH_MB_STATS;
27b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
28b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramaniantypedef struct {
29b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian  MBGRAPH_MB_STATS *mb_stats;
30b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} MBGRAPH_FRAME_STATS;
31b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
32b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianstruct VP9_COMP;
33b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
34b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp9_update_mbgraph_stats(struct VP9_COMP *cpi);
35b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
36b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus
37b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian}  // extern "C"
38b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif
3990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
40ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif  // VP9_ENCODER_VP9_MBGRAPH_H_
41