diff --git a/src/xrt/drivers/v4l2/v4l2_driver.c b/src/xrt/drivers/v4l2/v4l2_driver.c index a123a2b47052b2e0a4144ccfb3880717364ad1e0..401849230ef08cd8e2248f0e692179e7da4174ed 100644 --- a/src/xrt/drivers/v4l2/v4l2_driver.c +++ b/src/xrt/drivers/v4l2/v4l2_driver.c @@ -118,6 +118,7 @@ struct v4l2_fs struct { bool ps4_cam; + bool dell_cam; bool set_auto_exposure; bool set_exposure_absolute; int value_exposure_absolute; @@ -286,6 +287,9 @@ v4l2_query_cap_and_validate(struct v4l2_fs *vid) vid->quirks.ps4_cam = strcmp(card, "USB Camera-OV580: USB Camera-OV") == 0; + vid->quirks.dell_cam = + strcmp(card, "Integrated_Webcam_HD: Integrate") == 0; + if (vid->quirks.ps4_cam) { // The experimented best controls to best track things. vid->quirks.set_auto_exposure = true; @@ -294,6 +298,14 @@ v4l2_query_cap_and_validate(struct v4l2_fs *vid) vid->quirks.value_exposure_absolute = debug_get_num_option_v4l2_exposure_absolute(); } + if (vid->quirks.dell_cam) { + // The experimented best controls to best track things. + vid->quirks.set_auto_exposure = true; + vid->quirks.value_auto_exposure = 1; + vid->quirks.set_exposure_absolute = true; + vid->quirks.value_exposure_absolute = + debug_get_num_option_v4l2_exposure_absolute(); + } // Done return 0;