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
12d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org#ifndef VP9_DECODER_VP9_DECODEFRAME_H_
13d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org#define VP9_DECODER_VP9_DECODEFRAME_H_
146fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
15dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
16dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgextern "C" {
17dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
18dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
1910a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.orgstruct VP9Common;
2093a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.orgstruct VP9Decoder;
2195aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.comstruct vp9_read_bit_buffer;
226fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
23f9586bb54d74c97d07b09eb2512f8569c9c1c025fgalligan@chromium.orgvoid vp9_init_dequantizer(struct VP9Common *cm);
2493a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org
2588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_decode_frame(struct VP9Decoder *pbi,
2688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org                      const uint8_t *data, const uint8_t *data_end,
2788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org                      const uint8_t **p_data_end);
286fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
2995aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.comint vp9_read_sync_code(struct vp9_read_bit_buffer *const rb);
3095aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.comvoid vp9_read_frame_size(struct vp9_read_bit_buffer *rb,
3195aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com                         int *width, int *height);
32ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.orgBITSTREAM_PROFILE vp9_read_profile(struct vp9_read_bit_buffer *rb);
3395aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com
34dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
35dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
36dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
37dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
38d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org#endif  // VP9_DECODER_VP9_DECODEFRAME_H_
39