ref: 576c2bb02127d6d3b898bf4737e9f4c5f9ca72df
parent: 653a25569ba09db521b3c6f26347fae000c7ae9b
author: Paul Wilkins <paulwilkins@google.com>
date: Fri Jun 7 09:27:08 EDT 2013
Fix bug in segment skip. Wrong max data size (skip has no data) and use of vp9_get_segdata() when it should be vp9_segfeature_active(). Change-Id: I1eb97d33df6e2a42cc589049f704266fe3639902
--- a/vp9/common/vp9_seg_common.c
+++ b/vp9/common/vp9_seg_common.c
@@ -13,7 +13,7 @@
#include "vp9/common/vp9_seg_common.h"
static const int seg_feature_data_signed[SEG_LVL_MAX] = { 1, 1, 0, 0 };
-static const int seg_feature_data_max[SEG_LVL_MAX] = { MAXQ, 63, 15, 15 };
+static const int seg_feature_data_max[SEG_LVL_MAX] = { MAXQ, 63, 15, 0 };
// These functions provide access to new segment level features.
// Eventually these function may be "optimized out" but for the moment,
--- a/vp9/decoder/vp9_detokenize.c
+++ b/vp9/decoder/vp9_detokenize.c
@@ -293,7 +293,7 @@
}
static int get_eob(MACROBLOCKD* const xd, int segment_id, int eob_max) {
- return vp9_get_segdata(xd, segment_id, SEG_LVL_SKIP) ? 0 : eob_max;
+ return vp9_segfeature_active(xd, segment_id, SEG_LVL_SKIP) ? 0 : eob_max;
}
struct decode_block_args {
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -746,7 +746,7 @@
// Switch segmentation off.
sf->static_segmentation = 0;
#else
- sf->static_segmentation = 0;
+ sf->static_segmentation = 0;
#endif
sf->comp_inter_joint_search_thresh = BLOCK_SIZE_SB8X8;
sf->adpative_rd_thresh = 1;
--
⑨