Merge branch '8.10'
This commit is contained in:
commit
b3481f5baa
|
@ -10,6 +10,9 @@
|
||||||
- get pdfium load building again [Projkt-James]
|
- get pdfium load building again [Projkt-James]
|
||||||
- add _source load support for pdfium
|
- add _source load support for pdfium
|
||||||
|
|
||||||
|
18/10/20 started 8.10.3
|
||||||
|
- relax heic is_a rules [hisham]
|
||||||
|
|
||||||
6/9/20 started 8.10.2
|
6/9/20 started 8.10.2
|
||||||
- update magicksave/load profile handling [kelilevi]
|
- update magicksave/load profile handling [kelilevi]
|
||||||
- better demand hint rules [kaas3000]
|
- better demand hint rules [kaas3000]
|
||||||
|
@ -26,6 +29,7 @@
|
||||||
- improve seek behaviour on pipes
|
- improve seek behaviour on pipes
|
||||||
- add "speed" param to heifsave [lovell]
|
- add "speed" param to heifsave [lovell]
|
||||||
- fix regression in C path for dilate / erode [kleisauke]
|
- fix regression in C path for dilate / erode [kleisauke]
|
||||||
|
- fix build with libheif save but no load [estepnv]
|
||||||
|
|
||||||
9/8/20 started 8.10.1
|
9/8/20 started 8.10.1
|
||||||
- fix markdown -> xml conversion in doc generation
|
- fix markdown -> xml conversion in doc generation
|
||||||
|
|
|
@ -68,12 +68,33 @@
|
||||||
#include <vips/debug.h>
|
#include <vips/debug.h>
|
||||||
#include <vips/internal.h>
|
#include <vips/internal.h>
|
||||||
|
|
||||||
#ifdef HAVE_HEIF_DECODER
|
/* These are shared with the encoder.
|
||||||
|
*/
|
||||||
|
#if defined(HAVE_HEIF_DECODER) || defined(HAVE_HEIF_ENCODER)
|
||||||
|
|
||||||
#include <libheif/heif.h>
|
#include <libheif/heif.h>
|
||||||
|
|
||||||
#include "pforeign.h"
|
#include "pforeign.h"
|
||||||
|
|
||||||
|
void
|
||||||
|
vips__heif_error( struct heif_error *error )
|
||||||
|
{
|
||||||
|
if( error->code )
|
||||||
|
vips_error( "heif", "%s (%d.%d)", error->message, error->code,
|
||||||
|
error->subcode );
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *vips__heif_suffs[] = {
|
||||||
|
".heic",
|
||||||
|
".heif",
|
||||||
|
".avif",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /*defined(DECODE) || defined(ENCODE)*/
|
||||||
|
|
||||||
|
#ifdef HAVE_HEIF_DECODER
|
||||||
|
|
||||||
#define VIPS_TYPE_FOREIGN_LOAD_HEIF (vips_foreign_load_heif_get_type())
|
#define VIPS_TYPE_FOREIGN_LOAD_HEIF (vips_foreign_load_heif_get_type())
|
||||||
#define VIPS_FOREIGN_LOAD_HEIF( obj ) \
|
#define VIPS_FOREIGN_LOAD_HEIF( obj ) \
|
||||||
(G_TYPE_CHECK_INSTANCE_CAST( (obj), \
|
(G_TYPE_CHECK_INSTANCE_CAST( (obj), \
|
||||||
|
@ -200,14 +221,6 @@ vips_foreign_load_heif_dispose( GObject *gobject )
|
||||||
dispose( gobject );
|
dispose( gobject );
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
vips__heif_error( struct heif_error *error )
|
|
||||||
{
|
|
||||||
if( error->code )
|
|
||||||
vips_error( "heif", "%s (%d.%d)", error->message, error->code,
|
|
||||||
error->subcode );
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
vips_foreign_load_heif_build( VipsObject *object )
|
vips_foreign_load_heif_build( VipsObject *object )
|
||||||
{
|
{
|
||||||
|
@ -258,7 +271,7 @@ static const char *heif_magic[] = {
|
||||||
*
|
*
|
||||||
* enum heif_filetype_result result = heif_check_filetype( buf, 12 );
|
* enum heif_filetype_result result = heif_check_filetype( buf, 12 );
|
||||||
*
|
*
|
||||||
* but it's very conservative and seems to be missing some of the Nokia hief
|
* but it's very conservative and seems to be missing some of the Nokia heif
|
||||||
* types.
|
* types.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
|
@ -269,7 +282,10 @@ vips_foreign_load_heif_is_a( const char *buf, int len )
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if( chunk_len > 32 ||
|
/* We've seen real files with 36 here, so 64 should be
|
||||||
|
* plenty.
|
||||||
|
*/
|
||||||
|
if( chunk_len > 64 ||
|
||||||
chunk_len % 4 != 0 )
|
chunk_len % 4 != 0 )
|
||||||
return( 0 );
|
return( 0 );
|
||||||
|
|
||||||
|
@ -1079,13 +1095,6 @@ vips_foreign_load_heif_file_is_a( const char *filename )
|
||||||
return( vips_foreign_load_heif_is_a( buf, 12 ) );
|
return( vips_foreign_load_heif_is_a( buf, 12 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *vips__heif_suffs[] = {
|
|
||||||
".heic",
|
|
||||||
".heif",
|
|
||||||
".avif",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_foreign_load_heif_file_class_init( VipsForeignLoadHeifFileClass *class )
|
vips_foreign_load_heif_file_class_init( VipsForeignLoadHeifFileClass *class )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue