diff --git a/rtengine/pixelshift.cc b/rtengine/pixelshift.cc index 7869daa6d..333f22bd4 100644 --- a/rtengine/pixelshift.cc +++ b/rtengine/pixelshift.cc @@ -76,7 +76,7 @@ void RawImageSource::pixelshift_simple(int winx, int winy, int winw, int winh, b bool checkRedBlue = (gridSize == 5); // bool checkRedBlue = false; unsigned int offsX = 0, offsY = 0; - if(detectMotion) { + if(detectMotion || blendMotion) { // if motion correction is enabled we have to adjust the offsets for the selected subframe we use for areas with motion switch (frame) { case 0: @@ -120,7 +120,7 @@ void RawImageSource::pixelshift_simple(int winx, int winy, int winw, int winh, b float greenDifMax[gridSize]; // motion detection checks the grid around the pixel for differences in green channels - if(detectMotion) { + if(detectMotion || blendMotion) { if(gridSize == 3) { // compute maximum of differences for first two columns of 3x3 grid greenDifMax[0] = max(greenDiff(riFrames[0 + offset]->data[i + offset][j - 1], riFrames[2 + offset]->data[i - offset + 1][j]), diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index ed6efdae0..2c07aee3a 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -1962,7 +1962,7 @@ void RawImageSource::demosaic(const RAWParams &raw) } else if (raw.bayersensor.method == RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::amaze] ) { amaze_demosaic_RT (0, 0, W, H); } else if (raw.bayersensor.method == RAWParams::BayerSensor::methodstring[RAWParams::BayerSensor::pixelshift_simple] ) { - if(raw.bayersensor.pixelshiftMotion > 0) { + if(raw.bayersensor.pixelshiftMotion > 0 || raw.bayersensor.pixelshiftBlendMotion) { amaze_demosaic_RT (0, 0, W, H); // for non pixelshift files use amaze if pixelshift is selected. We need it also for motion correction } if(numFrames == 4) {