From 2563b652498eb37ca1d7ea69f52634699a8c35ed Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 11 Mar 2018 16:32:33 +0100 Subject: [PATCH] video4linux: support greyscale pixel format (eg. IR cameras) --- panda/src/vision/webcamVideoCursorV4L.cxx | 5 +++++ panda/src/vision/webcamVideoV4L.cxx | 1 + 2 files changed, 6 insertions(+) diff --git a/panda/src/vision/webcamVideoCursorV4L.cxx b/panda/src/vision/webcamVideoCursorV4L.cxx index 64090c53aa..497115c0dd 100644 --- a/panda/src/vision/webcamVideoCursorV4L.cxx +++ b/panda/src/vision/webcamVideoCursorV4L.cxx @@ -247,6 +247,10 @@ WebcamVideoCursorV4L(WebcamVideoV4L *src) : MovieVideoCursor(src) { _num_components = 4; break; + case V4L2_PIX_FMT_GREY: + _num_components = 1; + break; + default: vision_cat.error() << "Unsupported pixel format " << src->get_pixel_format() << "!\n"; _ready = false; @@ -484,6 +488,7 @@ fetch_buffer() { case V4L2_PIX_FMT_BGR24: case V4L2_PIX_FMT_BGR32: + case V4L2_PIX_FMT_GREY: // Simplest case: copying every row verbatim. nassertr(old_bpl == new_bpl, NULL); diff --git a/panda/src/vision/webcamVideoV4L.cxx b/panda/src/vision/webcamVideoV4L.cxx index b07e1b2071..7d5636f4e0 100644 --- a/panda/src/vision/webcamVideoV4L.cxx +++ b/panda/src/vision/webcamVideoV4L.cxx @@ -174,6 +174,7 @@ void find_all_webcams_v4l() { case V4L2_PIX_FMT_BGR32: case V4L2_PIX_FMT_RGB24: case V4L2_PIX_FMT_RGB32: + case V4L2_PIX_FMT_GREY: break; default: