[Bug 700773] New: gstrtpjpegdepay.c -- index numbering of image components in SOF header off by one
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue May 21 04:27:33 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=700773
GStreamer | gst-plugins-good | git
Summary: gstrtpjpegdepay.c -- index numbering of image
components in SOF header off by one
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: critical
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: codador at web.de
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Applies to both gstreamer 0.10 and 1.0
Error description
-----------------
GStreamer fails to play MJPEG videos over RTP,
i.e. RTP+JPEG according to RFC2435.
Sample display pipelines
------------------------
-- RTSP, RTP unicast
$ gst-launch rtspsrc debug=true location=rtsp://bla ! rtpjpegdepay ! jpegdec !
xvimagesink
$ gst-launch rtspsrc debug=true location=rtsp://bla ! rtpjpegdepay !
ffdec_mjpeg ! xvimagesink
-- RTP unicast
$ gst-launch rtpsrc uri=rtp://bla ! rtpjpegdepay ! jpegdec ! xvimagesink
$ gst-launch rtpsrc uri=rtp://bla ! rtpjpegdepay ! ffdec_mjpeg ! xvimagesink
Remedy
------
in gst-plugins-good/gst/rtp/gstrtpjpegdepay.c:MakeHeaders()
- *p++ = 0; /* comp 0 */
+ *p++ = 1; /* comp 0 */
if ((type & 0x3f) == 0)
*p++ = 0x21; /* hsamp = 2, vsamp = 1 */
else
*p++ = 0x22; /* hsamp = 2, vsamp = 2 */
*p++ = 0; /* quant table 0 */
- *p++ = 1; /* comp 1 */
+ *p++ = 2; /* comp 1 */
*p++ = 0x11; /* hsamp = 1, vsamp = 1 */
*p++ = 1; /* quant table 1 */
- *p++ = 2; /* comp 2 */
+ *p++ = 3; /* comp 2 */
*p++ = 0x11; /* hsamp = 1, vsamp = 1 */
*p++ = 1; /* quant table 1 */
Component table indexing starts at One, not Zero, at least mjpegdec.c of libav
expects it this way. The standard (ISO/IEC 10918-1) depicts start of indexing
at One, albeit only graphically.
Frame header parameters as stated in Table B.2 allow component index values in
the range from 0-255 nonetheless.
Remaining Bugs
--------------
Still poor image quality in comparison to vlc visualization.
Chroma seems to be off (displaced by 1-4 pix)
Double checked AC luma/chroma coefficients, Quantization tables and the likes
to no avail.
--
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