mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 11:10:37 +00:00
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
This commit is contained in:
parent
284d723a9a
commit
3549aa7924
1 changed files with 0 additions and 15 deletions
|
@ -558,21 +558,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 */
|
||||
|
|
Loading…
Reference in a new issue