12 #ifndef __INC_BLOCKD_H 13 #define __INC_BLOCKD_H 15 void vpx_log(
const char *format, ...);
17 #include "vpx_config.h" 18 #include "vpx_scale/yv12config.h" 20 #include "treecoder.h" 21 #include "vpx_ports/mem.h" 24 #define DCPREDSIMTHRESH 0 25 #define DCPREDCNTTHRESH 3 27 #define MB_FEATURE_TREE_PROBS 3 28 #define MAX_MB_SEGMENTS 4 30 #define MAX_REF_LF_DELTAS 4 31 #define MAX_MODE_LF_DELTAS 4 34 #define SEGMENT_DELTADATA 0 35 #define SEGMENT_ABSDATA 1 42 #define PLANE_TYPE_Y_NO_DC 0 43 #define PLANE_TYPE_Y2 1 44 #define PLANE_TYPE_UV 2 45 #define PLANE_TYPE_Y_WITH_DC 3 48 typedef char ENTROPY_CONTEXT;
51 ENTROPY_CONTEXT y1[4];
57 extern const unsigned char vp8_block2left[25];
58 extern const unsigned char vp8_block2above[25];
60 #define VP8_COMBINEENTROPYCONTEXTS( Dest, A, B) \ 97 #define SEGMENT_ALTQ 0x01 98 #define SEGMENT_ALT_LF 0x02 100 #define VP8_YMODES (B_PRED + 1) 101 #define VP8_UV_MODES (TM_PRED + 1) 103 #define VP8_MVREFS (1 + SPLITMV - NEARESTMV) 129 #define VP8_BINTRAMODES (B_HU_PRED + 1) 130 #define VP8_SUBMVREFS (1 + NEW4X4 - LEFT4X4) 138 B_PREDICTION_MODE as_mode;
149 } MV_REFERENCE_FRAME;
153 uint8_t mode, uv_mode;
158 uint8_t partitioning;
159 uint8_t mb_skip_coeff;
160 uint8_t need_to_clamp_mvs;
170 #if CONFIG_MULTI_RES_ENCODING 174 MB_PREDICTION_MODE mode;
175 MV_REFERENCE_FRAME ref_frame;
186 unsigned char *predictor;
195 typedef void (*vp8_subpix_fn_t)(
unsigned char *src,
int src_pitch,
int xofst,
int yofst,
unsigned char *dst,
int dst_pitch);
199 DECLARE_ALIGNED(16,
unsigned char, predictor[384]);
200 DECLARE_ALIGNED(16,
short, qcoeff[400]);
201 DECLARE_ALIGNED(16,
short, dqcoeff[400]);
202 DECLARE_ALIGNED(16,
char, eobs[25]);
204 DECLARE_ALIGNED(16,
short, dequant_y1[16]);
205 DECLARE_ALIGNED(16,
short, dequant_y1_dc[16]);
206 DECLARE_ALIGNED(16,
short, dequant_y2[16]);
207 DECLARE_ALIGNED(16,
short, dequant_uv[16]);
217 int mode_info_stride;
219 #if CONFIG_TEMPORAL_DENOISING 220 MB_PREDICTION_MODE best_sse_inter_mode;
222 unsigned char need_to_clamp_best_mvs;
225 FRAME_TYPE frame_type;
230 unsigned char *recon_above[3];
231 unsigned char *recon_left[3];
232 int recon_left_stride[2];
239 unsigned char segmentation_enabled;
242 unsigned char update_mb_segmentation_map;
245 unsigned char update_mb_segmentation_data;
248 unsigned char mb_segement_abs_delta;
252 vp8_prob mb_segment_tree_probs[MB_FEATURE_TREE_PROBS];
254 signed char segment_feature_data[MB_LVL_MAX][MAX_MB_SEGMENTS];
257 unsigned char mode_ref_lf_delta_enabled;
258 unsigned char mode_ref_lf_delta_update;
261 signed char last_ref_lf_deltas[MAX_REF_LF_DELTAS];
262 signed char ref_lf_deltas[MAX_REF_LF_DELTAS];
263 signed char last_mode_lf_deltas[MAX_MODE_LF_DELTAS];
264 signed char mode_lf_deltas[MAX_MODE_LF_DELTAS];
268 int mb_to_right_edge;
270 int mb_to_bottom_edge;
274 vp8_subpix_fn_t subpixel_predict;
275 vp8_subpix_fn_t subpixel_predict8x4;
276 vp8_subpix_fn_t subpixel_predict8x8;
277 vp8_subpix_fn_t subpixel_predict16x16;
283 #if ARCH_X86 || ARCH_X86_64 288 DECLARE_ALIGNED(32,
unsigned char, y_buf[22*32]);
293 extern void vp8_build_block_doffsets(
MACROBLOCKD *x);
Definition: yv12config.h:40