|
@@ -922,11 +922,6 @@ static ErrorOr<void> decode_immediate_generic_region(JBIG2LoadingContext& contex
|
|
|
return {};
|
|
|
}
|
|
|
|
|
|
-static ErrorOr<void> decode_immediate_lossless_generic_region(JBIG2LoadingContext&, SegmentData const&)
|
|
|
-{
|
|
|
- return Error::from_string_literal("JBIG2ImageDecoderPlugin: Cannot decode immediate lossless generic region yet");
|
|
|
-}
|
|
|
-
|
|
|
static ErrorOr<void> decode_intermediate_generic_refinement_region(JBIG2LoadingContext&, SegmentData const&)
|
|
|
{
|
|
|
return Error::from_string_literal("JBIG2ImageDecoderPlugin: Cannot decode intermediate generic refinement region yet");
|
|
@@ -1118,10 +1113,13 @@ static ErrorOr<void> decode_data(JBIG2LoadingContext& context)
|
|
|
TRY(decode_intermediate_generic_region(context, segment));
|
|
|
break;
|
|
|
case SegmentType::ImmediateGenericRegion:
|
|
|
- TRY(decode_immediate_generic_region(context, segment));
|
|
|
- break;
|
|
|
case SegmentType::ImmediateLosslessGenericRegion:
|
|
|
- TRY(decode_immediate_lossless_generic_region(context, segment));
|
|
|
+ // 7.4.6 Generic region segment syntax
|
|
|
+ // "The data parts of all three of the generic region segment types ("intermediate generic region", "immediate generic region" and
|
|
|
+ // "immediate lossless generic region") are coded identically, but are acted upon differently, see 8.2."
|
|
|
+ // But 8.2 only describes a difference between intermediate and immediate regions as far as I can tell,
|
|
|
+ // and calling the immediate generic region handler for immediate generic lossless regions seems to do the right thing (?).
|
|
|
+ TRY(decode_immediate_generic_region(context, segment));
|
|
|
break;
|
|
|
case SegmentType::IntermediateGenericRefinementRegion:
|
|
|
TRY(decode_intermediate_generic_refinement_region(context, segment));
|