summaryrefslogtreecommitdiff
path: root/src/JP2K_Sequence_Parser.cpp
diff options
context:
space:
mode:
authorPierre-Anthony Lemieux <pal@palemieux.com>2019-11-28 10:58:15 -0800
committerPierre-Anthony Lemieux <pal@palemieux.com>2019-11-28 10:58:15 -0800
commit2a1a0da4f67debb7dcfd01b885dad35279f27663 (patch)
treea9d63ba3ca95aa0b7837310b61685312b3d12824 /src/JP2K_Sequence_Parser.cpp
parent20c2f749a4593c418259bcf8b5f6f0775b70d910 (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-xsrc/JP2K_Sequence_Parser.cpp48
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++ )
{