After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 773582 - matroskamux does not allow resolutions above 4096x4096
matroskamux does not allow resolutions above 4096x4096
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other Linux
: Normal normal
: 1.10.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-10-27 12:20 UTC by Branko Subasic
Modified: 2016-11-02 14:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
matroskamux - allow resolutions above 4096x4096 (991 bytes, patch)
2016-10-27 12:20 UTC, Branko Subasic
committed Details | Review

Description Branko Subasic 2016-10-27 12:20:37 UTC
Created attachment 338602 [details] [review]
matroskamux -  allow resolutions above 4096x4096

The Matroska muxer does not allow resolutions with width and/or height greater than 4096. But the Matroska format itself restricts them to unsigned values up to 8 bytes long, which is a bit more than 4096.

Attached is a patch which remedies this.
Comment 1 Tim-Philipp Müller 2016-10-27 13:13:22 UTC
Thanks!

commit ddba77ea6ecd9bbc2d9cbd2ccf2bd3ba5e41598d
Author: Branko Subasic <branko@axis.com>
Date:   Thu Oct 27 14:03:48 2016 +0200

    matroskamux: allow resolutions above 4096
    
    Modify the caps string to allow width and height greater than 4096.
    There is no need to restrict it since the matroska format allows the
    width and height values to be up to eight bytes long.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=773582
Comment 2 madbiologist 2016-11-02 04:28:41 UTC
18.4 exapixels for height and width?  That would require some pretty futuristic hardware to decode.  The upcoming PCI Express 4.0 standard can only transfer 31.508 GB/s over a x16 link.
Comment 3 madbiologist 2016-11-02 14:40:55 UTC
If we avoid the PCIe bus, the transfer rate of HBM (High Bandwidth Memory) is 128 GB/s per package, which gives products such as AMD's "Fiji" platform (eg. Radeon R9 Fury) a memory bandwidth of 512 GB/s.

The transfer rate of HBM2 is 256 GB/s per package, which gives products such as the Nvidia Tesla P100 a memory bandwidth of 720 GB/s (Nvidia operates the HBM2 at a clock speed of 1406 MT/s instead of the maximum 2 GT/s).  It doesn't seem to have a display output though.
Comment 4 Nicolas Dufresne (ndufresne) 2016-11-02 14:54:42 UTC
Bugzilla isn't a forum where you should through your thoughts. The patch is to remove artificial limitation at a certain point in a GStreamer pipeline. The usage is out of scope here.
Comment 5 Tim-Philipp Müller 2016-11-02 14:55:50 UTC
I'm not really sure what you're arguing here? That we should impose some other arbitrary limit on the resolution? Why would the muxer care? Theoretically you could imagine cases where a codec deals with sparse data.