correctly set border in xtrans combined demosaicers, hopefully fixes #4639

This commit is contained in:
heckflosse
2018-06-25 23:50:34 +02:00
parent 803e46c804
commit 6af47bb8d7
2 changed files with 4 additions and 4 deletions

View File

@@ -290,7 +290,7 @@ protected:
void dcb_refinement(float (*image)[3], uint8_t *map, int x0, int y0);
void dcb_color_full(float (*image)[3], int x0, int y0, float (*chroma)[2]);
void cielab (const float (*rgb)[3], float* l, float* a, float *b, const int width, const int height, const int labWidth, const float xyz_cam[3][3]);
void xtransborder_interpolate (int border);
void xtransborder_interpolate (int border, array2D<float> &red, array2D<float> &green, array2D<float> &blue);
void xtrans_interpolate (const int passes, const bool useCieLab);
void fast_xtrans_interpolate (const array2D<float> &rawData, array2D<float> &red, array2D<float> &green, array2D<float> &blue);
void pixelshift(int winx, int winy, int winw, int winh, const RAWParams &rawParams, unsigned int frame, const std::string &make, const std::string &model, float rawWpCorrection);

View File

@@ -114,7 +114,7 @@ void RawImageSource::cielab (const float (*rgb)[3], float* l, float* a, float *b
#define fcol(row,col) xtrans[(row)%6][(col)%6]
#define isgreen(row,col) (xtrans[(row)%3][(col)%3]&1)
void RawImageSource::xtransborder_interpolate (int border)
void RawImageSource::xtransborder_interpolate (int border, array2D<float> &red, array2D<float> &green, array2D<float> &blue)
{
const int height = H, width = W;
@@ -201,7 +201,7 @@ void RawImageSource::xtrans_interpolate (const int passes, const bool useCieLab)
// printf("%d-pass X-Trans interpolation using %s conversion...\n", passes, useCieLab ? "lab" : "yuv");
// }
xtransborder_interpolate(6);
xtransborder_interpolate(6, red, green, blue);
float xyz_cam[3][3];
{
@@ -974,7 +974,7 @@ void RawImageSource::fast_xtrans_interpolate (const array2D<float> &rawData, arr
const int height = H, width = W;
xtransborder_interpolate (1);
xtransborder_interpolate (1, red, green, blue);
int xtrans[6][6];
ri->getXtransMatrix(xtrans);