[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