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 768264 - amcvideodec: Expose non-GL formats on Lollipop+
amcvideodec: Expose non-GL formats on Lollipop+
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal minor
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-07-01 05:04 UTC by Olivier Crête
Modified: 2018-11-03 13:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
androidmedia: Retrieve SDK version number (2.00 KB, patch)
2016-07-01 05:05 UTC, Olivier Crête
none Details | Review
androidmedia: Check decoder formats directly if possible (6.68 KB, patch)
2016-07-01 05:05 UTC, Olivier Crête
none Details | Review
androidmedia: Only expose real actual chosen format if available (2.73 KB, patch)
2016-07-01 05:05 UTC, Olivier Crête
none Details | Review

Description Olivier Crête 2016-07-01 05:04:36 UTC
Before Lollipop, the only way to know which format a decoder would decode into was to start decoding, and then just before getting the first frame, we could get the format. Since Lollipop, you can get the output format by just doing a configure(), this only requires the mime type of the codec and the resolution. I've tried just using 640x480 as I assume all machines should do that. The second assumption is that the output format is the same irrelevant of the resolution. This also means that although a decoder can in theory output many formats, we can know exactly which one it will output for each input format.

Just as I'm attaching the patches, I'm thinking that maybe we should also move the gl_output_only flag to be per input format.
Comment 1 Olivier Crête 2016-07-01 05:05:15 UTC
Created attachment 330692 [details] [review]
androidmedia: Retrieve SDK version number

This way version specific behaviour can be implemented.
Comment 2 Olivier Crête 2016-07-01 05:05:19 UTC
Created attachment 330693 [details] [review]
androidmedia: Check decoder formats directly if possible

On Android Lollipop and newer, it is possible to call configure() and
then get the output format directly. The configure() call only needs the
mime type and the resolution. If we assume that the color format will be
the same at any resolution, then we can just create a "fake" 640x480
color format and then use that to get the color format that the decoder
will really produce. This should make it safe to enable non-GL output
even when the decoder also exposes private formats.
Comment 3 Olivier Crête 2016-07-01 05:05:23 UTC
Created attachment 330694 [details] [review]
androidmedia: Only expose real actual chosen format if available

On Lollipop, we can figure out which color format are really available,
so expose only those in the src caps instead of all possible caps as
we do on other elements. This should help auto-plugging a little.
Comment 4 Olivier Crête 2016-07-01 06:43:48 UTC
I should mention that I've tested on Nexus 6P (Qualcomm Snapdragon 810), Galaxy S6 (Exynos 7420), Nexus 4 (Snapdragon S4 Pro) and Nexus 9 (Tegra K1).
Comment 5 GStreamer system administrator 2018-11-03 13:52:52 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/405.