X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/a142c8ca12f907b4775231207eeb5819ae76f30a..c106d1bc4d686595384f6b3d4cc2a28cbed70d1f:/codec.inc.pl diff --git a/codec.inc.pl b/codec.inc.pl index 2b1f590..f4d90e3 100644 --- a/codec.inc.pl +++ b/codec.inc.pl @@ -36,7 +36,7 @@ codec => { }, feature => { default => { - children => [qw( quality_photo quality_art speed limits features royalties )], + children => [qw( quality_photo quality_art speed limits features royalties overhead support )], }, quality_photo => { name => 'compression (photo)', @@ -438,5 +438,33 @@ feature => { }, children => [], }, + support => { + score => { + jpeg => 5, + gif => 5, + png => 5, + jp2k => [2, undef, 'Apple only'], + webp => [4, undef, 'modern browsers'], + heic => [1, undef, 'stored by latest cameras, no browser support'], + avif => [3, undef, 'all modern browsers except Safari and Edge'], + jxl => [2, undef, 'upcoming in most browsers'], + }, + }, + overhead => { + name => 'container overhead (file size)', + score => { + png => [3, 67, 'upto 70 bytes for specific RGBA'], + jpeg => [2, 160, '159 bytes minimum for gray, 288 for specific colours'], + gif => [4, 35, '43 bytes for transparent'], + webp => [4, 34, 'black or transparent lossless; 44-92 bytes lossy'], + bpg => [4, 31, 'lossy 29-62 bytes, lossless 37-160'], + flif => [5, 14, 'black or transparent; 20 bytes for specific RGBA'], + pnm => [5, 8, 'monochrome text PBM; 12 bytes PPM; 69 bytes PAM'], + jxl => [5, 12, '512×256 black pixels'], + avif => [1, 282, 'container overhead; 457 bytes with alpha'], + jp2k => [2, 123, 'experimental results, likely not optimal'], + heic => [1, 386], + }, + }, }, }