• Alexis Ballier's avatar
    libavcodec/mpegvideo_enc.c: Fix encoding videos with less frames than the delay of the encoder. · 6e8d856a
    Alexis Ballier authored
    When the encoder is fed with less frames than its delay, the picture list looks like { NULL, NULL, ..., frame, frame, frame }. When flushing the encoder (input frame == NULL), we need to ensure the picture list is shifted enough so that we do not return an empty packet, which would mean the encoder has finished, while it has not encoded any frame.
    
    Before the patch, the command:
    './ffmpeg_g -loglevel debug -f lavfi -i "testsrc=d=0.01" -bf 2 -vcodec mpeg2video out.mxf' prints:
    
    Output stream #0:0 (video): 1 frames encoded; 0 packets muxed (0 bytes);
    
    After:
    
    Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (8058 bytes);
    
    Relates to ticket #4817.
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    6e8d856a
mpegvideo_enc.c 175 KB