diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-12-21 00:12:41 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-12-22 23:16:45 +0100 |
| commit | f657337815c5f21e2edd99fdaa501f0ff8acc6b1 (patch) | |
| tree | f14f69f5befa0862c7fa1614c59992e1cd4e6534 | |
| parent | 6518f7e4e8b02a1d78b6121c2032fa27c50ddc78 (diff) | |
Set plaintext offset to 0 when writing J2K frames (DoM #2391)
Without this the EasyDCP verifier gives errors like
"sum of individual components is larger than the file size"
This change results in there being no plaintext metadata in each
encoded frame. It looks like the DCP-2000 was fixed in around
2010 to not crash with plaintext metadata, and the asdcplib tools
at some point started defaulting to this behaviour also.
| -rw-r--r-- | src/mono_picture_asset_writer.cc | 2 | ||||
| -rw-r--r-- | src/stereo_picture_asset_writer.cc | 2 | ||||
| -rw-r--r-- | test/ref/DCP/encryption_test/ASSETMAP.xml | 2 | ||||
| -rw-r--r-- | test/ref/DCP/encryption_test/cpl_6affb8ee-0020-4dff-a53c-17652f6358ab.xml | 16 | ||||
| -rw-r--r-- | test/ref/DCP/encryption_test/pkl_93887017-5d6a-4ee5-b5f4-161b06281d0e.xml | 20 | ||||
| -rw-r--r-- | test/ref/DCP/encryption_test/video.mxf | bin | 44032 -> 44008 bytes |
6 files changed, 23 insertions, 19 deletions
diff --git a/src/mono_picture_asset_writer.cc b/src/mono_picture_asset_writer.cc index dd29c19a..7fd58114 100644 --- a/src/mono_picture_asset_writer.cc +++ b/src/mono_picture_asset_writer.cc @@ -106,6 +106,8 @@ MonoPictureAssetWriter::write (uint8_t const * data, int size) boost::throw_exception (MiscError ("could not parse J2K frame")); } + _state->frame_buffer.PlaintextOffset(0); + uint64_t const before_offset = _state->mxf_writer.Tell (); string hash; diff --git a/src/stereo_picture_asset_writer.cc b/src/stereo_picture_asset_writer.cc index b9120cd9..6ee271bc 100644 --- a/src/stereo_picture_asset_writer.cc +++ b/src/stereo_picture_asset_writer.cc @@ -100,6 +100,8 @@ StereoPictureAssetWriter::write (uint8_t const * data, int size) boost::throw_exception (MiscError ("could not parse J2K frame")); } + _state->frame_buffer.PlaintextOffset(0); + uint64_t const before_offset = _state->mxf_writer.Tell (); string hash; diff --git a/test/ref/DCP/encryption_test/ASSETMAP.xml b/test/ref/DCP/encryption_test/ASSETMAP.xml index 2b762d37..cf6c74f5 100644 --- a/test/ref/DCP/encryption_test/ASSETMAP.xml +++ b/test/ref/DCP/encryption_test/ASSETMAP.xml @@ -37,7 +37,7 @@ <Path>video.mxf</Path> <VolumeIndex>1</VolumeIndex> <Offset>0</Offset> - <Length>44032</Length> + <Length>44008</Length> </Chunk> </ChunkList> </Asset> diff --git a/test/ref/DCP/encryption_test/cpl_6affb8ee-0020-4dff-a53c-17652f6358ab.xml b/test/ref/DCP/encryption_test/cpl_6affb8ee-0020-4dff-a53c-17652f6358ab.xml index 2043a079..73fad88f 100644 --- a/test/ref/DCP/encryption_test/cpl_6affb8ee-0020-4dff-a53c-17652f6358ab.xml +++ b/test/ref/DCP/encryption_test/cpl_6affb8ee-0020-4dff-a53c-17652f6358ab.xml @@ -23,7 +23,7 @@ <EntryPoint>0</EntryPoint> <Duration>24</Duration> <KeyId>urn:uuid:ac8d301c-e5d9-4343-b6f3-ba2668adbe56</KeyId> - <Hash>8r+Gnfyg5fxetQxyddD7fjzH3Qo=</Hash> + <Hash>AVtX8wz76uG2Uw0Qbc9+DKnHUfw=</Hash> <FrameRate>24 1</FrameRate> <ScreenAspectRatio>1998 1080</ScreenAspectRatio> </MainPicture> @@ -57,15 +57,15 @@ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <dsig:DigestValue>0FHIG9HMW/Sp8GfYHLV0p86GCWY=</dsig:DigestValue> + <dsig:DigestValue>i2q8BhQwGZp0cROMkuiI4sE0e9w=</dsig:DigestValue> </dsig:Reference> </dsig:SignedInfo> - <dsig:SignatureValue>tk/wncwRngGXR2towgLMj+3Odk6pbPQtvcYTnILFu2M15IN6Iau3SiNW+2TBYRMK -zuNVKBxYX2Q0Hk5znioC8q/GHpN1NWV+oglEaAJmqkmTX/KL2gIrfZCQsL7wQ5DE -7wHq4URRO24Q+K1DnnyXBe70WugikvkJI7iFqWN+qjEPebP8lBbOUKVcCpqcUgIC -7Omb2/W9Nx/7NZv3F1vTctna20rZnVHp86bccHrlUvGVbGs9svEPuPKEjBQlym3z -SU5nyTIZ7NMM27QE9lQ8O/LUMoP2pLtc7eNnEnNzLkIZGXoDOBu2KELtDQjojqIk -8QnEQSXk9FpUVNaGl3gruw==</dsig:SignatureValue> + <dsig:SignatureValue>xGQzQKVoTFElGV0kBwORWtYhTLCJKXDBV39XgZ1J/HRBcFiO4e58MSc+5Gi8mJ0W +c+m8eB5Y6ti6ATFnPQTt9l/FdoqUgzHtPXMPMPU9sS7HSjY4Qew6iqpzX2Sb5A76 +k30dn4nHSXZ25WwU09gKg4pzCIv25loY2mwgqXiDXeLv2FTyexmM2jKP6og49Yc9 +skpg90alEYWXef99bErVVrXMzBc6QHh+cvWx+X2TRGjnerjxr5aCal8+BvdG6VMK +9p4kOsMiQ8xBblquizC6rXXT96iV+Ov1wPuLNFCO3M60pApUamefCqzQ7wCEfsGg +ZhNxhu99RxfV9l4HXNvV9g==</dsig:SignatureValue> <dsig:KeyInfo> <dsig:X509Data> <dsig:X509IssuerSerial> diff --git a/test/ref/DCP/encryption_test/pkl_93887017-5d6a-4ee5-b5f4-161b06281d0e.xml b/test/ref/DCP/encryption_test/pkl_93887017-5d6a-4ee5-b5f4-161b06281d0e.xml index c4bdfb7e..57421adc 100644 --- a/test/ref/DCP/encryption_test/pkl_93887017-5d6a-4ee5-b5f4-161b06281d0e.xml +++ b/test/ref/DCP/encryption_test/pkl_93887017-5d6a-4ee5-b5f4-161b06281d0e.xml @@ -9,15 +9,15 @@ <Asset> <Id>urn:uuid:6affb8ee-0020-4dff-a53c-17652f6358ab</Id> <AnnotationText>6affb8ee-0020-4dff-a53c-17652f6358ab</AnnotationText> - <Hash>wktgMUem87F6zSpc33A4w1pW00Q=</Hash> + <Hash>ocIgRDFtEn7QPxwcqXYVpSrTPpI=</Hash> <Size>9226</Size> <Type>text/xml</Type> </Asset> <Asset> <Id>urn:uuid:9a7fbb03-4078-4944-90b1-0d8a21c9d793</Id> <AnnotationText>9a7fbb03-4078-4944-90b1-0d8a21c9d793</AnnotationText> - <Hash>8r+Gnfyg5fxetQxyddD7fjzH3Qo=</Hash> - <Size>44032</Size> + <Hash>AVtX8wz76uG2Uw0Qbc9+DKnHUfw=</Hash> + <Size>44008</Size> <Type>application/mxf</Type> </Asset> <Asset> @@ -46,15 +46,15 @@ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> - <dsig:DigestValue>zxq+xgZYL/vhqtTzyFMZzWP0JDQ=</dsig:DigestValue> + <dsig:DigestValue>Gxo6VfxF8Guiq1+IFU2ePslEu00=</dsig:DigestValue> </dsig:Reference> </dsig:SignedInfo> - <dsig:SignatureValue>HifYYYkxSunbBcUYtUcIQDZf8kHcXhO7TnQWdnqQ4HxHKK3Man8jnNXXl0i5t8cO -B9pHrBUQy1C50R/h2dW0B7cpeQLowX8UwJyl1yYoH62m/CIgDT/Zx4ji9M+Ogve9 -RS/SoXnMEeQotCQit3li9br5dW0hjptUn5ZDoyi+i4mpsjtuBQvPYymeFoey5oIV -9DJXOS1uM/wSEbsDX6zyHOUW1l2jKVPyshulWoufc39QqcpuGDmnAY/zEHqMVBAm -+ycVhMI/Q8MlXggHNL1VYqWkplNAfElpbys1a/tMCFqpqk+BJ9IwMej5ypTASTKH -sQH4u5vjsTvq8+X5SdD0qg==</dsig:SignatureValue> + <dsig:SignatureValue>bzUioGIym79+2SaZ+V3zHOnZzoYR2L3NcW0yrre+FclIO2BB6XjdPnJJJPEHml9R +ATXtAOUIjYUZT5x+2B64dpclvIdikr4P72J6PQzHB+lvnrptoisOhFMa0Pnk1vCi +0o/WBHUCSDePU8Hl8OGK9GL+n/iXEZKfbpuAIRBIGayD1WE1CmTxGxVx28VTk+2H +klIbYhojVoj0AaaVN9xVvaq126Tmk4y1dILyPlNyYYVxzam7T1hlEHSj3E4i3StZ +r1vsK8I8EMWLrBio3ih44GwkJeM6N7PPI5kDeen7Mk7S4Btq+HtildekSmKRNkOc +odAqTC/SVvYtWvri7PldJQ==</dsig:SignatureValue> <dsig:KeyInfo> <dsig:X509Data> <dsig:X509IssuerSerial> diff --git a/test/ref/DCP/encryption_test/video.mxf b/test/ref/DCP/encryption_test/video.mxf Binary files differindex 7bad39eb..2fbfacdd 100644 --- a/test/ref/DCP/encryption_test/video.mxf +++ b/test/ref/DCP/encryption_test/video.mxf |
