[Libav-user] FFMPEG to decode I frames
mercthom at lab126.com
Fri Nov 6 17:45:26 EET 2020
I had the same problem as you, but this worked for me: "I tried sending a NULL packet and using avocdec_flush_buffers() to flush out the decoded frame"
Even though it was functionally correct, that approach was too slow. If I remember correctly that was due to (re)initialization time for the decoder.
However, I ended up moving all the decode to NVDEC directly anyway.
From: Libav-user <libav-user-bounces at ffmpeg.org> on behalf of rohit khali <khali.rohit at gmail.com>
Sent: Friday, November 6, 2020 12:43 AM
To: This list is about using libavcodec, libavformat, libavutil, libavdevice and libavfilter.
Subject: [EXTERNAL] [Libav-user] FFMPEG to decode I frames
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
My application parses only I frames from H264 bit stream and hands it over to FFMPEG decoder.
Expectation was that FFMPEG decoder immediately output decoded frames since input is I frame. However, FFMPEG can't do this especially for cases where I frame is not an IDR.
I tried sending a NULL packet and using avocdec_flush_buffers() to flush out the decoded frame but this logic doesn't seem to work for all cases, maybe again depending on DPB size or POC.
I was wondering if anyone else has used FFMPEG for such a use case earlier and what else I can use to immediately receive the I frames.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libav-user