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:
@@ -0,0 +1,51 @@
|
||||
#ifndef LCAMERA_BUFF_YUV_CHANNEL_STIMULUS_BUFFER_H
|
||||
#define LCAMERA_BUFF_YUV_CHANNEL_STIMULUS_BUFFER_H
|
||||
|
||||
#include <config.h>
|
||||
#include <user/deviceAttachmentSpec.h>
|
||||
#include <user/stagingBuffer.h>
|
||||
#include <user/stimulusBuffer.h>
|
||||
#include <pixelAndColorFormatDecisions.h>
|
||||
#define CL_TARGET_OPENCL_VERSION 120
|
||||
#include <CL/cl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
namespace smo {
|
||||
namespace stim_buff {
|
||||
namespace lcamera_buff {
|
||||
|
||||
class YuvStimProducer;
|
||||
|
||||
StagingBuffer::IOEngineConstraints yuvChannelStagingInputConstraints(
|
||||
size_t channelByteSize);
|
||||
|
||||
/**
|
||||
* Channel stimbuff placeholder for Stage 2 setup-only attach. Uses mmap-backed
|
||||
* StagingBuffer sized for deinterleaved Y/U/V component storage.
|
||||
*/
|
||||
class YuvChannelStimulusBuffer
|
||||
: public StimulusBuffer
|
||||
{
|
||||
public:
|
||||
static YuvChannelKind yuvChannelKindFromQualeIfaceApi(
|
||||
const std::string& qualeIfaceApi);
|
||||
|
||||
YuvChannelStimulusBuffer(
|
||||
StimulusProducer& parent,
|
||||
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
|
||||
int histbuffMs,
|
||||
YuvChannelKind channelKind,
|
||||
size_t channelByteSize,
|
||||
const SmoCallbacks& callbacks,
|
||||
cl_mem_flags flags);
|
||||
|
||||
public:
|
||||
YuvChannelKind channelKind;
|
||||
size_t channelByteSize;
|
||||
};
|
||||
|
||||
} // namespace lcamera_buff
|
||||
} // namespace stim_buff
|
||||
} // namespace smo
|
||||
|
||||
#endif // LCAMERA_BUFF_YUV_CHANNEL_STIMULUS_BUFFER_H
|
||||
Reference in New Issue
Block a user