[OpenJDK 2D-Dev] <OpenJDK 2D-Dev> Review request for JDK-8143562: JPEG reader returns null for getRawImageType()
Phil Race
philip.race at oracle.com
Tue Dec 15 18:29:57 UTC 2015
Looks OK.
-phil.
On 12/14/2015 01:37 AM, Jayathirth D V wrote:
>
> Hi Phil,
>
> I have made changes based on your suggestions.
>
> I have removed specific comment which mentioned about how we handle
> YCbCr in JPEG and just added common comment(If there is no close match
> then a type which preserves the most information from the image should
> be returned) in ImageReader.java.
>
> _Please find the updated webrev:_
>
> http://cr.openjdk.java.net/~jdv/8143562/webrev.01/
> <http://cr.openjdk.java.net/%7Ejdv/8143562/webrev.01/>
>
> After technical review is done I will raise CCC request since there is
> spec change in public API. Please review.
>
> Thanks,
>
> Jay
>
> *From:*Philip Race
> *Sent:* Friday, December 11, 2015 2:58 AM
> *To:* prasanta sadhukhan
> *Cc:* Jayathirth D V; 2d-dev at openjdk.java.net
> *Subject:* Re: <OpenJDK 2D-Dev> Review request for JDK-8143562: JPEG
> reader returns null for getRawImageType()
>
> The quoted code comment is essentially disclaiming the spec comment.
> And the spec. comment is misleading in that it strongly suggests
> getRawImageType
> will hand you an ImageTypeSpecifier representing YCbCr when in fact it
> does not.
>
> In fact all these comments and behaviours together seem to suggest
> that there
> isn't a consistent view of what should happen here.
> - one says we can return something that represents YCbCr
> - another says don't add it to the returned list of types because we
> can't support this raw type after all.
> - the spec says return something (anything!) no matter how dissimilar
> (implied
> by there being at least one (a non-null return)).
>
> Basically that seems to be all the options except supporting it.
> All of these need to line up and agree.
>
> So I think we need to update the spec. below to say something like
> "Returns an |ImageTypeSpecifier| indicating the |SampleModel| and
> |ColorModel|
> which most closely represents the "raw" internal format of the image.
> If there is no close match then a type which preserves the most
> information from the image should be returned."
>
> -phil
>
> On 12/8/15, 11:31 PM, prasanta sadhukhan wrote:
>
> The fix looks good to me.
> The spec says "Returns an |ImageTypeSpecifier| indicating the
> |SampleModel| and |ColorModel| which most closely represents the
> "raw" internal format of the image. For example, for a JPEG image
> the raw type might have a YCbCr color space even though the image
> would conventionally be transformed into an RGB color space prior
> to display."
> Also,
>
> private Iterator<ImageTypeSpecifier> getImageTypesOnThread(int imageIndex)adds RGB for YcbCr raw type
>
> case JPEG.JCS_YCbCr:
>
> 832 // As there is no YCbCr ColorSpace, we can't support
>
> 833 // the raw type.
>
> 834
>
> 835 // due to 4705399, use RGB as default in order to avoid
>
> 836 // slowing down of drawing operations with result image.
>
> 837 list.add(getImageType(JPEG.JCS_RGB));
>
>
>
> Regards
> Prasanta
>
> On 12/1/2015 3:42 PM, Jayathirth D V wrote:
>
> Hi,
>
> _Please review following fix in JDK9:_
>
> Bug : https://bugs.openjdk.java.net/browse/JDK-8143562
>
> Webrev : http://cr.openjdk.java.net/~jdv/8143562/webrev.00/
> <http://cr.openjdk.java.net/%7Ejdv/8143562/webrev.00/>
>
> Issue : We are getting null for ImageTypeSpecifier when we use
> getRawImageType() API for YCbCr Image.
>
> Root cause : When colorspace is YCbCr, there is no condition
> to create ImageTypeSpecifier in produce() function
>
> Solution : Since we add RGB as default ImageType for YCbCr
> colorspace in getImageTypes() API. Followed same approach
>
> and considering it as RGB in
> getRawImageType().
>
> Thanks,
>
> Jay
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20151215/fb474a98/attachment.html>
More information about the 2d-dev
mailing list