AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
April 2006

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2006.04.04 02:19 "New OJPEG support", by Joris Van Damme
2006.04.04 03:28 "Re: New OJPEG support", by Bob Friesenhahn
2006.04.04 04:20 "Re: New OJPEG support", by Joris Van Damme

2006.04.04 03:28 "Re: New OJPEG support", by Bob Friesenhahn

On Tue, 4 Apr 2006, Joris wrote:
>
> - I've not been able to test the longjump way to call LibJpeg
> functions... Some environments don't support longjump. This includes my
> own LibTiffDelphi build. Thus, I've included an alternative way of
> calling, triggered by the optional define LIBJPEG_ENCAP_EXTERNAL. If you
> define that, LibJpeg doesn't get called directly, but you have a chance
> to implement dedicated call encapsulators outside of tif_ojpeg.c. The
> use with this LIBJPEG_ENCAP_EXTERNAL is tested, but the default, direct
> longjump call usage without LIBJPEG_ENCAP_EXTERNAL is not. I must depend
> on you to do that and report any problems. Default is normal longjump,
> so you likely don't need to change anything.

Looks like you need to do

#include <setjmp.h>

in order to obtain a definition for jmp_buf.  Otherwise compilation 
fails at

          JMP_BUF exit_jmpbuf;

This is ANSI C '89 standard so it should be reliable.

After including the missing header compilation fails at line 2217:

jpeg_create_decompress_encap(OJPEGState* sp, jpeg_decompress_struct* cinfo)
{
         SETJMP(sp->exit_jmpbuf)?
                 return(0):
                 {
                         jpeg_create_decompress(cinfo);
                         return(1);
                 }
}

With error:

/home/bfriesen/src/graphics/libtiff/libtiff/tif_ojpeg.c: In function
'jpeg_create_decompress_encap':
/home/bfriesen/src/graphics/libtiff/libtiff/tif_ojpeg.c:2217: error: syntax
error before 'return'

There are many similar errors.

It seems wise to at least test compilation in longjmp mode even if you 
can't use the result under Delphi.

Bob