Fix in bilenar debayering; is this already real color

master
Stefan Jahn 3 years ago
parent 36b734d58b
commit 6a12c34087

@ -17,7 +17,7 @@ void debayer_grbg16_simple (uint16_t * src, int src_w, int src_h,
for (xs = 0, xd = 0; xs < src_w; xs++) { for (xs = 0, xd = 0; xs < src_w; xs++) {
/* read the pixel but only the higher 8bit, assuming data is little endian */ /* read the pixel but only the higher 8bit, assuming data is little endian */
t = *(src++) >> 8; t = (*(src++) >> 8) & 0xff;
if (xs & 1) { if (xs & 1) {
if (ys & 1) { if (ys & 1) {
@ -63,7 +63,7 @@ void debayer_grbg16_simple (uint16_t * src, int src_w, int src_h,
#define UPRI (*(src-src_w+1)) #define UPRI (*(src-src_w+1))
#define DNLE (*(src+src_w-1)) #define DNLE (*(src+src_w-1))
#define DNRI (*(src+src_w+1)) #define DNRI (*(src+src_w+1))
#define STORE *(dst++) = r; *(dst++) = g; *(dst++) = b; src++; #define STORE *(dst++) = (r>>8)&0xff; *(dst++) = (g>>8)&0xff; *(dst++) = (b>>8) & 0xff; src++;
/* /*
@ -77,7 +77,7 @@ void debayer_grbg16_bilinear (uint16_t * src, int src_w, int src_h,
// BB GG BB GG // BB GG BB GG
// GG RR GG RR // GG RR GG RR
// BB GG BB GG // BB GG BB GG
uint8_t r, g, b; uint32_t r, g, b;
int xs, ys; int xs, ys;
// start with upper left pixel (green) // start with upper left pixel (green)

Loading…
Cancel
Save