GNOME Bugzilla – Bug 796566
msdk : dec: Add dynamic resolution change support
Last modified: 2018-07-03 00:32:40 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.
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.
Review of attachment 372837 [details] [review]: A modified version has been pushed.
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.