From 2a1a0da4f67debb7dcfd01b885dad35279f27663 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Thu, 28 Nov 2019 10:58:15 -0800 Subject: Added support for CAP, PRF and CPF markers Improved Marker vs Marker Segment discrimination --- src/JP2K_Sequence_Parser.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'src/JP2K_Sequence_Parser.cpp') diff --git a/src/JP2K_Sequence_Parser.cpp b/src/JP2K_Sequence_Parser.cpp index a0fd5d0..a1ece3f 100755 --- a/src/JP2K_Sequence_Parser.cpp +++ b/src/JP2K_Sequence_Parser.cpp @@ -249,6 +249,51 @@ operator==(const ASDCP::JP2K::CodingStyleDefault_t& lhs, const ASDCP::JP2K::Codi return true; } +// +bool +operator==(const ASDCP::JP2K::ExtendedCapabilities_t& lhs, const ASDCP::JP2K::ExtendedCapabilities_t& rhs) +{ + if (lhs.Pcap != rhs.Pcap) return false; + + for (ui32_t i = 0; i < JP2K::MaxCapabilities; i++) + { + if (lhs.Ccap[i] != rhs.Ccap[i]) + return false; + } + + return true; +} + +// +bool +operator==(const ASDCP::JP2K::CorrespondingProfile_t& lhs, const ASDCP::JP2K::CorrespondingProfile_t& rhs) +{ + if (lhs.N != rhs.N) return false; + + for (ui32_t i = 0; i < lhs.N; i++) + { + if (lhs.Pcpf[i] != rhs.Pcpf[i]) + return false; + } + + return true; +} + +// +bool +operator==(const ASDCP::JP2K::Profile_t& lhs, const ASDCP::JP2K::Profile_t& rhs) +{ + if (lhs.N != rhs.N) return false; + + for (ui32_t i = 0; i < lhs.N; i++) + { + if (lhs.Pprf[i] != rhs.Pprf[i]) + return false; + } + + return true; +} + // bool operator==(const ASDCP::JP2K::PictureDescriptor& lhs, const ASDCP::JP2K::PictureDescriptor& rhs) @@ -271,6 +316,9 @@ operator==(const ASDCP::JP2K::PictureDescriptor& lhs, const ASDCP::JP2K::Picture if ( lhs.Csize != rhs.Csize ) return false; if ( ! ( lhs.CodingStyleDefault == rhs.CodingStyleDefault ) ) return false; if ( ! ( lhs.QuantizationDefault == rhs.QuantizationDefault ) ) return false; + if (!(lhs.Profile == rhs.Profile)) return false; + if (!(lhs.CorrespondingProfile == rhs.CorrespondingProfile)) return false; + if (!(lhs.ExtendedCapabilities == rhs.ExtendedCapabilities)) return false; for ( ui32_t i = 0; i < JP2K::MaxComponents; i++ ) { -- cgit v1.2.3