diff options
| author | Pierre-Anthony Lemieux <pal@palemieux.com> | 2019-11-28 10:58:15 -0800 |
|---|---|---|
| committer | Pierre-Anthony Lemieux <pal@palemieux.com> | 2019-11-28 10:58:15 -0800 |
| commit | 2a1a0da4f67debb7dcfd01b885dad35279f27663 (patch) | |
| tree | a9d63ba3ca95aa0b7837310b61685312b3d12824 /src/AS_DCP.h | |
| parent | 20c2f749a4593c418259bcf8b5f6f0775b70d910 (diff) | |
Added support for CAP, PRF and CPF markers
Improved Marker vs Marker Segment discrimination
Diffstat (limited to 'src/AS_DCP.h')
| -rwxr-xr-x | src/AS_DCP.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/AS_DCP.h b/src/AS_DCP.h index 96d066c..b28f114 100755 --- a/src/AS_DCP.h +++ b/src/AS_DCP.h @@ -1048,6 +1048,9 @@ namespace ASDCP { const ui32_t MaxComponents = 3; const ui32_t MaxPrecincts = 32; // ISO 15444-1 Annex A.6.1 const ui32_t MaxDefaults = 256; // made up + const ui8_t MaxCapabilities = 32; + const ui16_t MaxPRFN = 4; + const ui16_t MaxCPFN = 4; #pragma pack(1) struct ImageComponent_t // ISO 15444-1 Annex A.5.1 @@ -1085,6 +1088,25 @@ namespace ASDCP { ui8_t SPqcd[MaxDefaults]; ui8_t SPqcdLength; }; + + struct ExtendedCapabilities_t // ISO 15444-1 Annex A.5.2 + { + ui32_t Pcap; // Pcap = 0 means that no extended capabilities are required + ui16_t Ccap[MaxCapabilities]; // Ccap^i in ISO/IEC 15444-1 corresponds to Ccap[i -1] + }; + + struct Profile_t // ISO 15444-1 + { + ui16_t N; // N = 0 means that the profile is signaled through Rsiz exclusively + ui16_t Pprf[MaxPRFN]; // Pprf^i in ISO/IEC 15444-1 corresponds to Pprf[i -1] + }; + + struct CorrespondingProfile_t // ISO 15444-1 + { + ui16_t N; // N = 0 means that no corresponding profile is signaled + ui16_t Pcpf[MaxCPFN]; // Pcpf^i in ISO/IEC 15444-1 corresponds to Pcpf[i -1] + }; + #pragma pack() struct PictureDescriptor @@ -1108,6 +1130,9 @@ namespace ASDCP { ImageComponent_t ImageComponents[MaxComponents]; CodingStyleDefault_t CodingStyleDefault; QuantizationDefault_t QuantizationDefault; + ExtendedCapabilities_t ExtendedCapabilities; + Profile_t Profile; + CorrespondingProfile_t CorrespondingProfile; }; // Print debugging information to std::ostream |
