16fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org/*
26fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
36fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org *
46fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org *  Use of this source code is governed by a BSD-style license
56fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org *  that can be found in the LICENSE file in the root of the source
66fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org *  tree. An additional intellectual property rights grant can be found
76fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org *  in the file PATENTS.  All contributing project authors may
86fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org *  be found in the AUTHORS file in the root of the source tree.
96fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org */
106fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
116fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
126fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#ifndef VP9_COMMON_VP9_ALLOCCOMMON_H_
136fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define VP9_COMMON_VP9_ALLOCCOMMON_H_
146fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
15dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
16dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgextern "C" {
17dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
18dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
1993a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.orgstruct VP9Common;
2093a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org
2193a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.orgvoid vp9_remove_common(struct VP9Common *cm);
2210a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org
23e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.orgint vp9_alloc_context_buffers(struct VP9Common *cm, int width, int height);
24ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.orgvoid vp9_init_context_buffers(struct VP9Common *cm);
25e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.orgvoid vp9_free_context_buffers(struct VP9Common *cm);
266fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
27ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.orgint vp9_alloc_ref_frame_buffers(struct VP9Common *cm, int width, int height);
28ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.orgvoid vp9_free_ref_frame_buffers(struct VP9Common *cm);
29ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.org
30ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.orgint vp9_alloc_state_buffers(struct VP9Common *cm, int width, int height);
31ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.orgvoid vp9_free_state_buffers(struct VP9Common *cm);
3210a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org
33ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.orgvoid vp9_set_mb_mi(struct VP9Common *cm, int width, int height);
3493a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.orgvoid vp9_swap_mi_and_prev_mi(struct VP9Common *cm);
356fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
36dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
37dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
38dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
39dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
40d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org#endif  // VP9_COMMON_VP9_ALLOCCOMMON_H_
41