diff options
| author | Thomas Richter <thomas.richter@iis.fraunhofer.de> | 2021-05-31 17:03:12 +0200 |
|---|---|---|
| committer | Thomas Richter <thomas.richter@iis.fraunhofer.de> | 2021-05-31 17:03:12 +0200 |
| commit | 7e3380f5eb9c9441c26646415be3ffec4d01b2c0 (patch) | |
| tree | 9a7dae0bf415de10682968c48c3641e1d27880ae /src/as-02-wrap.cpp | |
| parent | a542b262538a782d379fb3943a226dd7b11f04a2 (diff) | |
Added JXS support for as-02-unwrap. Added additional parameter checking
for the picture coding UL in as-02-wrap. Added JXS support in as-02-info.
Added identification of JXS files in AS_DCP_MXF.cpp.
Diffstat (limited to 'src/as-02-wrap.cpp')
| -rwxr-xr-x | src/as-02-wrap.cpp | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/src/as-02-wrap.cpp b/src/as-02-wrap.cpp index 1703394..f3e31ee 100755 --- a/src/as-02-wrap.cpp +++ b/src/as-02-wrap.cpp @@ -956,11 +956,6 @@ public: out_file = filenames.back(); filenames.pop_back(); - if ( ! picture_coding.HasValue() ) - { - picture_coding = UL(g_dict->ul(MDD_JP2KEssenceCompression_BroadcastProfile_1)); - } - error_flag = false; } }; @@ -1001,6 +996,11 @@ write_JP2K_file(CommandOptions& Options) ASDCP::JP2K::PictureDescriptor PDesc; Parser.FillPictureDescriptor(PDesc); PDesc.EditRate = Options.edit_rate; + + if ( ! Options.picture_coding.HasValue() ) + { + Options.picture_coding = UL(g_dict->ul(MDD_JP2KEssenceCompression_BroadcastProfile_1)); + } if ( Options.verbose_flag ) { @@ -1211,6 +1211,28 @@ write_JXS_file(CommandOptions& Options) // set up essence parser Result_t result = Parser.OpenRead(Options.filenames.front().c_str()); + if ( ! Options.picture_coding.HasValue() ) + { + Options.picture_coding = UL(g_dict->ul(MDD_JPEGXSUnrestrictedCodestream)); + } + + if (ASDCP_SUCCESS(result) ) + { + // verify the picture essence coding. + if (!((UL(g_dict->ul(MDD_JPEGXSUnrestrictedCodestream)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSMain422_10Profile)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSMain444_12Profile)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSMain4444_12Profile)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSLight422_10Profile)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSLight444_12Profile)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSLightSubline422_10Profile)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSHigh444_12Profile)) == Options.picture_coding) || + (UL(g_dict->ul(MDD_JPEGXSHigh4444_12Profile)) == Options.picture_coding))) + { + result = RESULT_PARAM; + } + } + // set up MXF writer if ( ASDCP_SUCCESS(result) ) { @@ -1235,6 +1257,7 @@ write_JXS_file(CommandOptions& Options) *static_cast<ASDCP::MXF::GenericPictureEssenceDescriptor*>(tmp_dscr), *static_cast<ASDCP::MXF::JPEGXSPictureSubDescriptor*>(essence_sub_descriptors.back())); + if ( ASDCP_SUCCESS(result) ) { tmp_dscr->CodingEquations = Options.coding_equations; |
