diff options
| author | John Hurst <jhurst@cinecert.com> | 2019-12-30 14:03:53 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-30 14:03:53 -0800 |
| commit | 9e269bd45830f54551722a65b0d7aa8f327e17dc (patch) | |
| tree | 6e03793692f45418ea89c55edcb95ce89d9aad5b /src/MXFTypes.cpp | |
| parent | a67f55782d4758355190fe3f14ac6159b9d79e1e (diff) | |
| parent | 39d533e10e9f5248c557caa0777c8c10ed5d737c (diff) | |
Merge pull request #20 from cinecert/htj2c
WIP: add support for ST 422:2019
Diffstat (limited to 'src/MXFTypes.cpp')
| -rwxr-xr-x | src/MXFTypes.cpp | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/src/MXFTypes.cpp b/src/MXFTypes.cpp index a98a4d2..39d928b 100755 --- a/src/MXFTypes.cpp +++ b/src/MXFTypes.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2005-2016, John Hurst +Copyright (c) 2005-2019, John Hurst All rights reserved. Redistribution and use in source and binary forms, with or without @@ -774,6 +774,63 @@ ASDCP::MXF::Raw::EncodeString(char* str_buf, ui32_t buf_len) const return str_buf; } + +// +bool +ASDCP::MXF::J2KExtendedCapabilities::Archive(Kumu::MemIOWriter* Writer) const { + if ( ! Writer->WriteUi32BE(Pcap) ) + { + return false; + } + + if ( ! Ccap.Archive(Writer) ) + { + return false; + } + + return true; +} + +// +bool +ASDCP::MXF::J2KExtendedCapabilities::Unarchive(Kumu::MemIOReader* Reader) { + if ( ! Reader->ReadUi32BE(&Pcap) ) + { + return false; + } + + if ( ! Ccap.Unarchive(Reader) ) + { + return false; + } + + return true; +} + +// +const char* +ASDCP::MXF::J2KExtendedCapabilities::EncodeString(char* str_buf, ui32_t buf_len) const +{ + const int str_len = ( sizeof(ui16_t) + 1 ) * JP2K::MaxCapabilities; + + if ( Pcap != 0 && buf_len > str_len ) + { + for ( int i = 0; i < Ccap.size(); ++i ) + { + snprintf(str_buf+(i*3), 4, "%02hx.", Ccap[i]); + } + + str_buf[str_len-1] = 0; + } + else + { + str_buf[0] = 0; + } + + return str_buf; +} + + // // end MXFTypes.cpp // |
