Conversation
cozdas
commented
Jan 28, 2026
- Exploratory work on SMPTE CLF format, currently supports reading the main new features only.
…e main new features only. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
…m. There are still some lose ends. - The reader no longer allows the Version and xmlns attributes at the same time - added --smpte switch to ociomakeclf tool. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
…when" the xmlns is an SMPTE version text. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
bceed7c to
bf7b0dd
Compare
- Now enforcing the ID to be ST2136-1:2024 on read and write. - now enforcing content of CLF version string if it's present in a SMPTE CLF. - Added more tests Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
… more generic --format %s - For SMPTE variant, the write now writes v3 instead of ST2136-1:2024 - Re-worked the version loading logic to untangle it a bit. - replaced the clf test data folder with the new folder structure and updated the existing test accordingly. - TODO: add tests for the newly added clf files Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
doug-walker
left a comment
There was a problem hiding this comment.
Here are some initial comments. I'm wondering if it would be a worthwhile simplification to not have two separate formats.
- Adding separate element and attribute Id's - Adding warning comments to few misleading elements which break the general design. - Simplifying the SMPTE version handling. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
- updating the test files accordingly - Some cleanup Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
- General cleanup, hopefully tests will be happy now. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
51d0ccf to
0514ee7
Compare
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
0514ee7 to
614a22f
Compare
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
…on the group ops. It uses a raw config to create the ops. The generated Id matches the id attribute that the CTF writer generates. - createclf tool is updated to have the generateid flag - added experimental STRIP_NAMESPACES control flag to CTF parser. When set to true, all the name spaces are stripped before parsing the elements. This makes the parser understand elements with name spaces (e.g. clf:ProcessList). Parser can still be confused if multiple names paces are used though. - CTF TransformWriter::generateID() now generates the id always in the SMPTE format - Added few more tests - general cleanup Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
doug-walker
left a comment
There was a problem hiding this comment.
Sorry for leading you in the wrong direction on the GroupTransform::getCacheID!
And sorry that this is turning into a bigger project than anticipated. Here are some other comments.
- ociomakeclf now uses optimized processors's cache ID to populate Id Element. - make sure that Processor always generate UUID as the cacheID, even when it has zero ops. - misleading CTFReaderTransform::getOps() function name is changed to getOpDataVec() Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
…ow there's a switch to turn that off during parsing. Currently the name space stripping it turned off during the info element parsing. - all of the encountered input and output descriptors are now collected just like the description element. collecting the language attribute will need re-working the whole metadata structure, which can be the next step. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
- CLF reader now allows non-compliant Id elements, but with a warning. Writer still throws. - More tests added - General cleanup. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
- remove id attr from the broadcast clf (unbreak the build) - Expand the tests Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
…ces. Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
doug-walker
left a comment
There was a problem hiding this comment.
Looks great! Here are the few remaining items I found.
doug-walker
left a comment
There was a problem hiding this comment.
Here is where I recommend inserting the new tests in FileFormatCTF_tests.cpp.
doug-walker
left a comment
There was a problem hiding this comment.
I un-resolved a two items in the conversation above:
- Add the requested process_list_conflicting_versions.ctf and test.
- Add the requested process_list_higher_ns_version.clf and test.
But the highest priority is to start the PR with whatever we have as soon as possible. Remaining items could come in additional commits.
| if (!idEl.empty()) | ||
| { | ||
| m_formatter.writeContentTag(METADATA_INPUT_DESCRIPTOR, inputDesc); | ||
| if (m_subFormat == SubFormat::FORMAT_CLF && !ValidateSMPTEId(idEl)) |
There was a problem hiding this comment.
You could remove the subformat check, even if we write it in CTF, it should validate.
Signed-off-by: cuneyt.ozdas <cuneyt.ozdas@autodesk.com>
doug-walker
left a comment
There was a problem hiding this comment.
AWESOME, nice work! Please proceed with the public PR.
Signed-off-by: ozdasc <cuneyt.ozdas@autodes.com>