The release_buffer was cleaning the provided frame, thus causing the
successive call to avctx->reget_buffer() to allocate a new frame. In
case the returned frame was not the same one previously returned but a
new one with different data, it resulted in artifacts.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
if(buf_size <= 769)
return 0;
- if(smk->pic.data[0])
- avctx->release_buffer(avctx, &smk->pic);
smk->pic.reference = 1;
smk->pic.buffer_hints = FF_BUFFER_HINTS_VALID | FF_BUFFER_HINTS_PRESERVE | FF_BUFFER_HINTS_REUSABLE;