From b5a67a08575eab3965c6a77d892d08f590f21f94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 31 Jan 2016 11:08:38 +1100 Subject: rtpjpegpay: Allow different quantization tables for components 2 and 3 RFC 2435 mentions in section 4.1 that U/V use table number 1, but this seems just like an example. Some encoders are not following that and there seems to be no reason to reject their streams. https://bugzilla.gnome.org/show_bug.cgi?id=761345 --- gst/rtp/gstrtpjpegpay.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gst/rtp/gstrtpjpegpay.c b/gst/rtp/gstrtpjpegpay.c index 804b8c72e..9cdde1fb5 100644 --- a/gst/rtp/gstrtpjpegpay.c +++ b/gst/rtp/gstrtpjpegpay.c @@ -560,21 +560,6 @@ gst_rtp_jpeg_pay_read_sof (GstRtpJPEGPay * pay, const guint8 * data, if (!(info[2].samp == 0x11)) goto invalid_comp; - /* the other components are free to use any quant table but they have to - * have the same table id */ - if (info[1].qt != info[2].qt) { - /* Some MJPG (like the one from the Logitech C-920 camera) uses different - * quant tables for component 1 and 2 but both tables contain the exact - * same data, so we could consider them as being the same tables */ - if (!(info[1].qt < tables_elements && - info[2].qt < tables_elements && - tables[info[1].qt].size > 0 && - tables[info[1].qt].size == tables[info[2].qt].size && - memcmp (tables[info[1].qt].data, tables[info[2].qt].data, - tables[info[1].qt].size) == 0)) - goto invalid_comp; - } - return TRUE; /* ERRORS */ -- cgit v1.2.1