使用ffmpeg进行视频解码,在解码最后发现在解码器中还有几帧画面没有出来,使用空的avpacket去填充解码器,直到输出为AVERROR_EOF,但是发现只填充一个空的AVPacket后就直接输出为AVERROR_EOF了,那其余的几帧画面去哪里了呢?有什么办法取出解码器中的全部帧呢?
只需要送入一次flush packet,然后当返回值不是AVERROR_EOF就一直while循环取帧,只需要送一次空包进入解码器即可。