[Bug 664792] New: Staircase effect in M-JPEG over RTP with unaligned image dimensions..

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Nov 25 02:05:25 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=664792
  GStreamer | gst-plugins-good | git

           Summary: Staircase effect in M-JPEG over RTP with unaligned
                    image dimensions..
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: sebras at hotmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=202117)
 View: https://bugzilla.gnome.org/attachment.cgi?id=202117
 Review: https://bugzilla.gnome.org/review?bug=664792&attachment=202117

Proposed fix ceiling image dimensions instead of flooring them.

When M-JPEG images are streamed over RTP they may get a staircase effect if
their dimensions are not a multiple of 8. E.g. if the width of an image is 450
pixels then it has to be either floored to 448 or ceiled to 456 in order for
its width to be expressed properly in an RFC2435 JPEG over RTP header.

The current rtpjpegpay element floors the dimensions before writing the image
dimensions into the RFC2435 header. Unfortunately if an image of 450 pixels is
being transmitted, then it actually contains image data for 456 pixels, but the
flooring in the RFC2435 header states that the width is 448 pixels. This is
what causes the staircase effect mentioned above.

In order to fix this rtpjpegpay should of course round up to the nearest
multiple of 8. Doing so should always be safe since JPEG image data is
expressed in 8x8 pixel (or larger) MCUs.

Unfortunately I can not provide a pipeline testcase that exhibits this
behaviour that I am able to share with you, so I need to appeal to your
insights about the RTP and JPEG specifications and hope that you can identify
the same bug as I do. And hopefully you are also of the opinion that my fix is
sane.

 / Sebastian

-- 
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