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/JP2K_Sequence_Parser.cpp | |
| parent | 20c2f749a4593c418259bcf8b5f6f0775b70d910 (diff) | |
Added support for CAP, PRF and CPF markers
Improved Marker vs Marker Segment discrimination
Diffstat (limited to 'src/JP2K_Sequence_Parser.cpp')
| -rwxr-xr-x | src/JP2K_Sequence_Parser.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
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 @@ -251,6 +251,51 @@ operator==(const ASDCP::JP2K::CodingStyleDefault_t& lhs, const ASDCP::JP2K::Codi // 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) { if ( lhs.EditRate != rhs.EditRate ) return false; @@ -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++ ) { |
