ref: 5a9c6db33559f2dd1bb55731914d36265c9200e0
parent: 68a5910f8fee7853a2323554a3d91329b743dc74
author: Sindre Aamås <[email protected]>
date: Wed Jun 1 19:57:48 EDT 2016
[Processing] Relax downsample buffer size requirement AFAICT, it is sufficient that the sample buffer has space for half the source width/height. With the current sample buffer size, this enables its use for resolutions up to 3840x2176.
--- a/codec/processing/src/downsample/downsample.cpp
+++ b/codec/processing/src/downsample/downsample.cpp
@@ -149,7 +149,7 @@
if (iSrcWidthY <= iDstWidthY || iSrcHeightY <= iDstHeightY) {
return RET_INVALIDPARAM;
}
- if (iSrcWidthY > MAX_SAMPLE_WIDTH || iSrcHeightY > MAX_SAMPLE_HEIGHT || m_bNoSampleBuffer) {
+ if ((iSrcWidthY >> 1) > MAX_SAMPLE_WIDTH || (iSrcHeightY >> 1) > MAX_SAMPLE_HEIGHT || m_bNoSampleBuffer) {
if ((iSrcWidthY >> 1) == iDstWidthY && (iSrcHeightY >> 1) == iDstHeightY) {
// use half average functions
DownsampleHalfAverage ((uint8_t*)pDstPixMap->pPixel[0], pDstPixMap->iStride[0],