Don't downsample to anything smaller than 4x4 pixels
This makes for a chroma plane of 2x2. The SIMD versionf of generic downscalers assume that the width and height is at least 2, since it does an unconditional loop for the body of the image, and a separate step for the last pixel and last row. The SIMD versions assume that (width-1) and (height-1) are larger than zero. This fixes spurious crashes in EncodeDecodeTestAPI.SetOptionEncParamExt.
This commit is contained in:
parent
67664f4dc0
commit
e8cdbd2ea7
@ -430,9 +430,9 @@ bool JudgeNeedOfScaling (SWelsSvcCodingParam* pParam, Scaled_Picture* pScaledPic
|
||||
|
||||
if (iInputWidthXDstHeight > iInputHeightXDstWidth) {
|
||||
pScaledPicture->iScaledWidth[iSpatialIdx] = iCurDstWidth;
|
||||
pScaledPicture->iScaledHeight[iSpatialIdx] = WELS_MAX (iInputHeightXDstWidth / kiInputPicWidth, 2);
|
||||
pScaledPicture->iScaledHeight[iSpatialIdx] = WELS_MAX (iInputHeightXDstWidth / kiInputPicWidth, 4);
|
||||
} else {
|
||||
pScaledPicture->iScaledWidth[iSpatialIdx] = WELS_MAX (iInputWidthXDstHeight / kiInputPicHeight, 2);
|
||||
pScaledPicture->iScaledWidth[iSpatialIdx] = WELS_MAX (iInputWidthXDstHeight / kiInputPicHeight, 4);
|
||||
pScaledPicture->iScaledHeight[iSpatialIdx] = iCurDstHeight;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user