give format_table in save a default value
This commit is contained in:
parent
cbe165f6c5
commit
fd7414ec1d
@ -80,24 +80,6 @@ vips_foreign_save_csv_build( VipsObject *object )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save a bit of typing.
|
|
||||||
*/
|
|
||||||
#define UC VIPS_FORMAT_UCHAR
|
|
||||||
#define C VIPS_FORMAT_CHAR
|
|
||||||
#define US VIPS_FORMAT_USHORT
|
|
||||||
#define S VIPS_FORMAT_SHORT
|
|
||||||
#define UI VIPS_FORMAT_UINT
|
|
||||||
#define I VIPS_FORMAT_INT
|
|
||||||
#define F VIPS_FORMAT_FLOAT
|
|
||||||
#define X VIPS_FORMAT_COMPLEX
|
|
||||||
#define D VIPS_FORMAT_DOUBLE
|
|
||||||
#define DX VIPS_FORMAT_DPCOMPLEX
|
|
||||||
|
|
||||||
static int bandfmt_csv[10] = {
|
|
||||||
/* UC C US S UI I F X D DX */
|
|
||||||
UC, C, US, S, UI, I, F, X, D, DX
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_foreign_save_csv_class_init( VipsForeignSaveCsvClass *class )
|
vips_foreign_save_csv_class_init( VipsForeignSaveCsvClass *class )
|
||||||
{
|
{
|
||||||
@ -116,7 +98,6 @@ vips_foreign_save_csv_class_init( VipsForeignSaveCsvClass *class )
|
|||||||
foreign_class->suffs = vips__foreign_csv_suffs;
|
foreign_class->suffs = vips__foreign_csv_suffs;
|
||||||
|
|
||||||
save_class->saveable = VIPS_SAVEABLE_MONO;
|
save_class->saveable = VIPS_SAVEABLE_MONO;
|
||||||
save_class->format_table = bandfmt_csv;
|
|
||||||
|
|
||||||
VIPS_ARG_STRING( class, "filename", 1,
|
VIPS_ARG_STRING( class, "filename", 1,
|
||||||
_( "Filename" ),
|
_( "Filename" ),
|
||||||
|
@ -292,22 +292,6 @@ vips_foreign_save_csv_build( VipsObject *object )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
#define UC VIPS_FORMAT_UCHAR
|
|
||||||
#define C VIPS_FORMAT_CHAR
|
|
||||||
#define US VIPS_FORMAT_USHORT
|
|
||||||
#define S VIPS_FORMAT_SHORT
|
|
||||||
#define UI VIPS_FORMAT_UINT
|
|
||||||
#define I VIPS_FORMAT_INT
|
|
||||||
#define F VIPS_FORMAT_FLOAT
|
|
||||||
#define X VIPS_FORMAT_COMPLEX
|
|
||||||
#define D VIPS_FORMAT_DOUBLE
|
|
||||||
#define DX VIPS_FORMAT_DPCOMPLEX
|
|
||||||
|
|
||||||
static int bandfmt_csv[10] = {
|
|
||||||
// UC C US S UI I F X D DX
|
|
||||||
UC, C, US, S, UI, I, F, X, D, DX
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_foreign_save_csv_class_init( VipsForeignSaveCsvClass *class )
|
vips_foreign_save_csv_class_init( VipsForeignSaveCsvClass *class )
|
||||||
{
|
{
|
||||||
@ -326,7 +310,8 @@ vips_foreign_save_csv_class_init( VipsForeignSaveCsvClass *class )
|
|||||||
foreign_class->suffs = vips__foreign_csv_suffs;
|
foreign_class->suffs = vips__foreign_csv_suffs;
|
||||||
|
|
||||||
save_class->saveable = VIPS_SAVEABLE_MONO;
|
save_class->saveable = VIPS_SAVEABLE_MONO;
|
||||||
save_class->format_table = bandfmt_csv;
|
// no need to define ->format_table, we don't want the input
|
||||||
|
// cast for us
|
||||||
|
|
||||||
VIPS_ARG_STRING( class, "filename", 1,
|
VIPS_ARG_STRING( class, "filename", 1,
|
||||||
_( "Filename" ),
|
_( "Filename" ),
|
||||||
@ -1348,6 +1333,22 @@ vips_foreign_save_build( VipsObject *object )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define UC VIPS_FORMAT_UCHAR
|
||||||
|
#define C VIPS_FORMAT_CHAR
|
||||||
|
#define US VIPS_FORMAT_USHORT
|
||||||
|
#define S VIPS_FORMAT_SHORT
|
||||||
|
#define UI VIPS_FORMAT_UINT
|
||||||
|
#define I VIPS_FORMAT_INT
|
||||||
|
#define F VIPS_FORMAT_FLOAT
|
||||||
|
#define X VIPS_FORMAT_COMPLEX
|
||||||
|
#define D VIPS_FORMAT_DOUBLE
|
||||||
|
#define DX VIPS_FORMAT_DPCOMPLEX
|
||||||
|
|
||||||
|
static int vips_foreign_save_format_table[10] = {
|
||||||
|
// UC C US S UI I F X D DX
|
||||||
|
UC, C, US, S, UI, I, F, X, D, DX
|
||||||
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_foreign_save_class_init( VipsForeignSaveClass *class )
|
vips_foreign_save_class_init( VipsForeignSaveClass *class )
|
||||||
{
|
{
|
||||||
@ -1381,6 +1382,10 @@ vips_foreign_save_class_init( VipsForeignSaveClass *class )
|
|||||||
class->coding[i] = FALSE;
|
class->coding[i] = FALSE;
|
||||||
class->coding[VIPS_CODING_NONE] = TRUE;
|
class->coding[VIPS_CODING_NONE] = TRUE;
|
||||||
|
|
||||||
|
/* Default to no cast on save.
|
||||||
|
*/
|
||||||
|
class->format_table = vips_foreign_save_format_table;
|
||||||
|
|
||||||
VIPS_ARG_IMAGE( class, "in", 0,
|
VIPS_ARG_IMAGE( class, "in", 0,
|
||||||
_( "Input" ),
|
_( "Input" ),
|
||||||
_( "Image to save" ),
|
_( "Image to save" ),
|
||||||
|
@ -124,27 +124,6 @@ vips_foreign_save_raw_build( VipsObject *object )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save a bit of typing.
|
|
||||||
*/
|
|
||||||
#define UC VIPS_FORMAT_UCHAR
|
|
||||||
#define C VIPS_FORMAT_CHAR
|
|
||||||
#define US VIPS_FORMAT_USHORT
|
|
||||||
#define S VIPS_FORMAT_SHORT
|
|
||||||
#define UI VIPS_FORMAT_UINT
|
|
||||||
#define I VIPS_FORMAT_INT
|
|
||||||
#define F VIPS_FORMAT_FLOAT
|
|
||||||
#define X VIPS_FORMAT_COMPLEX
|
|
||||||
#define D VIPS_FORMAT_DOUBLE
|
|
||||||
#define DX VIPS_FORMAT_DPCOMPLEX
|
|
||||||
|
|
||||||
/* Type promotion for division. Sign and value preserving. Make sure
|
|
||||||
* these match the case statement in complexform_buffer() above.
|
|
||||||
*/
|
|
||||||
static int vips_bandfmt_raw[10] = {
|
|
||||||
/* UC C US S UI I F X D DX */
|
|
||||||
UC, C, US, S, UI, I, F, X, D, DX
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_foreign_save_raw_class_init( VipsForeignSaveRawClass *class )
|
vips_foreign_save_raw_class_init( VipsForeignSaveRawClass *class )
|
||||||
{
|
{
|
||||||
@ -161,7 +140,6 @@ vips_foreign_save_raw_class_init( VipsForeignSaveRawClass *class )
|
|||||||
object_class->build = vips_foreign_save_raw_build;
|
object_class->build = vips_foreign_save_raw_build;
|
||||||
|
|
||||||
save_class->saveable = VIPS_SAVEABLE_ANY;
|
save_class->saveable = VIPS_SAVEABLE_ANY;
|
||||||
save_class->format_table = vips_bandfmt_raw;
|
|
||||||
|
|
||||||
VIPS_ARG_STRING( class, "filename", 1,
|
VIPS_ARG_STRING( class, "filename", 1,
|
||||||
_( "Filename" ),
|
_( "Filename" ),
|
||||||
@ -268,7 +246,6 @@ vips_foreign_save_raw_fd_class_init( VipsForeignSaveRawFdClass *class )
|
|||||||
object_class->build = vips_foreign_save_raw_fd_build;
|
object_class->build = vips_foreign_save_raw_fd_build;
|
||||||
|
|
||||||
save_class->saveable = VIPS_SAVEABLE_ANY;
|
save_class->saveable = VIPS_SAVEABLE_ANY;
|
||||||
save_class->format_table = vips_bandfmt_raw;
|
|
||||||
|
|
||||||
VIPS_ARG_INT( class, "fd", 1,
|
VIPS_ARG_INT( class, "fd", 1,
|
||||||
_( "File descriptor" ),
|
_( "File descriptor" ),
|
||||||
|
@ -129,24 +129,6 @@ vips_foreign_save_tiff_build( VipsObject *object )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save a bit of typing.
|
|
||||||
*/
|
|
||||||
#define UC VIPS_FORMAT_UCHAR
|
|
||||||
#define C VIPS_FORMAT_CHAR
|
|
||||||
#define US VIPS_FORMAT_USHORT
|
|
||||||
#define S VIPS_FORMAT_SHORT
|
|
||||||
#define UI VIPS_FORMAT_UINT
|
|
||||||
#define I VIPS_FORMAT_INT
|
|
||||||
#define F VIPS_FORMAT_FLOAT
|
|
||||||
#define X VIPS_FORMAT_COMPLEX
|
|
||||||
#define D VIPS_FORMAT_DOUBLE
|
|
||||||
#define DX VIPS_FORMAT_DPCOMPLEX
|
|
||||||
|
|
||||||
static int bandfmt_tiff[10] = {
|
|
||||||
/* UC C US S UI I F X D DX */
|
|
||||||
UC, UC, US, S, US, US, F, F, F, F
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_foreign_save_tiff_class_init( VipsForeignSaveTiffClass *class )
|
vips_foreign_save_tiff_class_init( VipsForeignSaveTiffClass *class )
|
||||||
{
|
{
|
||||||
@ -165,7 +147,6 @@ vips_foreign_save_tiff_class_init( VipsForeignSaveTiffClass *class )
|
|||||||
foreign_class->suffs = vips__foreign_tiff_suffs;
|
foreign_class->suffs = vips__foreign_tiff_suffs;
|
||||||
|
|
||||||
save_class->saveable = VIPS_SAVEABLE_ANY;
|
save_class->saveable = VIPS_SAVEABLE_ANY;
|
||||||
save_class->format_table = bandfmt_tiff;
|
|
||||||
save_class->coding[VIPS_CODING_LABQ] = TRUE;
|
save_class->coding[VIPS_CODING_LABQ] = TRUE;
|
||||||
|
|
||||||
VIPS_ARG_STRING( class, "filename", 1,
|
VIPS_ARG_STRING( class, "filename", 1,
|
||||||
|
@ -75,24 +75,6 @@ vips_foreign_save_vips_build( VipsObject *object )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save a bit of typing.
|
|
||||||
*/
|
|
||||||
#define UC VIPS_FORMAT_UCHAR
|
|
||||||
#define C VIPS_FORMAT_CHAR
|
|
||||||
#define US VIPS_FORMAT_USHORT
|
|
||||||
#define S VIPS_FORMAT_SHORT
|
|
||||||
#define UI VIPS_FORMAT_UINT
|
|
||||||
#define I VIPS_FORMAT_INT
|
|
||||||
#define F VIPS_FORMAT_FLOAT
|
|
||||||
#define X VIPS_FORMAT_COMPLEX
|
|
||||||
#define D VIPS_FORMAT_DOUBLE
|
|
||||||
#define DX VIPS_FORMAT_DPCOMPLEX
|
|
||||||
|
|
||||||
static int vips_bandfmt_vips[10] = {
|
|
||||||
/* UC C US S UI I F X D DX */
|
|
||||||
UC, C, US, S, UI, I, F, X, D, DX
|
|
||||||
};
|
|
||||||
|
|
||||||
static const char *vips_suffs[] = { ".v", NULL };
|
static const char *vips_suffs[] = { ".v", NULL };
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -115,7 +97,6 @@ vips_foreign_save_vips_class_init( VipsForeignSaveVipsClass *class )
|
|||||||
foreign_class->suffs = vips_suffs;
|
foreign_class->suffs = vips_suffs;
|
||||||
|
|
||||||
save_class->saveable = VIPS_SAVEABLE_ANY;
|
save_class->saveable = VIPS_SAVEABLE_ANY;
|
||||||
save_class->format_table = vips_bandfmt_vips;
|
|
||||||
for( i = 0; i < VIPS_CODING_LAST; i++ )
|
for( i = 0; i < VIPS_CODING_LAST; i++ )
|
||||||
save_class->coding[i] = TRUE;
|
save_class->coding[i] = TRUE;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user