Phil, Andrew,
Would you please take a look at this updated fix posted half a year ago?
Thanks,
Vadim
On 20.11.2012 22:14, Vadim Pakhnushev wrote:
Phil,
That's right, interlaced images works as expected without the fix.
Non-interlaced images could be considered single pass but the
documentation states that the passStarted is called when progressive
pass started.
For examples, BMP reader doesn't call passStarted, but non-progressive
JPEGs or PNGs do, so there is some inconsistency here.
In the internal discussion back in 2007 Chris stated that
"IIOReadUpdateListener.processPassStarted() is only intended to be
called for progressive (aka interlaced) images."
I've created automated regression test which checks that if the image
was created with interlaced flag then corresponding methods are called
and are not if the image is not interlaced.
Please review the test:
http://cr.openjdk.java.net/~bae/4892259/webrev.01/
Thanks,
Vadim
On 20.11.2012 3:47, Phil Race wrote:
Vadim,
So I take it that you confirmed interlaced images do *not* exhibit
this problem ?
Its not obvious from the bug report that its only non-interlaced
images that are the issue.
I suppose a non-interlaced image could be considered a single pass but
I can't find anywhere that we mandated such a behaviour and it would
seem
odd for many formats to require it.
Can we include a regression test for this fix ?
--phil.
On 11/19/2012 11:15 AM, Vadim Pakhnushev wrote:
Hi,
Please review a fix for bug 4892259:
http://bugs.sun.com/view_bug.do?bug_id=4892259
http://cr.openjdk.java.net/~bae/4892259/webrev.00/
Actually GIFImageReader should not call neither passComplete, nor
passStarted for non-interlaced images in the first place.
So the fix is to check whether the image is interlaced or not and
skip startPass method entirely in case of interlaced image.
passComplete is called only for interlaced images.
Thanks,
Vadim