pipeline: ipa: raspberrypi: Handle any externally allocated FrameBuffer
Handle the case where a FrameBuffer that has been externally allocated (i.e. not through the v4l2 video device) is passed into a Request. We must store the buffer pointer in the stream internal buffer list to identify when used. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
parent
dd0df6d739
commit
39798e8777
5 changed files with 73 additions and 29 deletions
|
@ -352,7 +352,7 @@ void IPARPi::processEvent(const IPAOperationData &event)
|
|||
|
||||
IPAOperationData op;
|
||||
op.operation = RPI_IPA_ACTION_STATS_METADATA_COMPLETE;
|
||||
op.data = { bufferId & RPiIpaMask::ID };
|
||||
op.data = { bufferId & RPiBufferMask::ID };
|
||||
op.controls = { libcameraMetadata_ };
|
||||
queueFrameAction.emit(0, op);
|
||||
break;
|
||||
|
@ -373,7 +373,7 @@ void IPARPi::processEvent(const IPAOperationData &event)
|
|||
/* Ready to push the input buffer into the ISP. */
|
||||
IPAOperationData op;
|
||||
op.operation = RPI_IPA_ACTION_RUN_ISP;
|
||||
op.data = { bayerbufferId & RPiIpaMask::ID };
|
||||
op.data = { bayerbufferId & RPiBufferMask::ID };
|
||||
queueFrameAction.emit(0, op);
|
||||
break;
|
||||
}
|
||||
|
@ -700,7 +700,7 @@ void IPARPi::returnEmbeddedBuffer(unsigned int bufferId)
|
|||
{
|
||||
IPAOperationData op;
|
||||
op.operation = RPI_IPA_ACTION_EMBEDDED_COMPLETE;
|
||||
op.data = { bufferId & RPiIpaMask::ID };
|
||||
op.data = { bufferId & RPiBufferMask::ID };
|
||||
queueFrameAction.emit(0, op);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue