ipa: Switch to FrameBuffer interface
Switch the IPA interfaces and implementations to use the Framebuffer interface. - The IPA interface is switched to use the simpler FrameBuffer::Plane container when carrying dmabuf descriptions (fd and length) over the pipeline/IPA boundary. - The RkISP1 IPA implementation takes advantage of the new simpler and safer (better control over file descriptors) FrameBuffer interface. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
@@ -149,15 +149,15 @@ void IPAContextWrapper::mapBuffers(const std::vector<IPABuffer> &buffers)
|
||||
for (unsigned int i = 0; i < buffers.size(); ++i) {
|
||||
struct ipa_buffer &c_buffer = c_buffers[i];
|
||||
const IPABuffer &buffer = buffers[i];
|
||||
const std::vector<Plane> &planes = buffer.memory.planes();
|
||||
const std::vector<FrameBuffer::Plane> &planes = buffer.planes;
|
||||
|
||||
c_buffer.id = buffer.id;
|
||||
c_buffer.num_planes = planes.size();
|
||||
|
||||
for (unsigned int j = 0; j < planes.size(); ++j) {
|
||||
const Plane &plane = planes[j];
|
||||
c_buffer.planes[j].dmabuf = plane.dmabuf();
|
||||
c_buffer.planes[j].length = plane.length();
|
||||
const FrameBuffer::Plane &plane = planes[j];
|
||||
c_buffer.planes[j].dmabuf = plane.fd.fd();
|
||||
c_buffer.planes[j].length = plane.length;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user