On Wed, 16 Apr 2014 13:16:49 +0200, Julian Scheel <julian at jusst.de> wrote:
>> Of course it can. VDPAU has hit and solved the same problem.
>> How could it?
You can use the a chroma conversion video filter to detect the intended
output. As long as the decoding hardware acceleration library supports
outputting to either opaque surfaces and to main memory, then it is
possible as proven by VDPAU.
It might be certainly cumbersome. The VDPAU chroma plugin is a bit more
cumbersome than I would like, due to limitations of the current VLC video
output core. In particular, passing the hardware context from the video
output to the chroma filter in the activation function rather than per
picture would be simplify the code a lot.
It might be potentially far worse for RPi, if the library makes it
difficult. But I do not see any fundamental reason why it would not be
possible.
(...)
> As of now to switch between opaque and non-opaque mode we have to set he
> mode on instantiation of the decoder which happens before the vout in
> instantiated.
The video output is instantiated when ask for a picture buffer. You can
always ask for a picture buffer earlier if you want to or need to.
Furthermore, you can extend the video output core to split setting the
output format and instantiating the video output from allocating the
picture buffer. In fact, that was already done for audio buffers.
--
Rémi Denis-Courmont
Sent from my collocated server