Skip to content

Commit 20cce99

Browse files
danieldegrassenashif
authored andcommitted
samples: drivers: video: capture: don't apply format unless needed
Do not apply format setting unless needed. Also, correct the check for the RGB565 format setting- the zephyr display API treats RGB565 and BGR565 as big endian, so the format needed here is BGR565. Signed-off-by: Daniel DeGrasse <[email protected]>
1 parent 22cb79d commit 20cce99

File tree

1 file changed

+6
-2
lines changed
  • samples/drivers/video/capture/src

1 file changed

+6
-2
lines changed

samples/drivers/video/capture/src/main.c

+6-2
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,14 @@ static inline int display_setup(const struct device *const display_dev, const ui
3636
/* Set display pixel format to match the one in use by the camera */
3737
switch (pixfmt) {
3838
case VIDEO_PIX_FMT_RGB565:
39-
ret = display_set_pixel_format(display_dev, PIXEL_FORMAT_RGB_565);
39+
if (capabilities.current_pixel_format != PIXEL_FORMAT_BGR_565) {
40+
ret = display_set_pixel_format(display_dev, PIXEL_FORMAT_BGR_565);
41+
}
4042
break;
4143
case VIDEO_PIX_FMT_XRGB32:
42-
ret = display_set_pixel_format(display_dev, PIXEL_FORMAT_ARGB_8888);
44+
if (capabilities.current_pixel_format != PIXEL_FORMAT_ARGB_8888) {
45+
ret = display_set_pixel_format(display_dev, PIXEL_FORMAT_ARGB_8888);
46+
}
4347
break;
4448
default:
4549
return -ENOTSUP;

0 commit comments

Comments
 (0)