pipeline: rpi: Remove additional external dma buf handling logic
There is no need to distinguish between dma bufs allocated outside of libcamera and internally allocated buffers. As such, remove all the special case handling of such buffers. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
1107999f71
commit
e8582ee42e
4 changed files with 1 additions and 29 deletions
|
@ -1382,11 +1382,6 @@ void CameraData::handleStreamBuffer(FrameBuffer *buffer, RPi::Stream *stream)
|
|||
*/
|
||||
Request *request = requestQueue_.empty() ? nullptr : requestQueue_.front();
|
||||
if (!dropFrameCount_ && request && request->findBuffer(stream) == buffer) {
|
||||
/*
|
||||
* Check if this is an externally provided buffer, and if
|
||||
* so, we must stop tracking it in the pipeline handler.
|
||||
*/
|
||||
handleExternalBuffer(buffer, stream);
|
||||
/*
|
||||
* Tag the buffer as completed, returning it to the
|
||||
* application.
|
||||
|
@ -1426,17 +1421,6 @@ void CameraData::handleState()
|
|||
}
|
||||
}
|
||||
|
||||
void CameraData::handleExternalBuffer(FrameBuffer *buffer, RPi::Stream *stream)
|
||||
{
|
||||
unsigned int id = stream->getBufferId(buffer);
|
||||
|
||||
if (!(id & MaskExternalBuffer))
|
||||
return;
|
||||
|
||||
/* Stop the Stream object from tracking the buffer. */
|
||||
stream->removeExternalBuffer(buffer);
|
||||
}
|
||||
|
||||
void CameraData::checkRequestCompleted()
|
||||
{
|
||||
bool requestCompleted = false;
|
||||
|
|
|
@ -196,7 +196,6 @@ protected:
|
|||
unsigned int ispOutputTotal_;
|
||||
|
||||
private:
|
||||
void handleExternalBuffer(FrameBuffer *buffer, Stream *stream);
|
||||
void checkRequestCompleted();
|
||||
};
|
||||
|
||||
|
|
|
@ -81,16 +81,7 @@ unsigned int Stream::getBufferId(FrameBuffer *buffer) const
|
|||
|
||||
void Stream::setExternalBuffer(FrameBuffer *buffer)
|
||||
{
|
||||
bufferMap_.emplace(BufferMask::MaskExternalBuffer | id_.get(), buffer);
|
||||
}
|
||||
|
||||
void Stream::removeExternalBuffer(FrameBuffer *buffer)
|
||||
{
|
||||
unsigned int id = getBufferId(buffer);
|
||||
|
||||
/* Ensure we have this buffer in the stream, and it is marked external. */
|
||||
ASSERT(id & BufferMask::MaskExternalBuffer);
|
||||
bufferMap_.erase(id);
|
||||
bufferMap_.emplace(id_.get(), buffer);
|
||||
}
|
||||
|
||||
int Stream::prepareBuffers(unsigned int count)
|
||||
|
|
|
@ -28,7 +28,6 @@ enum BufferMask {
|
|||
MaskStats = 0x010000,
|
||||
MaskEmbeddedData = 0x020000,
|
||||
MaskBayerData = 0x040000,
|
||||
MaskExternalBuffer = 0x100000,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -78,7 +77,6 @@ public:
|
|||
unsigned int getBufferId(FrameBuffer *buffer) const;
|
||||
|
||||
void setExternalBuffer(FrameBuffer *buffer);
|
||||
void removeExternalBuffer(FrameBuffer *buffer);
|
||||
|
||||
int prepareBuffers(unsigned int count);
|
||||
int queueBuffer(FrameBuffer *buffer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue