GNOME Bugzilla – Bug 736474
vc1parse: malformed sequence layer header and STRUCT_C
Last modified: 2014-09-13 13:50:22 UTC
I was playing around with vc1parse to see how I can implement format conversion and I think I found that sequence layer header and STRUCT_C are malformed when they are created in update_caps(). For STRUCT_C, some reserved bits are not set to their required value as specified by SMPTE 421M Annex J. For Sequence Layer, defined in Annex L, 0x00000004 unsigned integer is before STRUCT_C and sequence layer shall be represented as a sequence of 32 bits unsigned integers and shall be serialized in little-endian byte order except for STRUCT_C which shall be serialized in big-endian byte-order.
Created attachment 285909 [details] [review] vc1parse: fix malformed sequence layer header and STRUCT_C Proposal patch to fix this.
commit 2071c139364be9bde1b10ade86d056464a90ebb7 Author: Aurélien Zanelli <aurelien.zanelli@parrot.com> Date: Thu Sep 11 14:36:31 2014 +0200 vc1parse: fix malformed sequence layer header and STRUCT_C This commit fix several issues with sequence layer header forging on update_caps(): - 0x00000004 unsigned integer is before STRUCT_C. - Set reserved bits of STRUCT_C to their values for simple/main profiles in sequence layer header format and ASF header format. - Sequence layer shall be represented as a sequence of 32 bits unsigned integers and shall be serialized in little-endian byte order except for STRUCT_C which shall be serialized in big-endian byte-order. See SMPTE 421M Annex L for more details about sequence layer format. https://bugzilla.gnome.org/show_bug.cgi?id=736474