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
This commit is contained in:
parent
653a25569b
commit
576c2bb021
vp9
@ -13,7 +13,7 @@
|
|||||||
#include "vp9/common/vp9_seg_common.h"
|
#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_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.
|
// These functions provide access to new segment level features.
|
||||||
// Eventually these function may be "optimized out" but for the moment,
|
// Eventually these function may be "optimized out" but for the moment,
|
||||||
|
@ -293,7 +293,7 @@ SKIP_START:
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int get_eob(MACROBLOCKD* const xd, int segment_id, int eob_max) {
|
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 {
|
struct decode_block_args {
|
||||||
|
@ -746,7 +746,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
|
|||||||
// Switch segmentation off.
|
// Switch segmentation off.
|
||||||
sf->static_segmentation = 0;
|
sf->static_segmentation = 0;
|
||||||
#else
|
#else
|
||||||
sf->static_segmentation = 0;
|
sf->static_segmentation = 0;
|
||||||
#endif
|
#endif
|
||||||
sf->comp_inter_joint_search_thresh = BLOCK_SIZE_SB8X8;
|
sf->comp_inter_joint_search_thresh = BLOCK_SIZE_SB8X8;
|
||||||
sf->adpative_rd_thresh = 1;
|
sf->adpative_rd_thresh = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user