int vips__png_ispng( const char *filename ) { unsigned char buf[8]; return( vips__get_bytes( filename, buf, 8 ) && vips__png_ispng_buffer( buf, 8 ) ); }
int vips__png_ispng( const char *filename ) { unsigned char buf[8]; return( vips__get_bytes( filename, buf, 8 ) && !png_sig_cmp( buf, 0, 8 ) ); }
int vips__iswebp( const char *filename ) { unsigned char header[MINIMAL_HEADER]; if( vips__get_bytes( filename, header, MINIMAL_HEADER ) && vips__iswebp_buffer( header, MINIMAL_HEADER ) ) return( 1 ); return( 0 ); }
static gboolean vips_foreign_load_pdf_is_a( const char *filename ) { unsigned char buf[4]; if( vips__get_bytes( filename, buf, 4 ) && vips_foreign_load_pdf_is_a_buffer( buf, 4 ) ) return( 1 ); return( 0 ); }
int vips__iswebp( const char *filename ) { unsigned char header[MINIMAL_HEADER]; if( vips__get_bytes( filename, header, MINIMAL_HEADER ) && WebPGetInfo( header, MINIMAL_HEADER, NULL, NULL ) ) return( 1 ); return( 0 ); }
int vips__isjpeg( const char *filename ) { unsigned char buf[2]; if( vips__get_bytes( filename, buf, 2 ) ) if( (int) buf[0] == 0xff && (int) buf[1] == 0xd8 ) return( 1 ); return( 0 ); }
guint32 vips__file_magic( const char *filename ) { guint32 magic; if( vips__get_bytes( filename, (unsigned char *) &magic, 4 ) && (magic == VIPS_MAGIC_INTEL || magic == VIPS_MAGIC_SPARC ) ) return( magic ); return( 0 ); }
int vips__ppm_isppm( const char *filename ) { VipsPel buf[3]; if( vips__get_bytes( filename, buf, 2 ) ) { int i; buf[2] = '\0'; for( i = 0; i < VIPS_NUMBER( magic_names ); i++ ) if( strcmp( (char *) buf, magic_names[i] ) == 0 ) return( TRUE ); } return( 0 ); }
static Read * read_new( const char *filename, void *buf, size_t len ) { Read *read; unsigned char header[MINIMAL_HEADER]; if( !(read = VIPS_NEW( NULL, Read )) ) return( NULL ); read->filename = g_strdup( filename ); read->buf = buf; read->len = len; read->idec = NULL; WebPInitDecoderConfig( &read->config ); if( filename ) { if( vips__get_bytes( filename, header, MINIMAL_HEADER ) && WebPGetFeatures( header, MINIMAL_HEADER, &read->config.input ) != VP8_STATUS_OK ) { read_free( read ); return( NULL ); } } else { if( WebPGetFeatures( read->buf, read->len, &read->config.input ) != VP8_STATUS_OK ) { read_free( read ); return( NULL ); } } if( read->config.input.has_alpha ) read->config.output.colorspace = MODE_RGBA; else read->config.output.colorspace = MODE_RGB; read->config.options.use_threads = TRUE; return( read ); }