Home | History | Annotate | Download | only in encoder
      1 /*
      2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
      3  *
      4  *  Use of this source code is governed by a BSD-style license
      5  *  that can be found in the LICENSE file in the root of the source
      6  *  tree. An additional intellectual property rights grant can be found
      7  *  in the file PATENTS.  All contributing project authors may
      8  *  be found in the AUTHORS file in the root of the source tree.
      9  */
     10 
     11 #ifndef VP9_ENCODER_VP9_ENCODEMB_H_
     12 #define VP9_ENCODER_VP9_ENCODEMB_H_
     13 
     14 #include "./vpx_config.h"
     15 #include "vp9/encoder/vp9_block.h"
     16 
     17 #ifdef __cplusplus
     18 extern "C" {
     19 #endif
     20 
     21 struct encode_b_args {
     22   MACROBLOCK *x;
     23   int enable_coeff_opt;
     24   ENTROPY_CONTEXT *ta;
     25   ENTROPY_CONTEXT *tl;
     26   int8_t *skip;
     27 };
     28 int vp9_optimize_b(MACROBLOCK *mb, int plane, int block, TX_SIZE tx_size,
     29                    int ctx);
     30 void vp9_encode_sb(MACROBLOCK *x, BLOCK_SIZE bsize);
     31 void vp9_encode_sby_pass1(MACROBLOCK *x, BLOCK_SIZE bsize);
     32 void vp9_xform_quant_fp(MACROBLOCK *x, int plane, int block, int row, int col,
     33                         BLOCK_SIZE plane_bsize, TX_SIZE tx_size);
     34 void vp9_xform_quant_dc(MACROBLOCK *x, int plane, int block, int row, int col,
     35                         BLOCK_SIZE plane_bsize, TX_SIZE tx_size);
     36 void vp9_xform_quant(MACROBLOCK *x, int plane, int block, int row, int col,
     37                      BLOCK_SIZE plane_bsize, TX_SIZE tx_size);
     38 
     39 void vp9_subtract_plane(MACROBLOCK *x, BLOCK_SIZE bsize, int plane);
     40 
     41 void vp9_encode_block_intra(int plane, int block, int row, int col,
     42                             BLOCK_SIZE plane_bsize, TX_SIZE tx_size, void *arg);
     43 
     44 void vp9_encode_intra_block_plane(MACROBLOCK *x, BLOCK_SIZE bsize, int plane,
     45                                   int enable_optimize_b);
     46 
     47 #ifdef __cplusplus
     48 }  // extern "C"
     49 #endif
     50 
     51 #endif  // VP9_ENCODER_VP9_ENCODEMB_H_
     52