Browse Source

video4linux: support greyscale pixel format (eg. IR cameras)

rdb 7 years ago
parent
commit
2563b65249
2 changed files with 6 additions and 0 deletions
  1. 5 0
      panda/src/vision/webcamVideoCursorV4L.cxx
  2. 1 0
      panda/src/vision/webcamVideoV4L.cxx

+ 5 - 0
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);
 

+ 1 - 0
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: