Le mercredi 23 janvier 2019 à 15:17 +0100, Michael Tretter a écrit : > > I have a patch pending that allows an encoder to spread the compressed > > output over multiple buffers: > > > > https://patchwork.linuxtv.org/patch/53536/ > > > > I wonder if this encoder would be able to use it. > > I don't think that the encoder could use this, because of how the > PUT_STREAM_BUFFER and the ENCODE_FRAME command are working: The > ENCODE_FRAME will always write the compressed output to a single buffer. > > However, if I stop passing the vb2 buffers to the encoder, use an > internal buffer pool for the encoder stream buffers and copy the > compressed buffer from the internal buffers to the vb2 buffers, I can > spread the output over multiple buffers. That would also allow me, to > get rid of putting filler nal units in front of the compressed data. > > I will try to implement it that way. As explained in my previous email, this will break current userspace expectation, and will force userspace into parsing the following frame to find the end of it (adding 1 frame latency). I have used a lot the vendor driver for this platform and it has always been able possible to get the frame size right, so this should be possible here too. Nicolas