View Bug Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001325||DCP-o-matic||[All Projects] Bugs||public||2018-06-12 13:51||2019-01-31 23:35|
|Target Version||2.14.0||Fixed in Version|
|Summary||0001325: Odd height reported by mediainfo for 4K MXFs|
mediainfo reports the following for 4K MXFs made by DoM
|Tags||No tags attached.|
|Estimated work required||Unknown|
Yup. MediaInfo 18.05 reports this for a quick test DCP in 4k. I see the same there, also with MXFs created with 2.11.17, and it happens both in Interop and SMPTE.
It looks normal for a commercial 4k Trailer created with (sigh...) Fraunhofer.
I have two versions of MediaInfo Installed (both from the App store). I was never inclined enough to find out why these two exist, when the later version received regular updates. Anyway, my old version shows correct Width/Height for 4k DCP-o-matic DCPs, while the latest version reports these strange flags pixel0 and original height/string. But wondering wether that's a bug in MediaInfo?
I have another basic MXF tool that displays
on DCP-o-matic MXFs.
When I add the Fraunhofer 4k DCP to a DCP-o-matic project and rewrap/recreate the DCP, MediaInfo gives the same strange header flags as with original DCP-o-matic created content - both in IOP and SMPTE.
MediaInfos XML dialog says:
mediainfo is getting the height from the DisplayHeight property of the MXF header (not the JPEG2000 size). I can't find an equivalent for Width, strangely. This DisplayHeight is never set up by asdcplib.
medainfo_notes (1,558 bytes)
MI.Inform_Get() MI is Core Then in Core.cpp; MI->Inform, MI is MediaInfoNameSpace::MediaInfoList. MediaInfo_Inform.cpp Inform MediaInfo_Inform.cpp 228 ish MediaInfoLib::Config.Inform_Get_ Valeur in MediaInfo_Inform.cpp:594 ih is pixel0 for Height (Nom is Height just above) StreamPos=0, Champ_Pos=148, Info_Text=1, Valuer=" pixel0" (then Original height 0, 152, 1, "1 080 pixels") Get is MediaInfo_Internal::Get (line 1535) On line 1716 of MediaInfo_Internal.cpp Stream[StreamKind][StreamPos][Parameter] is " pixel0" StreamKind=Stream_Video StreamPos=0 Parameter=148 Stream is a whole bunch of values print Stream in GDB 1998 1 998 pixels 0 pixel0 1080 1 080 pixels i.e. start with 0 then mangle it to pixel0 i.e. it looks like height is being read as 0 Stream is a vector<vector<ZtringList>> Apparently not written by Set? File__Analyze::Fill in File__Analyze_Streams.cpp is called with Parameter=148 and Value=" pixel0" Comes from File__Analyze::Value_Value123 in File__Analyze_Streams.cpp Parameter 147 comes into that Fill with Value 1080 Maybe coming from File_Jpeg::SIZ in File_Jpeg.cpp In File__Analyze_Streams.cpp around 465 case Video_Height happens; fills Video_Sampled_Height (a way after Video_Height in enum, 158) After this, Fill is again called with 147 with Value 0 Comes from File_Mxf.cpp line 3488 Descriptor->second.Height_Display is 0 Descriptor->second.Width_Display is -1 i.e. its the MXF descriptor which has height 0? mxfdump has StoredWidth=1998, StoredHeight=1080, DisplayHeight=0... (but no DisplayWidth...)
medainfo_notes (1,558 bytes)
There's my cryptic notes while I was debugging it.
Should be fixed by asdcplib 7be3c75f1aa9d0fd9836f718aacef647180877ad
|2018-06-12 13:51||carl||New Bug|
|2018-06-13 12:19||Carsten||Note Added: 0002485|
|2018-06-13 22:02||Carsten||Note Added: 0002486|
|2019-01-31 23:29||carl||Note Added: 0003008|
|2019-01-31 23:31||carl||Note Edited: 0003008||View Revisions|
|2019-01-31 23:32||carl||File Added: medainfo_notes|
|2019-01-31 23:32||carl||Note Added: 0003009|
|2019-01-31 23:35||carl||Note Added: 0003010|
|2019-01-31 23:35||carl||Assigned To||=> carl|
|2019-01-31 23:35||carl||Status||new => resolved|
|2019-01-31 23:35||carl||Resolution||open => fixed|