mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
Bug 1224363 - Clamp seg_lvl also in abs-value mode - r=rillian
Even when the segment feature data is in absolute mode, it is still read as a 6-bit value with an added sign, so it could have values between -63 and +63. Later, this signed value is used without checks as a filter level, which is used to access an entry in an array of size MAX_LOOP_FILTER+1=64. This patch just extends the existing clamping (that was done only to relative- mode data) to absolute mode data, before it is blindly 'memset' in lfi->lvl[seg][0], which was where the out-of-bound filter_value was read in subsequent vp8_loop_filter_row_simple.
This commit is contained in:
parent
090cd0d548
commit
861f436e5e
@ -141,8 +141,8 @@ void vp8_loop_filter_frame_init(VP8_COMMON *cm,
|
||||
else /* Delta Value */
|
||||
{
|
||||
lvl_seg += mbd->segment_feature_data[MB_LVL_ALT_LF][seg];
|
||||
lvl_seg = (lvl_seg > 0) ? ((lvl_seg > 63) ? 63: lvl_seg) : 0;
|
||||
}
|
||||
lvl_seg = (lvl_seg > 0) ? ((lvl_seg > 63) ? 63: lvl_seg) : 0;
|
||||
}
|
||||
|
||||
if (!mbd->mode_ref_lf_delta_enabled)
|
||||
|
Loading…
Reference in New Issue
Block a user