Merge remote-tracking branch 'origin/7.36'
This commit is contained in:
commit
6351bad027
@ -20,6 +20,9 @@
|
||||
- fix compiler warnings in ubuntu 13.10
|
||||
- reverse similarity rotation direction to match the convention used
|
||||
elsewhere in vips
|
||||
- fix blocked caching of sequential load operations
|
||||
- fix cache flags
|
||||
- fix --delete option to vipsthumbnail
|
||||
|
||||
10/10/13 started 7.36.2
|
||||
- better jpeg startup
|
||||
|
@ -690,10 +690,6 @@ vips_foreign_load_temp( VipsForeignLoad *load )
|
||||
printf( "vips_foreign_load_temp: partial sequential temp\n" );
|
||||
#endif /*DEBUG*/
|
||||
|
||||
/* You can't reuse sequential operations.
|
||||
*/
|
||||
load->nocache = TRUE;
|
||||
|
||||
return( vips_image_new() );
|
||||
}
|
||||
|
||||
@ -833,6 +829,13 @@ vips_foreign_load_build( VipsObject *object )
|
||||
|
||||
g_object_set( load, "flags", flags, NULL );
|
||||
|
||||
/* If the loader can do sequential mode and sequential has been
|
||||
* requested, we need to block caching.
|
||||
*/
|
||||
if( (load->flags & VIPS_FOREIGN_SEQUENTIAL) &&
|
||||
load->access != VIPS_ACCESS_RANDOM )
|
||||
load->nocache = TRUE;
|
||||
|
||||
if( VIPS_OBJECT_CLASS( vips_foreign_load_parent_class )->
|
||||
build( object ) )
|
||||
return( -1 );
|
||||
|
@ -41,7 +41,7 @@ typedef enum /*< flags >*/ {
|
||||
VIPS_OPERATION_NONE = 0,
|
||||
VIPS_OPERATION_SEQUENTIAL = 1,
|
||||
VIPS_OPERATION_SEQUENTIAL_UNBUFFERED = 2,
|
||||
VIPS_OPERATION_NOCACHE = 3
|
||||
VIPS_OPERATION_NOCACHE = 4
|
||||
} VipsOperationFlags;
|
||||
|
||||
#define VIPS_TYPE_OPERATION (vips_operation_get_type())
|
||||
|
@ -692,7 +692,7 @@ vips_cache_operation_buildp( VipsOperation **operation )
|
||||
|
||||
if( (hit = g_hash_table_lookup( vips_cache_table, *operation )) ) {
|
||||
if( vips__cache_trace ) {
|
||||
printf( "vips cache: hit\n" );
|
||||
printf( "vips cache: found old operation\n" );
|
||||
printf( "\t" );
|
||||
vips_object_print_summary( VIPS_OBJECT( hit ) );
|
||||
}
|
||||
@ -718,7 +718,7 @@ vips_cache_operation_buildp( VipsOperation **operation )
|
||||
VIPS_OPERATION_NOCACHE )
|
||||
printf( "vips cache: uncacheable\n" );
|
||||
else
|
||||
printf( "vips cache: miss\n" );
|
||||
printf( "vips cache: caching new operation\n" );
|
||||
printf( "\t" );
|
||||
vips_object_print_summary( VIPS_OBJECT( *operation ) );
|
||||
}
|
||||
|
@ -67,6 +67,7 @@ static gboolean delete_profile = FALSE;
|
||||
*/
|
||||
static gboolean nosharpen = FALSE;
|
||||
static gboolean nodelete_profile = FALSE;
|
||||
static gboolean verbose = FALSE;
|
||||
|
||||
static GOptionEntry options[] = {
|
||||
{ "size", 's', 0,
|
||||
@ -97,7 +98,7 @@ static GOptionEntry options[] = {
|
||||
G_OPTION_ARG_NONE, &delete_profile,
|
||||
N_( "delete profile from exported image" ), NULL },
|
||||
{ "verbose", 'v', G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_NONE, NULL,
|
||||
G_OPTION_ARG_NONE, &verbose,
|
||||
N_( "(deprecated, does nothing)" ), NULL },
|
||||
{ "nodelete", 'l', G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_NONE, &nodelete_profile,
|
||||
@ -410,7 +411,7 @@ thumbnail_shrink( VipsObject *thumbnail, VipsImage *in,
|
||||
vips_image_get_typeof( in, VIPS_META_ICC_NAME ) ) {
|
||||
vips_info( "vipsthumbnail",
|
||||
"deleting profile from output image" );
|
||||
if( vips_image_remove( in, VIPS_META_ICC_NAME ) )
|
||||
if( !vips_image_remove( in, VIPS_META_ICC_NAME ) )
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user