[vlc-devel] [vlc-commits] transcode: replace PICTURE_RING_BUFFER with picture_fifo_t

Jean-Paul Saman jpsaman at videolan.org
Wed May 2 11:15:48 CEST 2012


On Wed, May 2, 2012 at 10:46 AM, Ilkka Ollakka <ileoo at videolan.org> wrote:
> On Wed, May 02, 2012 at 10:39:15AM +0200, Jean-Paul Saman wrote:
>> vlc | branch: master | Jean-Paul Saman <jean-paul.saman at m2x.nl> | Tue Mar 27 10:16:15 2012 +0200| [0cdf8d8673bea62dd68937ec8037b860cac8ea66] | committer: Jean-Paul Saman
>
>> transcode: replace PICTURE_RING_BUFFER with picture_fifo_t
>
>> The PICTURE_RING_BUFFER used a fixed size, which when running out of available pictures
>> produces visible artefacts in the encoded stream. Allocating a new picture and keeping
>> track of them in a fifo is much simpler (in the multiple threads encoding scenario) and
>> solves the ring buffer overrun.
>
> Hi,
>
> Have you tested how this will behave when encoding is extremely slow? I
> was wondering that is there any limit how large the fifo can be, other
> than free memory.
>

There is no limit set to the fifo size. If that is necessary, then it
should be another option.
Although I do not like to drop pictures at this location since it
introduces a large visisble artefact in the stream.
I rather dump data from pictures later, where they are less visible.

It has been tested on 'slow' machines, but in theory the fifo could
fill up, but in that case the output cannot keep track either and
buffers are dumped at the mux stage.
To be honest IMHO there is no good solution here, but what was there
before was even worse.

Kind regards,
Jean-Paul Saman



More information about the vlc-devel mailing list