From 4599cf37ad4ae46417dfb802760ebdfee58f156e Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Mon, 16 May 2022 01:30:24 +0200 Subject: [PATCH] codec: some random additional image and audio features AFAICT. --- codec-audio.inc.pl | 22 ++++++++++++++ codec-image.inc.pl | 74 +++++++++++++++++++++++++++++++++++++--------- 2 files changed, 82 insertions(+), 14 deletions(-) diff --git a/codec-audio.inc.pl b/codec-audio.inc.pl index 4239b2f..5844ea0 100644 --- a/codec-audio.inc.pl +++ b/codec-audio.inc.pl @@ -27,6 +27,13 @@ codec => { available => 1992, generation => 0, }, + mpc => { + name => 'Musepack', + abbr => 'MPC', + mime => 'audio/musepack', + available => 1997, + generation => 1, + }, }, feature => { default => { @@ -96,6 +103,20 @@ feature => { score => { mp3 => [4, 8], opus => [4, 6], + mpc => [5, 0], + }, + }, + steaming => { + name => 'Streamable', + score => { + mpc => 'y', + }, + }, + seeking => { + name => 'Fast seeking', + score => { + mpc => [5, undef, 'indexed'], + opus => [3, undef, 'bisection seeking (usually 1 physical seek required if implemented correctly)'], }, }, royalties => { @@ -104,6 +125,7 @@ feature => { vorbis => 5, opus => [4, undef, 'open and free design'], atrac => [2, undef, 'proprietary, but the original patents have expired'], + mpc => [5, undef, 'open format, bsd licensed implementation'], }, }, support => { diff --git a/codec-image.inc.pl b/codec-image.inc.pl index 21ce9a1..f689142 100644 --- a/codec-image.inc.pl +++ b/codec-image.inc.pl @@ -50,7 +50,7 @@ codec => { }, feature => { default => { - children => [qw( quality_photo quality_art speed limits features royalties overhead support )], + children => [qw( quality_photo quality_art speed limits features royalties overhead support web )], }, quality_photo => { name => 'compression (photo)', @@ -65,11 +65,26 @@ feature => { avif => 5, jxl => 5, }, - children => [qw( quality_photo_1 quality_photo_2 quality_photo_3 quality_photo_ll )], + children => [qw( quality_photo_ll quality_photo_3 quality_photo_2 quality_photo_1 quality_thumbs )], }, - quality_photo_1 => { + quality_thumbs => { parent => 'quality_photo', name => 'thumbnails', + score => { + jpeg => 1, + pnm => 1, + gif => 2, + png => 3, + jp2k => 1, + webp => 2, + heic => 4, + avif => 4, + jxl => 3, + }, + }, + quality_photo_1 => { + parent => 'quality_photo', + name => 'low fidelity', score => { jpeg => 2, pnm => 1, @@ -123,7 +138,7 @@ feature => { jp2k => 4, webp => 3, heic => 3, - avif => 3, + avif => 2, jxl => 5, }, }, @@ -344,7 +359,7 @@ feature => { avif => 4, jxl => 5, }, - children => [qw( animation progressive alpha depthmap overlays authoring reencode compat_jpeg )], + children => [qw( animation progressive alpha depthmap overlays vector authoring reencode compat_jpeg )], }, animation => { parent => 'features', @@ -376,6 +391,21 @@ feature => { jxl => 5, }, }, + vector => { + parent => 'features', + name => 'vector drawing', + score => { + jpeg => 'n', + pnm => 'n', + gif => 'n', + png => 'n', + jp2k => 'n', + webp => 'n', + heic => 'n', + avif => 'n', + jxl => [2, undef, 'splines'], + }, + }, alpha => { parent => 'features', name => 'alpha transparency', @@ -481,17 +511,33 @@ feature => { }, children => [], }, + web => { + name => 'browser support', + score => { + jpeg => [5, undef, 'ubiquitous since first inline images (1993)'], + pnm => [1, undef, 'rarely by (unix) systems'], + xbm => [2, undef, 'common before 200X'], + gif => [5, undef, 'predates the web, but unrestricted since 2004'], + png => [5, undef, 'problematic prior to IE7, currently ubiquitous'], + jp2k => [2, undef, 'just Safari'], + webp => [4, undef, 'widespread since 2020'], + heic => [1, undef, 'no browser support'], + avif => [3, undef, 'significant since 2021 (Safari 2023, no Edge yet)'], + jxl => [2, undef, 'experimental, blocked by chrome'], + }, + }, support => { + name => 'adoption', score => { - jpeg => 5, - pnm => [2, undef], - 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'], + jpeg => [5, undef, 'standard photography'], + pnm => [2, undef, 'uncomplicated bitmap interchange'], + gif => [4, undef, 'declining due to limitations'], + png => [5, undef, 'standard illustrations'], + jp2k => [3, undef, 'limited beyond Apple'], + webp => [4, undef, 'mostly online'], + heic => [2, undef, 'stored by latest cameras, interchange unlikely'], + avif => [3, undef, 'upcoming'], + jxl => [2, undef, 'ongoing'], }, }, overhead => { -- 2.30.0