Hello,

On October 06, 2009 12:31 AM Karicheri, Muralidharan wrote:

> Are we constrained to use the QBUF/DQBUF/STREAMON/STREAMOFF model for this 
> specific device (memory to
> memory)? What about adding new IOCTLs that can be used for this specific 
> device type that possibly can
> simplify the implementation?

Don't forget about the simplest V4L2 io model based on read() and write() 
calls. This io model fits very well into
transaction/conversion like device. There is an issue with blocking calls, as 
the applications would need to use threads in order to
do simple image conversion, but this can be easily avoided with non-blocking io 
and poll().

> As we have seen in the discussion, this is not a streaming device, rather
> a transaction/conversion device which operate on a given frame to get a 
> desired output frame. Each
> transaction may have it's own set of configuration context which will be 
> applied to the hardware
> before starting the operation. This is unlike a streaming device, where most 
> of the configuration is
> done prior to starting the streaming.

>From the application point of view an instance of such a device still is a 
>streaming device. The application should not even know if
any other apps are using the device or not (well, it may only notice the lower 
throughput or higher device latency, but this cannot
be avoided). Application can queue input and output buffers, stream on and wait 
for the result.

> The changes done during streaming are controls like brightness,
> contrast, gain etc. The frames received by application are either 
> synchronized to an input source
> timing or application output frame based on a display timing. Also a single 
> IO instance is usually
> maintained at the driver where as in the case of memory to memory device, 
> hardware needs to switch
> contexts between operations. So we might need a different approach than 
> capture/output device.

All this is internal to the device driver, which can hide it from the 
application.

Best regards
--
Marek Szyprowski
Samsung Poland R&D Center


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to