Files
salmanoff/tests/fixtures/bakedCameraProfiles.h
hayodea 7a47f2bd49 lcameraDev: honor opt-planar when selecting YUV capture format.
Pass fullPlanarIsOptional through session configure so optional planar
mode can succeed with packed YUYV; extend unit and configure HIL coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 11:01:40 -04:00

67 lines
1.9 KiB
C++

#ifndef TESTS_FIXTURES_BAKED_CAMERA_PROFILES_H
#define TESTS_FIXTURES_BAKED_CAMERA_PROFILES_H
/** Baked camera profiles captured from real hardware for offline unit tests.
*
* To add profiles for a new machine or camera:
* 1. Build lcameraDev_list_cameras with -DENABLE_LIB_lcameraDev=ON -DENABLE_TESTS=ON
* 2. Run scripts/extractBakedCameraProfiles.sh <build-dir> <machine-tag>
* 3. Merge the printed rows into the matching MACHINE section below.
*/
#include <cstddef>
namespace test_fixtures {
struct BakedCameraProfile
{
const char *machineTag;
const char *profileTag;
const char *libcameraId;
const char *model;
const char *location;
const char *usbVidPid;
const char *usbSerial;
const char *exampleSelector;
bool requiredOnMachine;
};
// MACHINE: dell-laptop
// Captured via lcameraDev_list_cameras on 2026-06-10.
// Configure HIL note (2026-06-10): both cameras expose MJPEG and packed YUYV
// via libcamera VideoRecording/Viewfinder — no fully planar YUV420/NV12 at
// 640x480. configureSessionModeCReq correctly throws when fullPlanarIsOptional
// is false; with opt-planar / fullPlanarIsOptional=true configure succeeds
// selecting YUYV (Yuv422). lcameraBuff Stage 2 attach HIL uses v-res=480p.
inline constexpr BakedCameraProfile bakedCameraProfiles[] = {
{
"dell-laptop",
"usb_hdmi_camera",
"\\_SB_.PCI0.XHC_.RHUB.HS01-1:1.0-32e4:9415",
"HDMI USB Camera: HDMI USB Camer",
"external",
"32e4:9415",
"1020181e58586223",
"model-substr:HDMI;location:EXTERNAL",
true,
},
{
"dell-laptop",
"integrated_webcam",
"\\_SB_.PCI0.XHC_.RHUB.HS04-4:1.0-1bcf:2b8a",
"Integrated_Webcam_HD: Integrate",
"front",
"1bcf:2b8a",
"",
"model-substr:Integrated;location:front",
true,
},
};
inline constexpr std::size_t bakedCameraProfileCount =
sizeof(bakedCameraProfiles) / sizeof(bakedCameraProfiles[0]);
} // namespace test_fixtures
#endif // TESTS_FIXTURES_BAKED_CAMERA_PROFILES_H