radsave was polluting the error log

This commit is contained in:
John Cupitt 2016-09-08 13:55:37 +01:00
parent 591d4472a9
commit b566bc6b3d
2 changed files with 17 additions and 34 deletions

27
TODO
View File

@ -1,30 +1,3 @@
- radload seems to trigger a lot of missing field errors?
$ test_foreign.py
..... OK
memory: high-water mark 87.69 MB
error buffer: vips_image_get: field "rad-expos" not found
vips_image_get: field "rad-aspect" not found
vips_image_get: field "rad-format" not found
vips_image_get: field "rad-colcor-r" not found
vips_image_get: field "rad-colcor-g" not found
vips_image_get: field "rad-colcor-b" not found
vips_image_get: field "rad-prims-rx" not found
vips_image_get: field "rad-prims-ry" not found
vips_image_get: field "rad-prims-gx" not found
vips_image_get: field "rad-prims-gy" not found
vips_image_get: field "rad-prims-bx" not found
vips_image_get: field "rad-prims-by" not found
vips_image_get: field "rad-prims-wx" not found
vips_image_get: field "rad-prims-wy" not found
vips_image_get: field "rad-expos" not found
vips_image_get: field "rad-aspect" not found
vips_image_get: field "rad-format" not found
vips_image_get: field "rad-colcor-r" not found
vips_image_get: field "rad-colcor-g" not found
vips_image_get: field "rad-colcor-b" not found
vips_image_get: field "rad-prims-rx" not found
- not sure about utf8 error messages on win
- strange:

View File

@ -1239,24 +1239,34 @@ vips2rad_make_header( Write *write )
int i, j;
double d;
(void) vips_image_get_double( write->in, "rad-expos", &write->expos );
(void) vips_image_get_double( write->in, "rad-aspect", &write->aspect );
if( vips_image_get_typeof( write->in, "rad-expos" ) )
vips_image_get_double( write->in, "rad-expos", &write->expos );
if( !vips_image_get_string( write->in, "rad-format", &str ) )
if( vips_image_get_typeof( write->in, "rad-aspect" ) )
vips_image_get_double( write->in, "rad-aspect", &write->aspect );
if( vips_image_get_typeof( write->in, "rad-format" ) &&
!vips_image_get_string( write->in, "rad-format", &str ) )
vips_strncpy( write->format, str, 256 );
if( write->in->Type == VIPS_INTERPRETATION_scRGB )
strcpy( write->format, COLRFMT );
if( write->in->Type == VIPS_INTERPRETATION_XYZ )
strcpy( write->format, CIEFMT );
for( i = 0; i < 3; i++ )
if( !vips_image_get_double( write->in, colcor_name[i], &d ) )
if( vips_image_get_typeof( write->in, colcor_name[i] ) &&
!vips_image_get_double( write->in, colcor_name[i], &d ) )
write->colcor[i] = d;
for( i = 0; i < 4; i++ )
for( j = 0; j < 2; j++ )
if( !vips_image_get_double( write->in,
prims_name[i][j], &d ) )
for( j = 0; j < 2; j++ ) {
const char *name = prims_name[i][j];
if( vips_image_get_typeof( write->in, name ) &&
!vips_image_get_double( write->in, name, &d ) )
write->prims[i][j] = d;
}
/* Make y decreasing for consistency with vips.
*/