| AWARE [SYSTEMS] | Imaging expertise for the Delphi developer | |||||||
![]() |
TIFF and LibTiff Mailing List Archive | |||||||
LibTiff Mailing List
TIFF and LibTiff Mailing List Archive Contact
The TIFF Mailing List Homepage |
Thread2012.07.03 18:08 "Re: tiff 4.0.2 raw_decode test failing on ppc64", by Frank WarmerdamTom,
The approach looks good to me. I'm a bit embarassed at having written
the test without realizing the endian dependent nature of
TIFFReadRGBATile's output. If you are ok to fix this that is great
otherwise I could do so.
Best regards,
On Tue, Jul 3, 2012 at 10:53 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Dinar Valeev <dinarv@gmail.com> writes:
>> rgba part of the raw_decode test fails on ppc64 machine:
>
> I received a patch for this, uncredited but apparently originating
> somewhere in opensuse:
>
> diff -up tiff-4.0.2/test/raw_decode.c.bigendian
> tiff-4.0.2/test/raw_decode.c
> --- tiff-4.0.2/test/raw_decode.c.bigendian 2012-07-03
> 15:27:37.168543695 +0200
> +++ tiff-4.0.2/test/raw_decode.c 2012-07-03 15:28:47.795051599
> +0200
> @@ -85,9 +85,9 @@ static int check_rgb_pixel( int pixel, i
> static int check_rgba_pixel( int pixel, int red, int green, int blue, int
> alpha, unsigned char *buffer ) {
> /* RGBA images are upside down - adjust for normal ordering */
> int adjusted_pixel = pixel % 128 + (127 - (pixel/128)) * 128;
> - unsigned char *rgba = buffer + 4 * adjusted_pixel;
> + unsigned int *rgba = (unsigned int*)(buffer + 4 * adjusted_pixel);
>
> - if( rgba[0] == red && rgba[1] == green && rgba[2] == blue &&
> rgba[3] == alpha ) {
> + if( TIFFGetR(*rgba) == red && TIFFGetG(*rgba) == green &&
> TIFFGetB(*rgba) == blue && TIFFGetA(*rgba) == alpha ) {
> return 0;
> }
>
>
> Now, this patch is crummy --- for one thing it ought to correct the
> fprintf call just below here. But I think it's on the right track: the
> result of TIFFReadRGBAImage is documented to be accessed via these
> macros not directly. Does anyone think this is not an appropriate fix
> approach?
>
> regards, tom lane
> _______________________________________________
> Tiff mailing list: Tiff@lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/tiff
> http://www.remotesensing.org/libtiff/
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam,
warmerdam@pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Software Developer
|
|||||||