nvenc: fix encoding with B-frames
authorAnton Khirnov <anton@khirnov.net>
Fri, 8 Jan 2016 14:59:41 +0000 (15:59 +0100)
committerAnton Khirnov <anton@khirnov.net>
Tue, 12 Jan 2016 08:23:38 +0000 (09:23 +0100)
commit9d36cab4c0dc5089c023661aef9aeb8b009048fd
tree6a41c5d736ccb57cf9ebd388b9a0843f800bd7df
parentaac7d6b284c3976eb0c48d61f342f008fb6e4103
nvenc: fix encoding with B-frames

When B-frames are enabled and the encoder returns success, all currently
pending buffers immediately become valid and can be returned to the
caller. We can only return one packet at a time, so all the other
pending buffers should be transferred to a new 'ready' fifo, from where
they can be returned in subsequent calls (in which the encoder does not
produce any new output). This bug was hidden by the incorrect testing of
the encoder return value (the return value was overwritten before it was
tested).
libavcodec/nvenc.c