On 4/8/2020 7:04 PM, Philip Langdale wrote:
> On Wed,  8 Apr 2020 14:58:36 -0300
> James Almer <jamr...@gmail.com> wrote:
> 
>> Signed-off-by: James Almer <jamr...@gmail.com>
>> ---
>> This removes the encode2() implementation as it'll never be used if a
>> receive_packet() one exists, and the flush() implementation since
>> according to Anton Khirnov avcodec_flush_buffers() is not meant to be
>> used with encoders, where its behavior is undefined.
> 
> Nevertheless, there is a use case for flushing an encoder (see 3ea705),
> and when you call avcodec_flush_buffers() in nvenc, it does the right
> thing.
> 
> Removing this will return us to the world before that change where
> there was no way to flush the encoder, and the original bug reporter
> was asking about adding an API to do it.
> 
> It seems the right thing to do is to define the behaviour - which seems
> reasonable as-is today and documment that encoders can implement flush
> if necessary. Or we'll just end up adding a new API that flushes
> encoders but has a different name...
> 
> --phil

I'm not against it, but as Marton said the function as it is is not
enough. The changes Anton asked me to remove would need to be re-added
(trivial to do), and the threading related code would probably need some
changes, if anything to not call decoding specific functions on an
encoder context.

I like the codec capabilities suggestion from Marton. Could you look
into it? I'll change this patch to not remove the flush call while at it.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to