diff options
Diffstat (limited to 'src/libcamera/pipeline/simple/converter.cpp')
-rw-r--r-- | src/libcamera/pipeline/simple/converter.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp index e5e2f0fd..dc7c0463 100644 --- a/src/libcamera/pipeline/simple/converter.cpp +++ b/src/libcamera/pipeline/simple/converter.cpp @@ -261,4 +261,19 @@ void SimpleConverter::outputBufferReady(FrameBuffer *buffer) } } +std::tuple<unsigned int, unsigned int> +SimpleConverter::strideAndFrameSize(const Size &size, + const PixelFormat &pixelFormat) +{ + V4L2DeviceFormat format = {}; + format.fourcc = m2m_->capture()->toV4L2PixelFormat(pixelFormat); + format.size = size; + + int ret = m2m_->capture()->tryFormat(&format); + if (ret < 0) + return { 0, 0 }; + + return { format.planes[0].bpl, format.planes[0].size }; +} + } /* namespace libcamera */ |