summaryrefslogtreecommitdiff
path: root/src/AS_DCP_JP2K.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2006-11-03 18:28:09 +0000
committerjhurst <>2006-11-03 18:28:09 +0000
commit9f903fec9d68fc58399a925b0311af3dc9a3faf2 (patch)
treeef148902e163b192794947539afe5580d3c5797c /src/AS_DCP_JP2K.cpp
parentc1e4a07e40fb33558f445d333c7f03a6572f3f14 (diff)
2K.4K switching
Diffstat (limited to 'src/AS_DCP_JP2K.cpp')
-rwxr-xr-xsrc/AS_DCP_JP2K.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/AS_DCP_JP2K.cpp b/src/AS_DCP_JP2K.cpp
index 09d1981..0986a1d 100755
--- a/src/AS_DCP_JP2K.cpp
+++ b/src/AS_DCP_JP2K.cpp
@@ -344,7 +344,6 @@ ASDCP::JP2K::MXFWriter::h__Writer::JP2K_PDesc_to_MD(JP2K::PictureDescriptor& PDe
assert(m_EssenceSubDescriptor);
MXF::RGBAEssenceDescriptor* PDescObj = (MXF::RGBAEssenceDescriptor*)m_EssenceDescriptor;
- PDescObj->Codec.Set(Dict::ul(MDD_JP2KEssenceCompression));
PDescObj->SampleRate = PDesc.EditRate;
PDescObj->ContainerDuration = PDesc.ContainerDuration;
PDescObj->StoredWidth = PDesc.StoredWidth;
@@ -352,7 +351,17 @@ ASDCP::JP2K::MXFWriter::h__Writer::JP2K_PDesc_to_MD(JP2K::PictureDescriptor& PDe
PDescObj->AspectRatio = PDesc.AspectRatio;
PDescObj->FrameLayout = 0;
- m_EssenceSubDescriptor->Rsize = PDesc.Rsize;
+ if ( PDesc.StoredWidth < 2049 )
+ {
+ PDescObj->Codec.Set(Dict::ul(MDD_JP2KEssenceCompression_2K));
+ m_EssenceSubDescriptor->Rsize = 3;
+ }
+ else
+ {
+ PDescObj->Codec.Set(Dict::ul(MDD_JP2KEssenceCompression_4K));
+ m_EssenceSubDescriptor->Rsize = 4;
+ }
+
m_EssenceSubDescriptor->Xsize = PDesc.Xsize;
m_EssenceSubDescriptor->Ysize = PDesc.Ysize;
m_EssenceSubDescriptor->XOsize = PDesc.XOsize;
@@ -396,7 +405,11 @@ ASDCP::JP2K::MXFWriter::h__Writer::OpenWrite(const char* filename, ui32_t Header
if ( ASDCP_SUCCESS(result) )
{
m_HeaderSize = HeaderSize;
- m_EssenceDescriptor = new RGBAEssenceDescriptor;
+ RGBAEssenceDescriptor* tmp_rgba = new RGBAEssenceDescriptor;
+ tmp_rgba->ComponentMaxRef = 4095;
+ tmp_rgba->ComponentMinRef = 0;
+
+ m_EssenceDescriptor = tmp_rgba;
m_EssenceSubDescriptor = new JPEG2000PictureSubDescriptor;
m_EssenceSubDescriptorList.push_back((FileDescriptor*)m_EssenceSubDescriptor);