diff options
| author | jhurst <jhurst@cinecert.com> | 2016-11-22 17:58:19 +0000 |
|---|---|---|
| committer | jhurst <> | 2016-11-22 17:58:19 +0000 |
| commit | 8fd602770d89acb171dbd878d8737ead85aa35d3 (patch) | |
| tree | 229577c9b4389f7e05694a1f4241d0a9160dd461 /src/AS_DCP_JP2K.cpp | |
| parent | b3e312cda7ce3e7027f5fb44ef2ffd87d713dd8d (diff) | |
o Added optional Generic Partition to IMF Aux Data prototype, used to carry global metadata
o Added support for 192, 200 and 240 fps images, includes 96, 100 and 120 fpe stereo
o Fixed raw essence detector for IMF Aux Data files
o Added missing MCA properties to MCALabelSubDescriptor (contributed by Ruppel)
o New MXF data type: LineMapPair
o Added default 0,0 VideoLineMap value when wrapping CDCI with as-02-wrap
o Added VideoLineMap property to GenericPictureEssenceDescriptor
o Added timed text unwrap support to as-02-unwrap (contributed by Ruppel)
Diffstat (limited to 'src/AS_DCP_JP2K.cpp')
| -rwxr-xr-x | src/AS_DCP_JP2K.cpp | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/src/AS_DCP_JP2K.cpp b/src/AS_DCP_JP2K.cpp index acb8f4e..937231f 100755 --- a/src/AS_DCP_JP2K.cpp +++ b/src/AS_DCP_JP2K.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2004-2014, John Hurst +Copyright (c) 2004-2016, John Hurst All rights reserved. Redistribution and use in source and binary forms, with or without @@ -397,7 +397,10 @@ lh__Reader::OpenRead(const std::string& filename, EssenceType_t type) || ( m_EditRate == EditRate_30 && m_SampleRate == EditRate_60 ) || ( m_EditRate == EditRate_48 && m_SampleRate == EditRate_96 ) || ( m_EditRate == EditRate_50 && m_SampleRate == EditRate_100 ) - || ( m_EditRate == EditRate_60 && m_SampleRate == EditRate_120 ) ) + || ( m_EditRate == EditRate_60 && m_SampleRate == EditRate_120 ) + || ( m_EditRate == EditRate_96 && m_SampleRate == EditRate_192 ) + || ( m_EditRate == EditRate_100 && m_SampleRate == EditRate_200 ) + || ( m_EditRate == EditRate_120 && m_SampleRate == EditRate_240 ) ) { DefaultLogSink().Debug("File may contain JPEG Interop stereoscopic images.\n"); return RESULT_SFORMAT; @@ -456,6 +459,30 @@ lh__Reader::OpenRead(const std::string& filename, EssenceType_t type) return RESULT_FORMAT; } } + else if ( m_EditRate == EditRate_96 ) + { + if ( m_SampleRate != EditRate_192 ) + { + DefaultLogSink().Error("EditRate and SampleRate not correct for 96/192 stereoscopic essence.\n"); + return RESULT_FORMAT; + } + } + else if ( m_EditRate == EditRate_100 ) + { + if ( m_SampleRate != EditRate_200 ) + { + DefaultLogSink().Error("EditRate and SampleRate not correct for 100/200 stereoscopic essence.\n"); + return RESULT_FORMAT; + } + } + else if ( m_EditRate == EditRate_120 ) + { + if ( m_SampleRate != EditRate_240 ) + { + DefaultLogSink().Error("EditRate and SampleRate not correct for 120/240 stereoscopic essence.\n"); + return RESULT_FORMAT; + } + } else { DefaultLogSink().Error("EditRate not correct for stereoscopic essence: %d/%d.\n", @@ -1330,6 +1357,15 @@ ASDCP::JP2K::MXFSWriter::OpenWrite(const std::string& filename, const WriterInfo else if ( PDesc.EditRate == ASDCP::EditRate_60 ) TmpPDesc.EditRate = ASDCP::EditRate_120; + else if ( PDesc.EditRate == ASDCP::EditRate_96 ) + TmpPDesc.EditRate = ASDCP::EditRate_192; + + else if ( PDesc.EditRate == ASDCP::EditRate_100 ) + TmpPDesc.EditRate = ASDCP::EditRate_200; + + else if ( PDesc.EditRate == ASDCP::EditRate_120 ) + TmpPDesc.EditRate = ASDCP::EditRate_240; + result = m_Writer->SetSourceStream(TmpPDesc, JP2K_S_PACKAGE_LABEL, PDesc.EditRate); } |
