<div dir="ltr">Hi,<div><br></div><div>I've talked about this in passing, but thought it might be worth having a dedicated topic to discuss the idea of applications passing "hints" to pipeline handlers.</div><div><br></div><div>The idea of hints would be to allow the application some sort of high level control of bits of the pipeline handler logic.  Hints are entirely optional, and may not be handled by the pipeline handler, so an application cannot expect certain behavior based on hints it sets.  Here are some examples of hints that the Raspberry Pi pipeline handler would find useful in its operation:</div><div><br></div><div>Fast FPS mode</div><div>This would allow us to explicitly choose a high fps sensor mode, and possibly disable running certain processing algorithms that would limit framerate.  In the past we would also switch to running 3A on 1 out of N frames to reduce the inter-frame processing latency.</div><div><br></div><div>Strinct buffer matching</div><div>This would tell the pipeline handler to prioritise matching embedded and image buffers and allow dropping frames in cases where having an embedded data buffer is a requirement (e.g. in specialized sensors delivering CV data).  I had a patch where this was a const bool in our pipeline handler that has not been merged.</div><div><br></div><div>AE in RAW mode</div><div>This is one that I am trying to work through now.  Some of our users would like to run AE with only a RAW output to ensure the bayer frame is exposed correctly.  Other users would like to run only  RAW output without ever needing AE at runtime and switching to manual mode.  In the latter case, we can simply avoid running the ISP and IPA at all and ensure we get the highest throughput.  Arguably you could say that the application can set manual controls and we can deduce from that, but controls can be set at runtime, and this would add lots of complexity to this approach.</div><div><br></div><div>I'm sure there are going to be other use cases that could make use of hints like these and other vendors that may want them to optimise their pipelines in a similar way.  I would like to hear from folks on what they think about this?  If using hints is an acceptable approach, I could prototype some code to discuss an implementation.</div><div><br></div><div>Thanks,</div><div>Naush</div><div><br></div></div>