diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c index f46b6d578..1e2c3138f 100644 --- a/vp8/decoder/onyxd_if.c +++ b/vp8/decoder/onyxd_if.c @@ -528,7 +528,6 @@ int vp8dx_receive_compressed_data(VP8D_PTR ptr, unsigned long size, const unsign vp8_recon_write_yuv_frame("recon.yuv", cm->frame_to_show); #endif - vp8_clear_system_state(); #if CONFIG_ERROR_CONCEALMENT diff --git a/vp8/decoder/onyxd_int.h b/vp8/decoder/onyxd_int.h index 01607df1d..c31623dfa 100644 --- a/vp8/decoder/onyxd_int.h +++ b/vp8/decoder/onyxd_int.h @@ -97,8 +97,9 @@ typedef struct VP8Decompressor const unsigned char *partitions[MAX_PARTITIONS]; unsigned int partition_sizes[MAX_PARTITIONS]; unsigned int num_partitions; - +#if CONFIG_SEGMENTATION unsigned char *segmentation_map; +#endif #if CONFIG_MULTITHREAD /* variable for threading */ diff --git a/vp8/encoder/bitstream.c b/vp8/encoder/bitstream.c index 3541269c5..f915b6963 100644 --- a/vp8/encoder/bitstream.c +++ b/vp8/encoder/bitstream.c @@ -870,8 +870,10 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi) VP8_COMMON *const pc = & cpi->common; vp8_writer *const w = & cpi->bc; const MV_CONTEXT *mvc = pc->fc.mvc; - MACROBLOCKD *xd = &cpi->mb.e_mbd; #if CONFIG_SEGMENTATION + MACROBLOCKD *xd = &cpi->mb.e_mbd; + int left_id, above_id; + int i; int sum; int index = 0; #endif @@ -952,8 +954,10 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi) xd->mb_to_right_edge = ((pc->mb_cols - 1 - mb_col) * 16) << 3; xd->mb_to_top_edge = -((mb_row * 16)) << 3; xd->mb_to_bottom_edge = ((pc->mb_rows - 1 - mb_row) * 16) << 3; +#if CONFIG_SEGMENTATION xd->up_available = (mb_row != 0); xd->left_available = (mb_col != 0); +#endif #ifdef ENTROPY_STATS active_section = 9; #endif @@ -1824,9 +1828,9 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) } else vp8_start_encode(bc, cx_data); - +#if CONFIG_SEGMENTATION xd->update_mb_segmentation_map = 1; - +#endif // Signal whether or not Segmentation is enabled vp8_write_bit(bc, (xd->segmentation_enabled) ? 1 : 0); diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c index b62544af5..4b76b23f2 100644 --- a/vp8/encoder/encodeframe.c +++ b/vp8/encoder/encodeframe.c @@ -742,13 +742,12 @@ void encode_mb_row(VP8_COMP *cpi, // Increment the activity mask pointers. x->mb_activity_ptr++; - /* Test code +#if CONFIG_SEGMENTATION if ((xd->mode_info_context->mbmi.mode == ZEROMV) && (xd->mode_info_context->mbmi.ref_frame == LAST_FRAME)) xd->mode_info_context->mbmi.segment_id = 0; else xd->mode_info_context->mbmi.segment_id = 1; - */ - +#endif /* save the block info */ for (i = 0; i < 16; i++) xd->mode_info_context->bmi[i] = xd->block[i].bmi; @@ -988,6 +987,7 @@ void vp8_encode_frame(VP8_COMP *cpi) vp8cx_frame_init_quantizer(cpi); + vp8_initialize_rd_consts(cpi, cm->base_qindex + cm->y1dc_delta_q); vp8cx_initialize_me_consts(cpi, cm->base_qindex); if(cpi->oxcf.tuning == VP8_TUNE_SSIM)