MediaInfo icon indicating copy to clipboard operation
MediaInfo copied to clipboard

MediaInfo displays "Progressive" for MXF/JPEG2000 with SMPTE 422 I2 wrapping mode

Open plondino opened this issue 2 years ago • 2 comments

Mediainfo displays "Progressive" for Scan type for an JPEG 2000 in an MXF wrapped with the I2 wrapping mode. The default is "Frame Undefined" (06 0E 2B 34 04 01 01 07 0D 01 03 01 02 0C 01 00) where the frame structure was not specified in the standard. ST 422:2013 defined new wrapping modes, including explicit interlaced modes.

I2 wrapping mode (06 0E 2B 34 04 01 01 0D 0D 01 03 01 02 0C 04 00) has the below frame structure:

Screen Shot 2022-09-13 at 10 12 10 AM Screen Shot 2022-09-13 at 10 12 45 AM

MediaInfo should read this as interlaced. I can provide a sample file.

plondino avatar Sep 14 '22 03:09 plondino

Mediainfo displays "Progressive" for Scan type for an JPEG 2000 in an MXF wrapped with the I2 wrapping mode.

As far as we understand the spec, the 2 stored fields are expected to be displayed at the same time ("frame" sample rate), so scan type is "progressive" on purpose. Does HW display a different output at 1.5 frame than 1 frame or 2 frames? i.e. at 1.5 frame (0.050 second), 1 field of first frame and 1 field of second frame are displayed and not the 2 fields of first frame like 17 ms sooner?

IMO what is missing in the MediaInfo report is how the frame is stored. We already show a specific fields "Store method" and "Fields per block" for MOV, doing the difference between the different possibilities of "fiel" atom, we could do same for MXF.

JeromeMartinez avatar Sep 14 '22 08:09 JeromeMartinez

I reached out to some SMPTE folks about this. Here is the response I got:

It looks like mediainfo might be using the FrameLayout property instead of using the Essence Container UL to determine whether the video is interlaced: in the case of I2, and as specified in ST 422, Table A.1, FrameLayout is set to FullFrame even though the video is interlaced.

This is my understanding as well - the old "Frame Undefined" wrapping was ambiguous and most implementations keyed off the FRAME_LAYOUT property. The new document defines three interlace wrapping modes (I1, I2, and F1) which are all interlaced content with different frame storage options. Progressive content should be wrapped with the P1 mode.

I do think having the store method is useful as well, but it doesn't supersede the fact that I2 wrapping is in fact interlaced.

plondino avatar Sep 22 '22 15:09 plondino