diff --git a/src/common/pico_scanvideo/include/pico/scanvideo/scanvideo_base.h b/src/common/pico_scanvideo/include/pico/scanvideo/scanvideo_base.h index 645d0fd..9ea2b00 100644 --- a/src/common/pico_scanvideo/include/pico/scanvideo/scanvideo_base.h +++ b/src/common/pico_scanvideo/include/pico/scanvideo/scanvideo_base.h @@ -338,23 +338,35 @@ extern void scanvideo_default_configure_pio(pio_hw_t *pio, uint sm, uint offset, #define PICO_SCANVIDEO_ALPHA_MASK (1u << PICO_SCANVIDEO_ALPHA_PIN) #ifndef PICO_SCANVIDEO_PIXEL_FROM_RGB8 -#define PICO_SCANVIDEO_PIXEL_FROM_RGB8(r, g, b) ((((b)>>3u)<>3u)<>3u)<>(8-PICO_SCANVIDEO_PIXEL_BCOUNT))<>(8-PICO_SCANVIDEO_PIXEL_GCOUNT))<>(8-PICO_SCANVIDEO_PIXEL_RCOUNT))<>PICO_SCANVIDEO_PIXEL_RSHIFT)<<(8-PICO_SCANVIDEO_PIXEL_RCOUNT)&0xff) +#endif + +#ifndef PICO_SCANVIDEO_G8_FROM_PIXEL +#define PICO_SCANVIDEO_G8_FROM_PIXEL(p) (((p)>>PICO_SCANVIDEO_PIXEL_GSHIFT)<<(8-PICO_SCANVIDEO_PIXEL_GCOUNT)&0xff) +#endif + +#ifndef PICO_SCANVIDEO_B8_FROM_PIXEL +#define PICO_SCANVIDEO_B8_FROM_PIXEL(p) (((p)>>PICO_SCANVIDEO_PIXEL_BSHIFT)<<(8-PICO_SCANVIDEO_PIXEL_BCOUNT)&0xff) #endif #ifndef PICO_SCANVIDEO_R5_FROM_PIXEL -#define PICO_SCANVIDEO_R5_FROM_PIXEL(p) (((p)>>PICO_SCANVIDEO_PIXEL_RSHIFT)&0x1f) +#define PICO_SCANVIDEO_R5_FROM_PIXEL(p) (PICO_SCANVIDEO_R8_FROM_PIXEL(p)>>3) #endif #ifndef PICO_SCANVIDEO_G5_FROM_PIXEL -#define PICO_SCANVIDEO_G5_FROM_PIXEL(p) (((p)>>PICO_SCANVIDEO_PIXEL_GSHIFT)&0x1f) +#define PICO_SCANVIDEO_G5_FROM_PIXEL(p) (PICO_SCANVIDEO_G8_FROM_PIXEL(p)>>3) #endif #ifndef PICO_SCANVIDEO_B5_FROM_PIXEL -#define PICO_SCANVIDEO_B5_FROM_PIXEL(p) (((p)>>PICO_SCANVIDEO_PIXEL_BSHIFT)&0x1f) +#define PICO_SCANVIDEO_B5_FROM_PIXEL(p) (PICO_SCANVIDEO_B8_FROM_PIXEL(p)>>3) #endif #ifdef __cplusplus