X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FAS_DCP_JP2K.cpp;h=009586a0370e0efef37b8078d0b566c9aa95fd85;hb=7088ba5125e89164ccf1d4d810b819bdd2e3ccff;hp=20e3e8c3594deb1e655c13a139b051864c62943a;hpb=65a8ec13b66c700b74788d3fc7525e91cf62bab0;p=asdcplib.git diff --git a/src/AS_DCP_JP2K.cpp b/src/AS_DCP_JP2K.cpp index 20e3e8c..009586a 100755 --- a/src/AS_DCP_JP2K.cpp +++ b/src/AS_DCP_JP2K.cpp @@ -359,7 +359,8 @@ lh__Reader::ReadFrame(ui32_t FrameNum, JP2K::FrameBuffer& FrameBuf, if ( ! m_File.IsOpen() ) return RESULT_INIT; - return ReadEKLVFrame(FrameNum, FrameBuf, m_Dict.ul(MDD_JPEG2000Essence), Ctx, HMAC); + assert(m_Dict); + return ReadEKLVFrame(FrameNum, FrameBuf, m_Dict->ul(MDD_JPEG2000Essence), Ctx, HMAC); } @@ -547,7 +548,8 @@ public: { ui32_t SequenceNum = FrameNum * 2; SequenceNum += ( phase == SP_RIGHT ) ? 2 : 1; - result = ReadEKLVPacket(FrameNum, SequenceNum, FrameBuf, m_Dict.ul(MDD_JPEG2000Essence), Ctx, HMAC); + assert(m_Dict); + result = ReadEKLVPacket(FrameNum, SequenceNum, FrameBuf, m_Dict->ul(MDD_JPEG2000Essence), Ctx, HMAC); } return result; @@ -706,14 +708,15 @@ lh__Writer::JP2K_PDesc_to_MD(JP2K::PictureDescriptor& PDesc) // PixelLayout byte_t[PixelLayoutSize] = s_PixelLayoutXYZ // } + assert(m_Dict); if ( PDesc.StoredWidth < 2049 ) { - PDescObj->PictureEssenceCoding.Set(m_Dict.ul(MDD_JP2KEssenceCompression_2K)); + PDescObj->PictureEssenceCoding.Set(m_Dict->ul(MDD_JP2KEssenceCompression_2K)); m_EssenceSubDescriptor->Rsize = 3; } else { - PDescObj->PictureEssenceCoding.Set(m_Dict.ul(MDD_JP2KEssenceCompression_4K)); + PDescObj->PictureEssenceCoding.Set(m_Dict->ul(MDD_JP2KEssenceCompression_4K)); m_EssenceSubDescriptor->Rsize = 4; } @@ -796,6 +799,7 @@ lh__Writer::OpenWrite(const char* filename, EssenceType_t type, ui32_t HeaderSiz ASDCP::Result_t lh__Writer::SetSourceStream(const PictureDescriptor& PDesc, const std::string& label, ASDCP::Rational LocalEditRate) { + assert(m_Dict); if ( ! m_State.Test_INIT() ) return RESULT_STATE; @@ -806,13 +810,13 @@ lh__Writer::SetSourceStream(const PictureDescriptor& PDesc, const std::string& l Result_t result = JP2K_PDesc_to_MD(m_PDesc); if ( ASDCP_SUCCESS(result) ) - result = WriteMXFHeader(label, UL(m_Dict.ul(MDD_JPEG_2000Wrapping)), - PICT_DEF_LABEL, UL(m_Dict.ul(MDD_PictureDataDef)), + result = WriteMXFHeader(label, UL(m_Dict->ul(MDD_JPEG_2000Wrapping)), + PICT_DEF_LABEL, UL(m_Dict->ul(MDD_PictureDataDef)), LocalEditRate, 24 /* TCFrameRate */); if ( ASDCP_SUCCESS(result) ) { - memcpy(m_EssenceUL, m_Dict.ul(MDD_JPEG2000Essence), SMPTE_UL_LENGTH); + memcpy(m_EssenceUL, m_Dict->ul(MDD_JPEG2000Essence), SMPTE_UL_LENGTH); m_EssenceUL[SMPTE_UL_LENGTH-1] = 1; // first (and only) essence container result = m_State.Goto_READY(); }