summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorthierry1970 <thierry@ordissimo.com>2021-02-06 15:45:42 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2021-02-06 18:58:04 +0000
commit97f95e736269fcdf5511077135ede9b37dd06854 (patch)
tree9f8f74e8bb9b6cd2341210ea5becd9c141a3c520 /src/lib/evas
parentec4ef6911591b0ce47616438dfd34626d9302537 (diff)
Added the heif loader
Summary: that supports images : *.heif, *hiec and *.avif I have disabled *.avif images, there is already a loader. Reviewers: stefan_schmidt, raster Subscribers: raster, vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12135
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/common/evas_image_load.c7
-rw-r--r--src/lib/evas/file/evas_module.c4
-rw-r--r--src/lib/evas/meson.build2
3 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/evas/common/evas_image_load.c b/src/lib/evas/common/evas_image_load.c
index 8ed04dda2e..797fae37ea 100644
--- a/src/lib/evas/common/evas_image_load.c
+++ b/src/lib/evas/common/evas_image_load.c
@@ -69,6 +69,10 @@ static const struct ext_loader_s loaders[] =
69 MATCHING(".avif", "avif"), 69 MATCHING(".avif", "avif"),
70 MATCHING(".avifs", "avif"), 70 MATCHING(".avifs", "avif"),
71 71
72 MATCHING(".heif", "heif"),
73 MATCHING(".heic", "heif"),
74 // MATCHING(".avif", "heif"),
75
72 /* xcf - gefenric */ 76 /* xcf - gefenric */
73 MATCHING(".xcf", "generic"), 77 MATCHING(".xcf", "generic"),
74 MATCHING(".xcf.gz", "generic"), 78 MATCHING(".xcf.gz", "generic"),
@@ -167,7 +171,8 @@ static const struct ext_loader_s loaders[] =
167static const char *loaders_name[] = 171static const char *loaders_name[] =
168{ /* in order of most likely needed */ 172{ /* in order of most likely needed */
169 "png", "jpeg", "eet", "xpm", "tiff", "gif", "svg", "webp", "pmaps", 173 "png", "jpeg", "eet", "xpm", "tiff", "gif", "svg", "webp", "pmaps",
170 "bmp", "tga", "wbmp", "ico", "psd", "jp2k", "dds", "avif", "generic" 174 "bmp", "tga", "wbmp", "ico", "psd", "jp2k", "dds", "avif", "heif",
175 "generic"
171}; 176};
172 177
173struct evas_image_foreach_loader_data 178struct evas_image_foreach_loader_data
diff --git a/src/lib/evas/file/evas_module.c b/src/lib/evas/file/evas_module.c
index 6292c1bb42..1362a004d8 100644
--- a/src/lib/evas/file/evas_module.c
+++ b/src/lib/evas/file/evas_module.c
@@ -202,6 +202,7 @@ EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, dds);
202EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, eet); 202EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, eet);
203EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, generic); 203EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, generic);
204EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, gif); 204EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, gif);
205EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, heif);
205EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, ico); 206EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, ico);
206EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, jpeg); 207EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, jpeg);
207EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, jp2k); 208EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, jp2k);
@@ -307,6 +308,9 @@ static const struct {
307#ifdef EVAS_STATIC_BUILD_GIF 308#ifdef EVAS_STATIC_BUILD_GIF
308 EVAS_EINA_STATIC_MODULE_USE(image_loader, gif), 309 EVAS_EINA_STATIC_MODULE_USE(image_loader, gif),
309#endif 310#endif
311#ifdef EVAS_STATIC_BUILD_HEIF
312 EVAS_EINA_STATIC_MODULE_USE(image_loader, heif),
313#endif
310#ifdef EVAS_STATIC_BUILD_ICO 314#ifdef EVAS_STATIC_BUILD_ICO
311 EVAS_EINA_STATIC_MODULE_USE(image_loader, ico), 315 EVAS_EINA_STATIC_MODULE_USE(image_loader, ico),
312#endif 316#endif
diff --git a/src/lib/evas/meson.build b/src/lib/evas/meson.build
index 8dcfd98713..1bf5fa0801 100644
--- a/src/lib/evas/meson.build
+++ b/src/lib/evas/meson.build
@@ -11,6 +11,7 @@ webp = dependency('libwebp', version: ['>=0.5.0'], required: get_option('evas-lo
11webpdemux = dependency('libwebpdemux', version: ['>=0.5.0'], required: get_option('evas-loaders-disabler').contains('webp') == false) 11webpdemux = dependency('libwebpdemux', version: ['>=0.5.0'], required: get_option('evas-loaders-disabler').contains('webp') == false)
12libopenjp2 = dependency('libopenjp2', required: get_option('evas-loaders-disabler').contains('jp2k') == false) 12libopenjp2 = dependency('libopenjp2', required: get_option('evas-loaders-disabler').contains('jp2k') == false)
13libavif = dependency('libavif', required: get_option('evas-loaders-disabler').contains('avif') == false, version: '>= 0.8.2') 13libavif = dependency('libavif', required: get_option('evas-loaders-disabler').contains('avif') == false, version: '>= 0.8.2')
14heif= dependency('libheif', required: get_option('evas-loaders-disabler').contains('heif') == false)
14 15
15evas_image_loaders_file = [ 16evas_image_loaders_file = [
16 ['avif', 'shared', [libavif]], 17 ['avif', 'shared', [libavif]],
@@ -18,6 +19,7 @@ evas_image_loaders_file = [
18 ['eet', 'static', [eet]], 19 ['eet', 'static', [eet]],
19 ['generic', 'shared', [rt]], 20 ['generic', 'shared', [rt]],
20 ['gif', 'shared', [giflib]], 21 ['gif', 'shared', [giflib]],
22 ['heif', 'shared', [heif]],
21 ['ico', 'shared', []], 23 ['ico', 'shared', []],
22 ['jpeg', 'static', [jpeg]], 24 ['jpeg', 'static', [jpeg]],
23 ['jp2k', 'shared', [libopenjp2]], 25 ['jp2k', 'shared', [libopenjp2]],