From 1c24eb2b7b3a61893ea19e9e544c24a233f89921 Mon Sep 17 00:00:00 2001 From: Yaowu Xu Date: Wed, 20 Jul 2011 12:14:50 -0700 Subject: [PATCH] fixed a number of problems caused by auto merges The auto merge process pull and merge commits from public git or master branch. These automerges while worked well most time, but has created a few problems. This commit fixed several issues existed long before the latest 8x8 transform commit. Change-Id: I895ca99713231b1aec521d57db5d9839f74aacfa --- vp8/decoder/onyxd_if.c | 1 - vp8/decoder/onyxd_int.h | 3 ++- vp8/encoder/bitstream.c | 10 +++++++--- vp8/encoder/encodeframe.c | 6 +++--- 4 files changed, 12 insertions(+), 8 deletions(-) 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)