Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@loudmax
Copy link
Collaborator

@loudmax loudmax commented Oct 21, 2025

Hi,

the AVC descriptor metadata were parsed together with the first frame. However, the MXF header has already been written at this point and only placeholders have been used. Video editors, e.g. Avid or Adobe, cannot open the file without the corresponding descriptor metadata.
This patch updates the MXF header metadata after the first frame so that growing files can be read.

Thomas

Copy link
Collaborator

@emcodem emcodem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As bespoke, some comments from my side

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why assert only in case of CW_UNKNOWN_CLIP_TYPE? Should this BMX_ASSERT(false) in the default case instead?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The assert should really only be executed for CW_UNKNOWN_CLIP_TYPE. However, I have now added the remaining clip types to avoid any confusion in the future.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is update_header only used in the case of AVC_CAVLC_444_INTRA? Could the other formats also benefit from it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The switch case contains all AVC from Baseline to CAVLC 444 Intra.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because you asked about this when we talked last time: personally i like the idea of this patch that the core library for OP1AFile is not changed entirely but only a function added. Deep changes in the core library will most likely lead to unforeseen and hard to test behaviour. In a very old PR from myself, Philip commented a similar approach as reasonable. https://sourceforge.net/p/bmxlib/discussion/general/thread/feb92cc5/#86e1

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

Update the MXF header metadata after the first frame so that the parsed AVC descriptor metadata are available from the beginning.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants