X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/6e0cc4b9e825b70bef20eb2a305358335ed54085..c3ef3326d8ca3d9209afd34f6220f78b1eb0dbc2:/codec.inc.pl diff --git a/codec.inc.pl b/codec.inc.pl index ab7e841..6b6b4e0 100644 --- a/codec.inc.pl +++ b/codec.inc.pl @@ -5,6 +5,10 @@ codec => { name => 'JPEG', available => 1992, }, + gif => { + name => 'GIF', + available => 1987, + }, png => { name => 'PNG', available => 1996, @@ -38,6 +42,7 @@ feature => { name => 'compression (photo)', score => { jpeg => 3, + gif => 1, png => 1, jp2k => 4, webp => 3, @@ -52,6 +57,7 @@ feature => { name => 'thumbnails', score => { jpeg => 2, + gif => 1, png => 1, jp2k => 3, webp => 4, @@ -65,6 +71,7 @@ feature => { name => 'medium fidelity', score => { jpeg => 3, + gif => 1, png => 1, jp2k => 4, webp => 3, @@ -78,6 +85,7 @@ feature => { name => 'high fidelity', score => { jpeg => 3, + gif => 1, png => 2, jp2k => 4, webp => 2, @@ -91,6 +99,7 @@ feature => { name => 'lossless', score => { jpeg => 1, + gif => 1, png => 2, jp2k => 4, webp => 3, @@ -103,6 +112,7 @@ feature => { name => 'compression (other images)', score => { jpeg => 2, + gif => 1, png => 3, jp2k => 2, webp => 4, @@ -116,6 +126,7 @@ feature => { name => 'lossy non-photographic', score => { jpeg => 2, + gif => 2, png => 3, jp2k => 2, webp => 4, @@ -128,6 +139,7 @@ feature => { name => 'lossless non-photographic', score => { jpeg => 1, + gif => 1, png => 4, jp2k => 2, webp => 5, @@ -140,6 +152,7 @@ feature => { name => 'mixed photo/nonphoto', score => { jpeg => 2, + gif => 1, png => 2, jp2k => 2, webp => 3, @@ -151,6 +164,7 @@ feature => { speed => { score => { jpeg => 5, + gif => 4, png => 4, jp2k => 3, webp => 4, @@ -165,6 +179,7 @@ feature => { name => 'single-core encode', score => { jpeg => 5, + gif => 3, # palette conversion png => 3, jp2k => 4, webp => 4, @@ -178,6 +193,7 @@ feature => { name => 'single-core decode', score => { jpeg => 5, + gif => 5, png => 5, jp2k => 4, webp => 5, @@ -191,6 +207,7 @@ feature => { name => 'pararellizable', score => { jpeg => 2, + gif => 2, png => 2, jp2k => 4, webp => 2, @@ -202,6 +219,7 @@ feature => { limits => { score => { jpeg => 3, + gif => 2, png => 4, jp2k => 5, webp => 2, @@ -216,6 +234,7 @@ feature => { name => 'maximum image dimensions', score => { jpeg => 3, + gif => 3, png => 4, jp2k => 5, webp => 1, @@ -225,6 +244,7 @@ feature => { }, data => { jpeg => '65k²', # 2**16 + gif => '65k²', # 2**16 png => '2G²', # 2**31 jp2k => '4G²', # 2**32 webp => '16k²', # 2**14 @@ -238,6 +258,7 @@ feature => { name => 'precision (max. bit depth)', score => { jpeg => 2, + gif => 2, png => 4, jp2k => 5, webp => 2, @@ -247,6 +268,7 @@ feature => { }, data => { jpeg => 8, + gif => 8, png => 16, jp2k => 38, webp => 8, @@ -260,6 +282,7 @@ feature => { name => 'can do (lossy) 4:4:4', score => { jpeg => 'y', + gif => 'y', png => 'y', jp2k => 'y', webp => 'n', @@ -273,6 +296,7 @@ feature => { name => 'wide gamut/HDR', score => { jpeg => 'n', + gif => 'n', png => 'y', jp2k => 'y', webp => 'n', @@ -286,6 +310,7 @@ feature => { name => 'maximum number of channels', score => { jpeg => 2, + gif => 1, png => 2, jp2k => 5, webp => 2, @@ -295,6 +320,7 @@ feature => { }, data => { jpeg => 4, # cmyk + gif => 3, png => 4, # cmyk jp2k => 2**15, webp => 4, @@ -306,6 +332,7 @@ feature => { features => { score => { jpeg => 2, + gif => 2, png => 3, jp2k => 4, webp => 2, @@ -320,6 +347,7 @@ feature => { name => 'supports animation', score => { jpeg => 2, + gif => 'y', png => 4, jp2k => 2, webp => 'y', @@ -338,6 +366,7 @@ feature => { name => 'progressive decoding', score => { jpeg => 4, + gif => 2, png => 2, jp2k => 5, webp => 'n', @@ -351,6 +380,7 @@ feature => { name => 'alpha transparency', score => { jpeg => 'n', + gif => 3, png => 'y', jp2k => 'y', webp => 'y', @@ -358,12 +388,16 @@ feature => { avif => 'y', jxl => 'y', }, + data => { + gif => '1 bit', + }, }, depthmap => { parent => 'features', name => 'depth map', score => { jpeg => 'n', + gif => 'n', png => 'n', jp2k => 'n', webp => 'n', @@ -377,6 +411,7 @@ feature => { name => 'overlays (layers)', score => { jpeg => 'n', + gif => 'y', png => 'n', jp2k => 'n', webp => 'n', @@ -390,6 +425,7 @@ feature => { name => 'authoring workflow suitability', score => { jpeg => 2, + gif => 2, png => 3, jp2k => 3, webp => 2, @@ -403,7 +439,8 @@ feature => { name => 'generation loss resilience', score => { jpeg => 4, - png => 'n/a', + png => 0, + gif => 0, jp2k => 3, webp => 2, heic => 3, @@ -411,6 +448,7 @@ feature => { jxl => 4, }, data => { + gif => 'n/a', png => 'n/a', }, }, @@ -419,6 +457,7 @@ feature => { name => 'lossless JPEG recompression', score => { jpeg => 0, + gif => 'n', png => 'n', jp2k => 'n', webp => 'n', @@ -434,8 +473,8 @@ feature => { name => 'royalty-free', score => { jpeg => 5, - png => 5, gif => 5, # patents expired + png => 5, jp2k => 3, # specs not freely available webp => 4, # submarine risk heic => 'n', # patents enforced