summaryrefslogtreecommitdiff
path: root/src/AS_DCP_JP2K.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2006-03-26 02:16:21 +0000
committerjhurst <>2006-03-26 02:16:21 +0000
commitfdf31e0105bf8272a6b7fa9c4039941dff37a271 (patch)
treee113203687b7df413ecfaf36615de19a803a965e /src/AS_DCP_JP2K.cpp
parentdde89765744dad9a6b9d13126092d9bfc2dbc0d7 (diff)
now reads/writes 3-partition files
Diffstat (limited to 'src/AS_DCP_JP2K.cpp')
-rwxr-xr-xsrc/AS_DCP_JP2K.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/AS_DCP_JP2K.cpp b/src/AS_DCP_JP2K.cpp
index bf276e7..f08203a 100755
--- a/src/AS_DCP_JP2K.cpp
+++ b/src/AS_DCP_JP2K.cpp
@@ -320,10 +320,14 @@ class ASDCP::JP2K::MXFWriter::h__Writer : public ASDCP::h__Writer
public:
PictureDescriptor m_PDesc;
+ byte_t m_EssenceUL[SMPTE_UL_LENGTH];
ASDCP_NO_COPY_CONSTRUCT(h__Writer);
- h__Writer() : m_EssenceSubDescriptor(0) {}
+ h__Writer() : m_EssenceSubDescriptor(0) {
+ memset(m_EssenceUL, 0, SMPTE_UL_LENGTH);
+ }
+
~h__Writer(){}
Result_t OpenWrite(const char*, ui32_t HeaderSize);
@@ -420,7 +424,11 @@ ASDCP::JP2K::MXFWriter::h__Writer::SetSourceStream(const PictureDescriptor& PDes
m_PDesc.EditRate, 24 /* TCFrameRate */);
if ( ASDCP_SUCCESS(result) )
- result = m_State.Goto_READY();
+ {
+ memcpy(m_EssenceUL, Dict::ul(MDD_JPEG2000Essence), SMPTE_UL_LENGTH);
+ m_EssenceUL[SMPTE_UL_LENGTH-1] = 1; // first (and only) essence container
+ result = m_State.Goto_READY();
+ }
return result;
}
@@ -443,7 +451,7 @@ ASDCP::JP2K::MXFWriter::h__Writer::WriteFrame(const FrameBuffer& FrameBuf, AESEn
Entry.StreamOffset = m_StreamOffset;
if ( ASDCP_SUCCESS(result) )
- result = WriteEKLVPacket(FrameBuf, Dict::ul(MDD_JPEG2000Essence), Ctx, HMAC);
+ result = WriteEKLVPacket(FrameBuf, m_EssenceUL, Ctx, HMAC);
if ( ASDCP_SUCCESS(result) )
{