Menu

libMXF Merge Request #1: Thid is our edit of libmxf (open)

Merging...

Merged

Something went wrong. Please, merge manually

Checking if merge is possible...

Something went wrong. Please, merge manually

Aleksandr.Slobodeniuk wants to merge 4 commits from /u/yucacodec/bmxlib-libmxf/ to master, 2016-07-20

all the commits are checked on practice.

Company - Bram Technologies, TV broadcasting and pre-editing software.

Commit Date  
[8f93a4] by Aleksandr.Slobodeniuk Aleksandr.Slobodeniuk

support for:
- mpeg2 pal
- mpeg2 pal 422p
- IFrame SD 422p
- IFrame HD 422p
- IFrame HD

2016-07-15 09:57:34 Tree
[a99c7c] by Aleksandr.Slobodeniuk Aleksandr.Slobodeniuk

support for 2yuv

2016-07-15 08:37:23 Tree
[2c8684] by Aleksandr.Slobodeniuk Aleksandr.Slobodeniuk

Support for non-latin utf-8 path of files under windows.

2016-07-14 14:59:49 Tree
[501b48] by Aleksandr.Slobodeniuk Aleksandr.Slobodeniuk

Fix of a bug: built under windows libmxf can't read files with size higher then ~4 Gb.

2016-07-14 14:27:53 Tree

Discussion

  • Philip de Nier

    Philip de Nier - 2016-07-18

    Thanks for this. I'll comment on each using the commit id. There is a general issue with newline changes, but those are easy for me to remove.

    501b48:
    I'm not sure this is a bug. I tried the existing check_file_is_seekable() function and it worked on a file > 4GB. Note that fstat in this context is only used to extract the mode and the 32-bit size limitation is not an issue. Is there possibly a version of Visual Studio or Windows where fstat fails?

    2c8684:
    Seems ok to me. Just 2 minor comments:
    MultiByteToWideChar includes the null character when the 4th parameter (cbMultiByte) is -1. You therefore don't need to allocate sizew "+ 1"
    it would be better to add a const before the mode parameter even though the MSVC compiler might not complain about it (haven't actually checked it does)

    a99c7c:
    In the comment the fourcc should be 'yuv2' , not '2yuv'. It might be better to name the label using the prefix YUV2 rather than YUYV so that it matches the reference used in the MXF spec. (and quicktime). However, I'm not sure exactly what naming scheme to start using here longer term. The last comment is that the (unused) MXF_CMDEF_L(YUYV_SD) declaration needs to be removed.

    8f93a4:
    The MPEG2_MP_ML and MPEG2_422P_ML label declarations aren't valid labels and don't appear in the SMPTE labels registry. I assume these were intended to be for the Long GOP variants given some of the clues in the bmx code.

     
    • Aleksandr.Slobodeniuk

      8f93a4:

      Labels are copied from here:

      https://smpte-ra.org/sites/default/files/Labels.xml

      <Entry>
      <Register>Labels</Register>
      <NamespaceName>http://www.smpte-ra.org/reg/400/2012</NamespaceName>
      <Symbol>MPEG2MPML</Symbol>
      <UL>urn:smpte:ul:060e2b34.04010101.04010202.01010000</UL>
      <Kind>NODE</Kind>
      <Name>MPEG-2 MP-ML</Name>
      <Definition>Identifies MPEG-2 MP@ML coding</Definition>
      <IsDeprecated>false</IsDeprecated>
      </Entry>
      

      501b48:

      Visual Studio 2015, Windows 7

      include of fstat is from Windows 10 SDK:
      c:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\sys\stat.h

      Build type is x86.

       

      Last edit: Aleksandr.Slobodeniuk 2016-07-20
  • Philip de Nier

    Philip de Nier - 2016-07-20

    8f93a4:

    Note that your labels have a 03 at the end of the second group, not 01: 060e2b34.04010103.... The other issue is that these are NODE labels (see Kind). What you need are LEAF labels.