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#ifndef VP9_ENCODER_VP9_ENCODEMB_H_
126fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define VP9_ENCODER_VP9_ENCODEMB_H_
136fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
14d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org#include "./vpx_config.h"
156fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#include "vp9/encoder/vp9_block.h"
16693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.com#include "vp9/encoder/vp9_encoder.h"
173f0af3b06425f635f3559f0bd4f53efea95fa5e2johannkoenig@chromium.org#include "vp9/common/vp9_onyxc_int.h"
186fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
19dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
20dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgextern "C" {
21dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
22ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org
2353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_encode_sb(MACROBLOCK *x, BLOCK_SIZE bsize);
24411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.orgvoid vp9_encode_sby_pass1(MACROBLOCK *x, BLOCK_SIZE bsize);
2588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_xform_quant_fp(MACROBLOCK *x, int plane, int block,
2688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org                        BLOCK_SIZE plane_bsize, TX_SIZE tx_size);
27e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.orgvoid vp9_xform_quant_dc(MACROBLOCK *x, int plane, int block,
28e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org                        BLOCK_SIZE plane_bsize, TX_SIZE tx_size);
2976e516e2154f353aa02c504bac88afb0f95fefa7johannkoenig@chromium.orgvoid vp9_xform_quant(MACROBLOCK *x, int plane, int block,
3076e516e2154f353aa02c504bac88afb0f95fefa7johannkoenig@chromium.org                     BLOCK_SIZE plane_bsize, TX_SIZE tx_size);
3153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org
32411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.orgvoid vp9_subtract_plane(MACROBLOCK *x, BLOCK_SIZE bsize, int plane);
3353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org
3476e516e2154f353aa02c504bac88afb0f95fefa7johannkoenig@chromium.orgvoid vp9_encode_block_intra(MACROBLOCK *x, int plane, int block,
3576e516e2154f353aa02c504bac88afb0f95fefa7johannkoenig@chromium.org                            BLOCK_SIZE plane_bsize, TX_SIZE tx_size,
3641294d96d7dbf9bc215b09832a8336c5fb158f0bjohannkoenig@chromium.org                            int8_t *skip);
37d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org
3876e516e2154f353aa02c504bac88afb0f95fefa7johannkoenig@chromium.orgvoid vp9_encode_intra_block_plane(MACROBLOCK *x, BLOCK_SIZE bsize, int plane);
3953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org
40dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
41dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
42dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
43dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
44d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org#endif  // VP9_ENCODER_VP9_ENCODEMB_H_
45