Repository navigation
Decode MXF essence coding labels by registry family (3.1.3) - #6
Merged
Merged
Conversation
codecNameForUL matched byte 13 alone, so picture and sound labels and different codec families collided: D-10 and DVCPRO HD read as PCM, DV25 and JPEG 2000 as MPEG-2, AC-3/MPEG audio as PCM, and ProRes, DNxHD/DNxHR, FFV1 and others returned no codec. Decode RP 224 labels by category (byte 9), compression (byte 11) and family/member (bytes 12-13), cross-checked against FFmpeg's mxf tables and bmx's label table, returning ffprobe-style codec names and profiles. Remove the byte-11 == 0x04 branch and 0x41 ProRes mapping, which match no registered label. ProRes in MXF now uses the MOV FourCC defaults (decode depth instead of ComponentDepth) and resolves 4444 alpha from AlphaSampleDepth or, like ffprobe, the first frame header. Verified against FFmpeg-written MXF for every codec its muxer supports and the local Sony/Resolve/XDCAM/DNxHR samples: codec, profile and pix_fmt match ffprobe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MXFReader.codecNameForULmatched on byte 13 alone, so picture/sound labels and codec families collided: D-10 and DVCPRO HD read as PCM, DV25 and JPEG 2000 as MPEG-2, AC-3/MPEG audio as PCM, and ProRes, DNxHD/DNxHR, FFV1 etc. returned no codec.mxf.c/mxfenc.cand bmx's label table. Codec names follow the existing conventions: ProRes FourCCs (as MOV), ffprobe short names otherwise (dnxhd,dvvideo,jpeg2000,ffv1,vc1, …), with ffprobe profiles where the label pins them down (MPEG-2, AVC, ProRes, DNxHD/DNxHR).AlphaSampleDepthor, like ffprobe, the first frame header (bounded 26-byte read).0x04branch and0x41→ ProRes mapping, which match no registered label (theirj2k/dvnames becomejpeg2000/dvvideo).CodecShortcovers the new codec names.4444XQprofile name).Scripts/verify-release.sh 3.1.3passes locally.🤖 Generated with Claude Code