Merge pull request #2360 from openmv/sensor_raw_flag

misc/sensor: Add raw sensor flag.
This commit is contained in:
Ibrahim Abdelkader 2024-08-06 22:06:02 +02:00 committed by GitHub
commit 107326f0c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 6 additions and 1 deletions

View File

@ -261,6 +261,7 @@ typedef struct _sensor {
uint32_t bayer : 3; // Bayer/CFA pattern.
uint32_t yuv_order : 1; // YUV/YVU order.
uint32_t blc_size : 4; // Number of black level calibration registers.
uint32_t raw : 1; // The sensor supports raw/Bayer output only.
} hw_flags;
const uint16_t *color_palette; // Color palette used for color lookup.

View File

@ -727,6 +727,9 @@ __weak bool sensor_get_cropped() {
}
__weak uint32_t sensor_get_src_bpp() {
if (sensor.hw_flags.raw) {
return 1;
}
switch (sensor.pixformat) {
case PIXFORMAT_GRAYSCALE:
return sensor.hw_flags.gs_bpp;

View File

@ -270,7 +270,7 @@ static uint32_t framebuffer_raw_buffer_size() {
uint32_t size = (uint32_t) (fb_alloc_stack_pointer() - ((char *) framebuffer->data));
// We don't want to give all of the frame buffer RAM to the frame buffer. So, we will limit
// the maximum amount of RAM we return.
uint32_t raw_buf_size = (&_fb_memory_end - &_fb_memory_start);
uint32_t raw_buf_size = (&_fb_memory_end - &_fb_memory_start - sizeof(framebuffer_t));
return IM_MIN(size, raw_buf_size);
}

View File

@ -683,6 +683,7 @@ int ov7725_init(sensor_t *sensor) {
sensor->hw_flags.jpege = 0;
sensor->hw_flags.gs_bpp = 2;
sensor->hw_flags.rgb_swap = 1;
sensor->hw_flags.bayer = SENSOR_HW_FLAGS_BAYER_GBRG;
sensor->hw_flags.yuv_order = SENSOR_HW_FLAGS_YVU422;
sensor->hw_flags.blc_size = 8;