#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct J2kCodestreamRange {
pub offset: usize,
pub length: usize,
}
impl J2kCodestreamRange {
#[must_use]
pub const fn end(self) -> Option<usize> {
self.offset.checked_add(self.length)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct HtCodeBlockPayloadRanges {
pub cleanup: J2kCodestreamRange,
pub refinement: Option<J2kCodestreamRange>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct J2kClassicCodeBlockPayload {
pub first_range: usize,
pub range_count: usize,
pub combined_length: usize,
}
impl J2kClassicCodeBlockPayload {
#[must_use]
pub const fn end_range(self) -> Option<usize> {
self.first_range.checked_add(self.range_count)
}
}