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
142ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#ifdef __cplusplus
152ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianextern "C" {
162ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#endif
172ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
182ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramaniantypedef struct {
192ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian  struct {
202ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian    int err;
212ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian    union {
222ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian      int_mv mv;
23ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh Venkatasubramanian      PREDICTION_MODE mode;
242ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian    } m;
252ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian  } ref[MAX_REF_FRAMES];
262ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian} MBGRAPH_MB_STATS;
272ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
282ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramaniantypedef struct {
292ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian  MBGRAPH_MB_STATS *mb_stats;
302ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian} MBGRAPH_FRAME_STATS;
312ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
322ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianstruct VP9_COMP;
332ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
342ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vp9_update_mbgraph_stats(struct VP9_COMP *cpi);
352ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
362ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#ifdef __cplusplus
372ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian}  // extern "C"
382ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#endif
3990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
40ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif  // VP9_ENCODER_VP9_MBGRAPH_H_
41