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 792589 - msdk: decode: Add VC1 decoder
msdk: decode: Add VC1 decoder
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 789886
 
 
Reported: 2018-01-17 00:30 UTC by sreerenj
Modified: 2018-02-13 23:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Enable VC1 decode support in msdk plugin (9.81 KB, patch)
2018-01-17 00:34 UTC, sreerenj
none Details | Review
msdk: dec: Add non-packetized stream handling support (4.19 KB, patch)
2018-01-20 01:15 UTC, sreerenj
none Details | Review
msdk: vc1_dec: Add Advanced profile (WVC1) support (2.70 KB, patch)
2018-01-20 01:15 UTC, sreerenj
none Details | Review
Enable VC1 decode support in msdk plugin (9.82 KB, patch)
2018-02-13 22:58 UTC, sreerenj
committed Details | Review
msdk: dec: Add non-packetized stream handling support (4.20 KB, patch)
2018-02-13 22:59 UTC, sreerenj
committed Details | Review
msdk: vc1_dec: Add Advanced profile (WVC1) support (2.96 KB, patch)
2018-02-13 23:00 UTC, sreerenj
committed Details | Review

Description sreerenj 2018-01-17 00:30:49 UTC
Enable VC1 decoder in MSDK plugin.

VC1 enablement is not straightforward like other codecs because of the input stream formats supported by MediaSDK.

* Simple & Main profile (WMV3)

We can enable Simple and Main profile decode with the usage of vc1parse in the pipeline. MSDK expecting in-stream sequence layer (SMPTE 421M Annex L, Table 265) for simple and main profile.

The decodebin/playbin won't work because: 
1: most of the asf streams output codec-data with 4 bytes sequence header (Table SMPTE 421M Annex L 263)
2: vc1parse is not yet an autoplugging element in the pipeline.
3: we don't have format conversion support in msdkvc1dec yet.

* Advanced Profile (WVC1)

Adding support for WVC1 requires more changes in msdk base decoder because:
The current implementation of msdk base decoder expecting a full frame at the input, which mandates a parser before the decoder in many cases(eg: avc decoder only supports "byte-stream+au"). So there is no global mfxBitstream tacking (no support for bitstream appending to the same mfxBitstream) is enabled.
Comment 1 sreerenj 2018-01-17 00:34:23 UTC
Created attachment 366910 [details] [review]
Enable VC1 decode support in msdk plugin
Comment 2 sreerenj 2018-01-20 01:15:17 UTC
Created attachment 367122 [details] [review]
msdk: dec: Add non-packetized stream handling support
Comment 3 sreerenj 2018-01-20 01:15:58 UTC
Created attachment 367123 [details] [review]
msdk: vc1_dec: Add Advanced profile (WVC1) support
Comment 4 sreerenj 2018-02-13 22:58:43 UTC
Created attachment 368330 [details] [review]
Enable VC1 decode support in msdk plugin
Comment 5 sreerenj 2018-02-13 22:59:36 UTC
Created attachment 368331 [details] [review]
msdk: dec: Add non-packetized stream handling support
Comment 6 sreerenj 2018-02-13 23:00:21 UTC
Created attachment 368332 [details] [review]
msdk: vc1_dec: Add Advanced profile (WVC1) support
Comment 7 sreerenj 2018-02-13 23:05:22 UTC
Review of attachment 368330 [details] [review]:

commit 760e6e54a7353584f4933ced7202a326f4be84d9
Comment 8 sreerenj 2018-02-13 23:06:08 UTC
Review of attachment 368331 [details] [review]:

commit 55c0d7205d99adaea8edf7690861107cab085cb7
Comment 9 sreerenj 2018-02-13 23:07:45 UTC
Review of attachment 368332 [details] [review]:

commit 173b07ba11b48ae837351d4c6ac3c6d3c843ff28