[gstreamer-bugs] [Bug 625557] New: x264enc doesn't flush delayed frames properly

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jul 29 01:52:50 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=625557
  GStreamer | gst-plugins-ugly | 0.10.15

           Summary: x264enc doesn't flush delayed frames properly
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.15
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-ugly
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: robert.swain at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


It seems when I updated the defaults in #607798 a bug in flushing the frames
whose encoding is delayed due to b-frames or so was uncovered by make check
that was missed.

When using certain features of x264enc, libx264 requires a frame or so of delay
internally before pushing out an encoded frame such that it can use said
features.

When we hit EOS or whatever and want to have these frames output from the
encoder, we're supposed to call x264_encoder_encode() with a NULL input picture
until x264_encoder_delayed_frames() returns 0, indicating that all delayed
frames have been encoded and pushed out.

See the following patch which should fix it and does for me. I wasn't sure
about the i_nal > 0 test in the expression, but I left it in case removing it
would introduce a regression. If it's OK to remove it, go ahead.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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