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 796566 - msdk : dec: Add dynamic resolution change support
msdk : dec: Add dynamic resolution change support
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 1.15.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 789886
 
 
Reported: 2018-06-11 23:34 UTC by sreerenj
Modified: 2018-07-03 00:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
msdk: dec: Add dynamic-configuration change support (29.22 KB, patch)
2018-06-26 20:01 UTC, sreerenj
rejected Details | Review

Description sreerenj 2018-06-11 23:34:22 UTC
Currently, msdk dec supports dynamic resolution change (partially) but not in a way it supposed to, and you will get incorrect md5 for decoded frames.

One of the major issues I have seen is in the msdk design itself.
According to MediaSDK, even if there is a resolution change, the msdk decode api works without any problem using the existing surface pool and generate a warning.
IMHO, this is a far from ideal solution. 
Assume the video sample has 1080p frames and 720p frames if we follow the msdk spec behavior/recommendation the application will end up using 1080p surfaces even for 720p videos.

The second issue we need to handle in gst-msdk is the case where the new incoming video frame has higher resolution, then, of course, we need reinitializing of the whole decoder. This is not yet handled in gst-msdk.
Comment 1 sreerenj 2018-06-26 20:01:19 UTC
Created attachment 372837 [details] [review]
msdk: dec: Add dynamic-configuration change support

The patch brings many changes to fit the msdk mechanism with gstreamer flow.

This will be pushed only based on validation feedback.
Comment 2 sreerenj 2018-07-02 23:57:45 UTC
Review of attachment 372837 [details] [review]:

A modified version has been pushed.
Comment 3 sreerenj 2018-07-03 00:32:40 UTC
Pushed a set of patches:

commit 1e95c03c7d4c5e683536ebe5e2d549db9ef4e7a8
commit 5c88da4a4c26f61c32b931a2fc48f16700b22ebf
commit 9efb4c9179aa48437d8d4dbe7fc78f4494602005
commit ad6162e99b8b06d11a783929720c7e94c113b57b
commit 1250af8f094b586c21104a5695636e488a9aa014
commit d63a1b4e3fba2653fef4b9230552cf4791013150
commit 84c33be0c03a1521a332ccf2526076b24d8503a1


Note: This will break a few of the vp8 video decoding, but ideally this should be fixed in MediaSDK: https://github.com/Intel-Media-SDK/MediaSDK/issues/360.
Later on, we can add some workarounds in gst-msdk if MediaSDK doesn't provide any fix.