GNOME Bugzilla – Bug 782741
Improve element's metadata in regard to hw decoding
Last modified: 2018-08-08 15:04:50 UTC
Hi, In Spice [0] we can be have vp8, vp9, h264, mjepg streams (and more in the future) and having a way to identify based on GstCaps which elements can do hw decoding would help to sort the preference of which video codec the server could chose for encoding. I have something like [1] to find which elements are available to decode but that is not enough to separate which elements do hw decoding. [0] http://spice-space.org/ [1] https://gitlab.com/victortoso/spice-gtk/commit/e90785e1181786f3a00342dfe09df79a845ab3af
Why are the ranks not enough for sorting here? And there's more to this than knowing if a encoder uses hardware. The hardware based on might still be slower in some use cases, its quality might be worse, it might only support different profiles than what you want to produce, etc.
(In reply to Sebastian Dröge (slomo) from comment #1) > Why are the ranks not enough for sorting here? That would mean I need to know the plugins that do hw decoding in every platform while I'm interested if I have any that can do h264/vp9 etc hw decoding. > And there's more to this than knowing if a encoder uses hardware. The > hardware based on might still be slower in some use cases, its quality might > be worse, it might only support different profiles than what you want to > produce, etc. IMHO it would be good enough to state that a given element uses hw decode. If it can't decode a given profile or if the quality is worse, shouldn't matter much. The point is that in general we would like to try hw decode first. That's probably covered by using playbin. But knowing if it is possible to hw decode given video codec would help setup which codec should we use for streaming in the host/guest machine.
(In reply to Victor Toso from comment #2) > (In reply to Sebastian Dröge (slomo) from comment #1) > > Why are the ranks not enough for sorting here? > > That would mean I need to know the plugins that do hw decoding in every > platform while I'm interested if I have any that can do h264/vp9 etc hw > decoding. After you get the decoder list for a specific codec, you can sort it with their ranks. Now, bear in mind that in the specific case of VA-API/MSDK or OMX, it is not assured that the backend will use specific hardware, there could be software only backends. > > And there's more to this than knowing if a encoder uses hardware. The > > hardware based on might still be slower in some use cases, its quality might > > be worse, it might only support different profiles than what you want to > > produce, etc. > > IMHO it would be good enough to state that a given element uses hw decode. > If it can't decode a given profile or if the quality is worse, shouldn't > matter much. > > The point is that in general we would like to try hw decode first. That's > probably covered by using playbin. But knowing if it is possible to hw > decode given video codec would help setup which codec should we use for > streaming in the host/guest machine.
*** This bug has been marked as a duplicate of bug 796921 ***