chromium/third_party/libvpx/source/libvpx/vp8/common/blockd.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_VP8_COMMON_BLOCKD_H_
#define VPX_VP8_COMMON_BLOCKD_H_

void vpx_log(const char *format, ...);

#include "vpx/internal/vpx_codec_internal.h"
#include "vpx_config.h"
#include "vpx_scale/yv12config.h"
#include "mv.h"
#include "treecoder.h"
#include "vpx_ports/mem.h"

#ifdef __cplusplus
extern "C" {
#endif

/*#define DCPRED 1*/
#define DCPREDSIMTHRESH
#define DCPREDCNTTHRESH

#define MB_FEATURE_TREE_PROBS
#define MAX_MB_SEGMENTS

#define MAX_REF_LF_DELTAS
#define MAX_MODE_LF_DELTAS

/* Segment Feature Masks */
#define SEGMENT_DELTADATA
#define SEGMENT_ABSDATA

POS;

#define PLANE_TYPE_Y_NO_DC
#define PLANE_TYPE_Y2
#define PLANE_TYPE_UV
#define PLANE_TYPE_Y_WITH_DC

ENTROPY_CONTEXT;
ENTROPY_CONTEXT_PLANES;

extern const unsigned char vp8_block2left[25];
extern const unsigned char vp8_block2above[25];

#define VP8_COMBINEENTROPYCONTEXTS(Dest, A, B)

FRAME_TYPE;

MB_PREDICTION_MODE;

/* Macroblock level features */
MB_LVL_FEATURES;

/* Segment Feature Masks */
#define SEGMENT_ALTQ
#define SEGMENT_ALT_LF

#define VP8_YMODES
#define VP8_UV_MODES

#define VP8_MVREFS

B_PREDICTION_MODE;

#define VP8_BINTRAMODES
#define VP8_SUBMVREFS

/* For keyframes, intra block modes are predicted by the (already decoded)
   modes for the Y blocks to the left and above us; for interframes, there
   is a single probability table. */

b_mode_info;

MV_REFERENCE_FRAME;

MB_MODE_INFO;

MODE_INFO;

#if CONFIG_MULTI_RES_ENCODING
/* The mb-level information needed to be stored for higher-resolution encoder */
LOWER_RES_MB_INFO;

/* The frame-level information needed to be stored for higher-resolution
 *  encoder */
LOWER_RES_FRAME_INFO;
#endif

BLOCKD;

vp8_subpix_fn_t;

MACROBLOCKD;

extern void vp8_build_block_doffsets(MACROBLOCKD *x);
extern void vp8_setup_block_dptrs(MACROBLOCKD *x);

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

#endif  // VPX_VP8_COMMON_BLOCKD_H_