[Bug 796495] New: Missing frames when encode with B frames from YUV file and num-buffers specified

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jun 4 18:58:22 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=796495

            Bug ID: 796495
           Summary: Missing frames when encode with B frames from YUV file
                    and num-buffers specified
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: major
          Priority: Normal
         Component: gstreamer-vaapi
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: ullysses.a.eoff at intel.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: bsreerenj at gmail.com, vjaquez at igalia.com
     GNOME version: ---

When filesrc num-buffers=N is specified in encode pipeline for vaapi encode and
max-bframes > 0, the resulting encoded video does not contain N frames.

1. Generate 100-frame YUV file:

$ gst-launch-1.0 videotestsrc num-buffers=100 !
video/x-raw,format=NV12,width=1920,height=1080 ! filesink location=./test.yuv

2. Encode 90 frames from previous YUV output file:

$ gst-launch-1.0 filesrc location=test.yuv num-buffers=90 ! rawvideoparse
format=nv12 width=1920 height=1080 ! vaapih264enc rate-control=cbr bitrate=5000
keyframe-period=30 num-slices=4 max-bframes=2 ! h264parse ! filesink
location=./test.h264

...the resulting file, test.h264 only contains 88 frames, which is NOT
expected.

3. If we switch the encoder to msdkh264enc:

gst-launch-1.0 filesrc location=test.yuv num-buffers=90 ! rawvideoparse
format=nv12 width=1920 height=1080 ! msdkh264enc rate-control=cbr bitrate=5000
gop-size=30 num-slices=4 b-frames=2 ! h264parse ! filesink location=./test.h264

...the resulting file contains the requested 90 frames, which is expected.


Other encoders like ffmpeg and yami output the correct number of frames.  Thus,
only gstreamer-vaapi encoders (all encoders that support b-frames) exhibit the
incorrect number of frames in encoded output.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list