chromium/third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h

/*
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

#ifndef VPX_VP9_COMMON_VP9_ENUMS_H_
#define VPX_VP9_COMMON_VP9_ENUMS_H_

#include "./vpx_config.h"
#include "vpx/vpx_integer.h"

#ifdef __cplusplus
extern "C" {
#endif

#define MI_SIZE_LOG2
#define MI_BLOCK_SIZE_LOG2

#define MI_SIZE
#define MI_BLOCK_SIZE

#define MI_MASK

// Bitstream profiles indicated by 2-3 bits in the uncompressed header.
// 00: Profile 0.  8-bit 4:2:0 only.
// 10: Profile 1.  8-bit 4:4:4, 4:2:2, and 4:4:0.
// 01: Profile 2.  10-bit and 12-bit color only, with 4:2:0 sampling.
// 110: Profile 3. 10-bit and 12-bit color only, with 4:2:2/4:4:4/4:4:0
//                 sampling.
// 111: Undefined profile.
BITSTREAM_PROFILE;

PARSE_RECON_FLAG;

#define BLOCK_4X4
#define BLOCK_4X8
#define BLOCK_8X4
#define BLOCK_8X8
#define BLOCK_8X16
#define BLOCK_16X8
#define BLOCK_16X16
#define BLOCK_16X32
#define BLOCK_32X16
#define BLOCK_32X32
#define BLOCK_32X64
#define BLOCK_64X32
#define BLOCK_64X64
#define BLOCK_SIZES
#define BLOCK_INVALID
BLOCK_SIZE;

PARTITION_TYPE;

PARTITION_CONTEXT;
#define PARTITION_PLOFFSET
#define PARTITION_CONTEXTS

// block transform size
TX_SIZE;
#define TX_4X4
#define TX_8X8
#define TX_16X16
#define TX_32X32
#define TX_SIZES

// frame transform mode
TX_MODE;

TX_TYPE;

VP9_REFFRAME;

PLANE_TYPE;

#define DC_PRED
#define V_PRED
#define H_PRED
#define D45_PRED
#define D135_PRED
#define D117_PRED
#define D153_PRED
#define D207_PRED
#define D63_PRED
#define TM_PRED
#define NEARESTMV
#define NEARMV
#define ZEROMV
#define NEWMV
#define MB_MODE_COUNT
PREDICTION_MODE;

#define INTRA_MODES

#define INTER_MODES

#define SKIP_CONTEXTS
#define INTER_MODE_CONTEXTS

/* Segment Feature Masks */
#define MAX_MV_REF_CANDIDATES

#define INTRA_INTER_CONTEXTS
#define COMP_INTER_CONTEXTS
#define REF_CONTEXTS

#ifdef __cplusplus
}  // extern "C"
#endif

#endif  // VPX_VP9_COMMON_VP9_ENUMS_H_