gpac / ComplianceWarden

A pluggable compliance checker (ISOBMFF, HEIF/MIAF/AVIF, AV1 HDR10+)
https://gpac.github.io/ComplianceWarden-wasm/
Other
16 stars 7 forks source link

Validate Uncompressed Data #66

Open dukesook opened 10 months ago

dukesook commented 10 months ago

I'm interested in having the Compliance Warden verify uncompressed data as per 23001-17.

Perhaps this warrants a new uncompressed.cpp file with its own SpecDesc object. I imagine it would depend on the heif spec, but 23001-17 can also apply to mp4 files.

Any thoughts?

rbouqueau commented 10 months ago

That would be great!

The first thing is to work on a new branch. Submit a pull request.

it would depend on the heif spec, but 23001-17 can also apply to mp4 files.

The dependency on heif can already be expressed. I am not familiar enough with the 23001-17 spec. If some rules are common to uncompressed items and tracks, you can store them in a std::vector<RuleDesc> and add it to the SpecDesc.rules member.

The list of rules can be inferred from the normative statements (SHALL, SHOULD...). Do you have such a list?

An important part is to provide both positive and negative test vectors. I can certainly help transform a sample into a NASM assembly file for further editing.

dukesook commented 10 months ago

I don't have a list of rules, but they are explicit in the the 23011-17 document itself by searching the terms SHALL and SHOULD.

Yes, I can intentionally create non-compliant uncompressed files simply to test the new rules in the SpecDesc.