From 764661e9527bb2762196ee8d24655687a3b0cec0 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Wed, 16 Feb 2022 21:24:22 +0000 Subject: multimedia/ab-av1: add new port AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf. https://github.com/alexheretic/ab-av1 --- multimedia/Makefile | 1 + multimedia/ab-av1/Makefile | 103 +++++++++++++++++++++++++++++++ multimedia/ab-av1/distinfo | 147 ++++++++++++++++++++++++++++++++++++++++++++ multimedia/ab-av1/pkg-descr | 3 + 4 files changed, 254 insertions(+) create mode 100644 multimedia/ab-av1/Makefile create mode 100644 multimedia/ab-av1/distinfo create mode 100644 multimedia/ab-av1/pkg-descr diff --git a/multimedia/Makefile b/multimedia/Makefile index 89728c8aebd2..6d4b2ef5b41c 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -2,6 +2,7 @@ SUBDIR += Bento4 SUBDIR += QtAV + SUBDIR += ab-av1 SUBDIR += ab25 SUBDIR += acidrip SUBDIR += aegisub diff --git a/multimedia/ab-av1/Makefile b/multimedia/ab-av1/Makefile new file mode 100644 index 000000000000..344b8bd0b3f0 --- /dev/null +++ b/multimedia/ab-av1/Makefile @@ -0,0 +1,103 @@ +PORTNAME= ab-av1 +DISTVERSIONPREFIX= v +DISTVERSION= 0.1.1 +CATEGORIES= multimedia + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= AV1 re-encoding using ffmpeg, svt-av1 & vmaf + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \ + SvtAv1EncApp:multimedia/svt-av1 + +USES= cargo +USE_GITHUB= yes +GH_ACCOUNT= alexheretic +PLIST_FILES= bin/${PORTNAME} \ + share/bash-completion/completions/${PORTNAME} \ + share/fish/vendor_completions.d/${PORTNAME}.fish \ + share/zsh/site-functions/_${PORTNAME} + +CARGO_CRATES= anyhow-1.0.53 \ + atty-0.2.14 \ + autocfg-1.0.1 \ + bitflags-1.3.2 \ + bytes-1.1.0 \ + cfg-if-1.0.0 \ + clap-3.0.14 \ + clap_complete-3.0.5 \ + clap_derive-3.0.14 \ + console-0.15.0 \ + encode_unicode-0.3.6 \ + ffprobe-0.3.0 \ + futures-0.3.19 \ + futures-channel-0.3.19 \ + futures-core-0.3.19 \ + futures-executor-0.3.19 \ + futures-io-0.3.19 \ + futures-macro-0.3.19 \ + futures-sink-0.3.19 \ + futures-task-0.3.19 \ + futures-util-0.3.19 \ + hashbrown-0.11.2 \ + heck-0.4.0 \ + hermit-abi-0.1.19 \ + indexmap-1.8.0 \ + indicatif-0.16.2 \ + itoa-1.0.1 \ + lazy_static-1.4.0 \ + libc-0.2.117 \ + log-0.4.14 \ + memchr-2.4.1 \ + mio-0.7.14 \ + miow-0.3.7 \ + ntapi-0.3.6 \ + num_cpus-1.13.1 \ + num_threads-0.1.3 \ + number_prefix-0.4.0 \ + once_cell-1.9.0 \ + os_str_bytes-6.0.0 \ + pin-project-lite-0.2.8 \ + pin-utils-0.1.0 \ + proc-macro-error-1.0.4 \ + proc-macro-error-attr-1.0.4 \ + proc-macro2-1.0.36 \ + quote-1.0.15 \ + regex-1.5.4 \ + regex-syntax-0.6.25 \ + ryu-1.0.9 \ + serde-1.0.136 \ + serde_derive-1.0.136 \ + serde_json-1.0.78 \ + signal-hook-registry-1.4.0 \ + slab-0.4.5 \ + strsim-0.10.0 \ + syn-1.0.86 \ + termcolor-1.1.2 \ + terminal_size-0.1.17 \ + textwrap-0.14.2 \ + time-0.3.7 \ + time-macros-0.2.3 \ + tokio-1.16.1 \ + tokio-macros-1.7.0 \ + tokio-process-stream-0.2.0 \ + tokio-stream-0.1.8 \ + tokio-util-0.6.9 \ + unicode-width-0.1.9 \ + unicode-xid-0.2.2 \ + version_check-0.9.4 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-util-0.1.5 \ + winapi-x86_64-pc-windows-gnu-0.4.0 + +post-install: +.for _shell in bash fish zsh + @${ECHO_MSG} "Generating ${STAGEDIR}${PREFIX}/${PLIST_FILES:M*${_shell}*}" + @${CARGO_CARGO_RUN} run ${CARGO_BUILD_ARGS} -- print-completions ${_shell} \ + >${STAGEDIR}${PREFIX}/${PLIST_FILES:M*${_shell}*} +.endfor + +.include diff --git a/multimedia/ab-av1/distinfo b/multimedia/ab-av1/distinfo new file mode 100644 index 000000000000..5f9c1052e2bd --- /dev/null +++ b/multimedia/ab-av1/distinfo @@ -0,0 +1,147 @@ +TIMESTAMP = 1642403802 +SHA256 (rust/crates/anyhow-1.0.53.crate) = 94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0 +SIZE (rust/crates/anyhow-1.0.53.crate) = 44233 +SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8 +SIZE (rust/crates/atty-0.2.14.crate) = 5470 +SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a +SIZE (rust/crates/autocfg-1.0.1.crate) = 12908 +SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a +SIZE (rust/crates/bitflags-1.3.2.crate) = 23021 +SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8 +SIZE (rust/crates/bytes-1.1.0.crate) = 49640 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/clap-3.0.14.crate) = b63edc3f163b3c71ec8aa23f9bd6070f77edbf3d1d198b164afa90ff00e4ec62 +SIZE (rust/crates/clap-3.0.14.crate) = 191513 +SHA256 (rust/crates/clap_complete-3.0.5.crate) = be4dabb7e2f006497e1da045feaa512acf0686f76b68d94925da2d9422dcb521 +SIZE (rust/crates/clap_complete-3.0.5.crate) = 22351 +SHA256 (rust/crates/clap_derive-3.0.14.crate) = 9a1132dc3944b31c20dd8b906b3a9f0a5d0243e092d59171414969657ac6aa85 +SIZE (rust/crates/clap_derive-3.0.14.crate) = 25314 +SHA256 (rust/crates/console-0.15.0.crate) = a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31 +SIZE (rust/crates/console-0.15.0.crate) = 23507 +SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f +SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741 +SHA256 (rust/crates/ffprobe-0.3.0.crate) = f439d57070a29c93e5bdf9f98b973360aa96b1b8c203793de54482f168fc216a +SIZE (rust/crates/ffprobe-0.3.0.crate) = 4609 +SHA256 (rust/crates/futures-0.3.19.crate) = 28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4 +SIZE (rust/crates/futures-0.3.19.crate) = 47605 +SHA256 (rust/crates/futures-channel-0.3.19.crate) = ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b +SIZE (rust/crates/futures-channel-0.3.19.crate) = 31940 +SHA256 (rust/crates/futures-core-0.3.19.crate) = d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7 +SIZE (rust/crates/futures-core-0.3.19.crate) = 14666 +SHA256 (rust/crates/futures-executor-0.3.19.crate) = 29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a +SIZE (rust/crates/futures-executor-0.3.19.crate) = 17286 +SHA256 (rust/crates/futures-io-0.3.19.crate) = b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2 +SIZE (rust/crates/futures-io-0.3.19.crate) = 8901 +SHA256 (rust/crates/futures-macro-0.3.19.crate) = 6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c +SIZE (rust/crates/futures-macro-0.3.19.crate) = 11253 +SHA256 (rust/crates/futures-sink-0.3.19.crate) = e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508 +SIZE (rust/crates/futures-sink-0.3.19.crate) = 7849 +SHA256 (rust/crates/futures-task-0.3.19.crate) = 6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72 +SIZE (rust/crates/futures-task-0.3.19.crate) = 11894 +SHA256 (rust/crates/futures-util-0.3.19.crate) = d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164 +SIZE (rust/crates/futures-util-0.3.19.crate) = 149240 +SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e +SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713 +SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9 +SIZE (rust/crates/heck-0.4.0.crate) = 11161 +SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33 +SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979 +SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223 +SIZE (rust/crates/indexmap-1.8.0.crate) = 52583 +SHA256 (rust/crates/indicatif-0.16.2.crate) = 2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b +SIZE (rust/crates/indicatif-0.16.2.crate) = 35057 +SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35 +SIZE (rust/crates/itoa-1.0.1.crate) = 11059 +SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 +SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443 +SHA256 (rust/crates/libc-0.2.117.crate) = e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c +SIZE (rust/crates/libc-0.2.117.crate) = 566541 +SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710 +SIZE (rust/crates/log-0.4.14.crate) = 34582 +SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a +SIZE (rust/crates/memchr-2.4.1.crate) = 64977 +SHA256 (rust/crates/mio-0.7.14.crate) = 8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc +SIZE (rust/crates/mio-0.7.14.crate) = 87429 +SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21 +SIZE (rust/crates/miow-0.3.7.crate) = 24563 +SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44 +SIZE (rust/crates/ntapi-0.3.6.crate) = 127221 +SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1 +SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752 +SHA256 (rust/crates/num_threads-0.1.3.crate) = 97ba99ba6393e2c3734791401b66902d981cb03bf190af674ca69949b6d5fb15 +SIZE (rust/crates/num_threads-0.1.3.crate) = 6374 +SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3 +SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922 +SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5 +SIZE (rust/crates/once_cell-1.9.0.crate) = 30702 +SHA256 (rust/crates/os_str_bytes-6.0.0.crate) = 8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64 +SIZE (rust/crates/os_str_bytes-6.0.0.crate) = 21046 +SHA256 (rust/crates/pin-project-lite-0.2.8.crate) = e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c +SIZE (rust/crates/pin-project-lite-0.2.8.crate) = 27847 +SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184 +SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580 +SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c +SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293 +SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869 +SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971 +SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029 +SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411 +SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145 +SIZE (rust/crates/quote-1.0.15.crate) = 27281 +SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461 +SIZE (rust/crates/regex-1.5.4.crate) = 236581 +SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b +SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293 +SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f +SIZE (rust/crates/ryu-1.0.9.crate) = 48391 +SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789 +SIZE (rust/crates/serde-1.0.136.crate) = 76158 +SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9 +SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776 +SHA256 (rust/crates/serde_json-1.0.78.crate) = d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085 +SIZE (rust/crates/serde_json-1.0.78.crate) = 144364 +SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0 +SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912 +SHA256 (rust/crates/slab-0.4.5.crate) = 9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5 +SIZE (rust/crates/slab-0.4.5.crate) = 15888 +SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623 +SIZE (rust/crates/strsim-0.10.0.crate) = 11355 +SHA256 (rust/crates/syn-1.0.86.crate) = 8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b +SIZE (rust/crates/syn-1.0.86.crate) = 235126 +SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4 +SIZE (rust/crates/termcolor-1.1.2.crate) = 17287 +SHA256 (rust/crates/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df +SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141 +SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80 +SIZE (rust/crates/textwrap-0.14.2.crate) = 52016 +SHA256 (rust/crates/time-0.3.7.crate) = 004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d +SIZE (rust/crates/time-0.3.7.crate) = 76358 +SHA256 (rust/crates/time-macros-0.2.3.crate) = 25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6 +SIZE (rust/crates/time-macros-0.2.3.crate) = 16838 +SHA256 (rust/crates/tokio-1.16.1.crate) = 0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a +SIZE (rust/crates/tokio-1.16.1.crate) = 552194 +SHA256 (rust/crates/tokio-macros-1.7.0.crate) = b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7 +SIZE (rust/crates/tokio-macros-1.7.0.crate) = 9261 +SHA256 (rust/crates/tokio-process-stream-0.2.0.crate) = bfe1b77e2c74925ae5a21d24d16019777206bb2f794358d786b83a31b608193c +SIZE (rust/crates/tokio-process-stream-0.2.0.crate) = 5590 +SHA256 (rust/crates/tokio-stream-0.1.8.crate) = 50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3 +SIZE (rust/crates/tokio-stream-0.1.8.crate) = 30537 +SHA256 (rust/crates/tokio-util-0.6.9.crate) = 9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0 +SIZE (rust/crates/tokio-util-0.6.9.crate) = 76480 +SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973 +SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745 +SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3 +SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955 +SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f +SIZE (rust/crates/version_check-0.9.4.crate) = 14895 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 +SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178 +SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (alexheretic-ab-av1-v0.1.1_GH0.tar.gz) = 6fe561789476028fd43f6d29600019fe5075c4546f0ee75c1d7bdf6d27ca24f1 +SIZE (alexheretic-ab-av1-v0.1.1_GH0.tar.gz) = 17732 diff --git a/multimedia/ab-av1/pkg-descr b/multimedia/ab-av1/pkg-descr new file mode 100644 index 000000000000..843b9f0dd206 --- /dev/null +++ b/multimedia/ab-av1/pkg-descr @@ -0,0 +1,3 @@ +AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf. + +WWW: https://github.com/alexheretic/ab-av1 -- cgit v1.2.3