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