Add lcameraBuff Stage 2 plugin with YUV attach and unit tests.

Introduce params parsing, pixel/format decisions, capture layout, shared
YuvStimProducer per camera, and channel stimulus buffers with attach flow.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-14 11:03:19 -04:00
parent 809861be2b
commit e7b7a311f7
18 changed files with 1698 additions and 0 deletions
@@ -0,0 +1,34 @@
#ifndef LCAMERA_BUFF_PARAMS_H
#define LCAMERA_BUFF_PARAMS_H
#include <cameraModeRequest.h>
#include <user/deviceAttachmentSpec.h>
namespace smo {
namespace stim_buff {
namespace lcamera_buff {
struct LcameraBuffParsedParams
{
unsigned width = 0;
unsigned height = 0;
lcamera_dev::LcameraDevColourSpace colourSpace =
lcamera_dev::LcameraDevColourSpace::Yuv;
bool fullPlanarIsOptional = false;
};
LcameraBuffParsedParams parseLcameraBuffParams(
const device::DeviceAttachmentSpec& spec);
lcamera_dev::LcameraDevCameraModeRequest toCameraModeRequest(
const LcameraBuffParsedParams& parsedParams);
bool lcameraBuffParamsEqual(
const LcameraBuffParsedParams& left,
const LcameraBuffParsedParams& right);
} // namespace lcamera_buff
} // namespace stim_buff
} // namespace smo
#endif // LCAMERA_BUFF_PARAMS_H