414 Commits

Author SHA1 Message Date
3684ae13f8 Release v2.0.0 2023-06-22 21:39:58 +10:00
1c67f4778d Updated Linux FFmpeg build
Still FFplay static doesn't work
2023-06-22 21:32:34 +10:00
2ec3959579 Update Windows FFmpeg VVCEasy build 2023-06-21 18:51:17 +10:00
ff5c100111 Update vvenc binaries & added Linux arm64 binaries 2023-06-20 17:54:22 +10:00
a3f11ae887 Updated Android MPV VVCEasy standalone builds 2023-06-18 23:34:27 +10:00
0016c49a13 Updated Windows FFmpeg build & Windows MPV build
Additional added a new MPVLIB Windows x64 and cross compiled of Windows on Arch Linux for new Windows MPV VVCEasy builds.
2023-06-17 23:43:27 +10:00
8be7a432e5 Update vvenc binaries 2023-06-07 21:51:14 +10:00
1894959625 Fix spaces input error and set VVCSTART else valid 2023-05-20 22:00:00 +10:00
221cea7b20 Note to VVC matroska muxing for experimental 2023-05-11 19:45:49 +10:00
d9085679b3 Add my Hydrogenaudio account 2023-05-09 15:06:57 +10:00
742912cd7c Fix English spell and grammars 2023-05-06 13:53:10 +10:00
fa2e7bb8f5 Add Windows x86 VVC builds & update vvdec 2023-05-06 13:20:46 +10:00
b93a7533ad Added missing libvmaf feature in FFmpeg VVCEasy 2023-05-01 19:25:07 +10:00
ea165ef744 New macOS VVC binaries 2023-04-20 15:57:31 +10:00
3d4751cc05 Update vvdec binaries 2023-04-20 15:33:44 +10:00
5ca706b7bf Optimized vvdec web files 2023-04-19 00:50:29 +10:00
abd9886533 Update Windows FFmpeg VVCEasy build 2023-04-19 00:20:07 +10:00
b0b8cc4125 Windows XP & Android x86 support of VVC tools 2023-04-13 16:47:14 +10:00
0367d6cfaf change mp4box current year in license list 2023-04-08 21:03:27 +10:00
eeb622e87b Remove some projects license for unneeded
Additional change year to 2023 for current working.
2023-04-08 21:01:52 +10:00
c0979d563a Forgot to add vvdecapp sha256sum in Linux 2023-04-07 22:38:40 +10:00
c6de967e4a Update vvenc binaries 2023-04-07 22:36:39 +10:00
fd19097878 Revert back due to avoid crash and permission deny 2023-04-06 21:01:24 +10:00
e20e7a27fc Forgot to add yt-dlp word in MPV changelog 2023-04-06 20:16:59 +10:00
0e673ecabf Enabled two libraries in MPV Android VVCEasy build 2023-04-06 20:14:23 +10:00
b609906218 New Android MPV VVCEasy builds
The new Android MPV VVCEasy builds are now packages of is.vvceasy.mpv and updated with latest FFmpeg master.
2023-04-04 20:56:39 +10:00
85e4894ded Fix bug and convert to unix format 2023-04-04 20:17:38 +10:00
489d558bce Disable matroska demux of LAVFilters VVC to fix
Removed matroska demuxer of FFmpeg configuration to fix some computers having problem to play any Matroska container. Fixes #26.
2023-04-04 16:17:32 +10:00
39f09eda99 New Windows FFmpeg and MPV VVCEasy builds 2023-04-03 11:58:46 +10:00
8c9fd02ca6 Forgot to add libvmaf command in FFmpeg configure 2023-04-03 10:01:21 +10:00
f7790b7fe2 Fix duplicate one word 2023-04-03 08:59:07 +10:00
f86bc7452f Improved build scripts 2023-04-02 23:21:41 +10:00
60d85bb3bc Update & optimize Windows VLC VTM 18.2 2023-04-01 22:53:20 +11:00
5b8106055e Update vvenc binaries & Windows optimization build 2023-03-30 02:14:52 +11:00
efdfd9f2e8 Update MPV Android package and icons 2023-03-29 21:31:49 +11:00
e3be2635d3 Full VVC support and fix xHE-AAC playable 2023-03-21 19:52:37 +11:00
bf38784d05 Forgot to add vvdecapp sha256 sum 2023-03-21 13:27:34 +11:00
74e95941ef Update vvenc binaries 2023-03-20 20:15:52 +11:00
7789b2963b Add deprecated builds in README 2023-03-15 21:18:06 +11:00
238a1655ae Fix audio script installation bug 2023-03-15 16:34:46 +11:00
9044dc2640 Only C# script will run in actions 2023-03-14 22:02:19 +11:00
f52608cf03 Added note experimental of LAVFilter 2023-03-14 21:59:01 +11:00
9c27308b70 Delete obj temp folder 2023-03-14 17:36:16 +11:00
1669057b7d Add LAVFilter x64 VVC version 2023-03-14 17:31:02 +11:00
22dbe70648 Update vvenc & vvdec binaries 2023-03-11 11:03:48 +11:00
877167f4ce Add FFmpeg-FixVVC old source code link 2023-03-03 23:11:05 +11:00
336ea8a9b6 Add Android TV support in MPV Android VVCEasy 2023-02-19 14:47:40 +11:00
4391c19ead Added Android MPV VVCEasy build with gpu-next 2023-02-16 00:15:36 +11:00
2cc1b1d365 Update Android MPV VVCEasy build 2023-02-14 23:32:21 +11:00
133f8b9400 Update vvenc binaries 2023-02-09 21:51:43 +11:00
90f4381f3d Update vvenc binaries 2023-02-03 21:45:24 +11:00
49fafe2bba update vvenc binaries 2023-02-02 22:56:28 +11:00
7a680de4f5 update vvenc & vvdec builds 2023-01-29 22:23:39 +11:00
2687df8877 Updated Windows MPV VVCEasy builds 2023-01-29 17:29:30 +11:00
1ccbfea742 apply no shared and static link in codec2 2023-01-12 13:06:56 +11:00
41b96250e0 fix codec2 cmake for missing target install 2023-01-12 12:47:26 +11:00
2c8e059987 update mpv android vvceasy build
removed api 30 optionally, which under android api 29 lists all type files only.
2023-01-11 15:17:43 +11:00
d8500e69c4 fix some words in limitations 2023-01-10 21:45:53 +11:00
161a47cd3c update vvenc latest, including ffmpeg builds 2023-01-10 21:43:17 +11:00
8a9001313b update linux ffmpeg vvceasy build 2023-01-05 12:15:46 +11:00
6bdd0cdcec remove codec2 in linux script
Reason: FFmpeg does not detect libcodec2 static library on Linux only.
2023-01-05 12:08:21 +11:00
a45c38a732 update windows ffmpeg build for vvenc codes 2022-12-30 22:40:06 +11:00
de5daedb66 update vvenc latest commit 2022-12-28 17:52:19 +11:00
5a1c6389a0 update windows ffmpeg build to add codec2 2022-12-23 22:49:28 +11:00
31f45143a8 improve opus, add speex and codec2 in linux script 2022-12-23 22:07:49 +11:00
4e9ae1efb8 fix sdl mingw build script 2022-12-23 22:01:09 +11:00
33d7f39fa9 add codec2 to ffmpeg mingw script 2022-12-23 21:57:15 +11:00
a686d7535c forgot one changelog to add it 2022-12-08 00:02:12 +11:00
a37bfb104b update windows build and fix issue #22 2022-12-07 23:59:39 +11:00
5df8b2b169 add message while building linux version 2022-12-07 23:47:45 +11:00
1fd81eefd6 fix minor bug in ffmpeg mingw script shell 2022-12-07 23:46:13 +11:00
9a2278d21c fix shell script compilation bug 2022-12-07 23:37:06 +11:00
38cff14abc update android vvenc/dec & uvg266 2022-12-07 16:17:14 +11:00
1609148f76 update vvenc & vvdec executables 2022-12-03 15:30:04 +11:00
f7c353138a remove YUView for necessary in README + add others 2022-11-07 12:37:52 +11:00
cddb15d88b make variables text in batchfile 2022-10-28 09:32:09 +11:00
ab16a0ce47 Update linux vvenc binaries (26/10/2022) 2022-10-26 12:58:38 +11:00
1b94d9440d update windows vvenc binaries (26/10/2022) 2022-10-26 12:57:43 +11:00
4ad2817f82 fixed another bug for missing answer text 2022-10-24 23:10:21 +11:00
be7623bd7e fix small bug for swapped words and referred link 2022-10-24 22:50:39 +11:00
0826a8cbdb Update Linux vvenc binaries (22/10/2022) 2022-10-22 12:58:30 +11:00
7629579d21 update windows vvenc binaries (22/10/2022) 2022-10-22 10:26:24 +11:00
77ff5ff623 add linux static binaries of ffmpeg, see more info
Please note, that FFplay does not work only with FFmpeg linux static binaries.
2022-10-20 14:56:11 +11:00
29063b75b9 Update of vvenc & vvdec linux binaries 20/10/2022 2022-10-20 14:47:47 +11:00
01d8bdc61b change vvdecwebplayer license to clear bsd 2022-10-20 14:32:14 +11:00
599cd5f7df make variable text for strings easy 2022-10-18 19:44:13 +11:00
c711ba2100 removed vmaf in linux ffmpeg script 2022-10-17 11:01:09 +11:00
a3e657bc79 removed vmaf in ffmpeg windows script 2022-10-17 10:57:15 +11:00
694b7e6960 update vvenc one more commit to binaries (v.1.6.1) 2022-10-13 21:58:58 +11:00
2c4581642d removed libvorbis, update SDL2 & mpv.net latest 2022-10-11 17:03:56 +11:00
d1d91f3759 remove libvorbis + update SDL2 windows build 2022-10-11 11:10:13 +11:00
4baf94575c add note downloaders + changelog 2022-10-10 22:35:14 +11:00
44c2c68064 removed libplacebo (not working), added 2 decoders 2022-10-10 18:19:15 +11:00
c1d686c427 fix two decoders for revert back to s16 windows
For two decoders of libspeex & libvorbis only.
2022-10-10 17:01:09 +11:00
5bb91d009b add improved decoders quality for windows build 2022-10-10 11:10:01 +11:00
d00b5d8527 Improve the command converting with pipe 2022-10-07 16:19:51 +10:00
a4423d8d94 fixed libvmaf models to ffmpeg for windows build 2022-09-30 17:09:28 +10:00
3127b4cc65 add vim pacman install 2022-09-30 17:01:03 +10:00
be05b0b0b2 add float support + vmaf models to windows ffmpeg 2022-09-30 16:43:37 +10:00
eb605ef213 update vmaf configuration on linux instructions 2022-09-30 16:36:53 +10:00
647cabb062 add also float + models of linux vmaf 2022-09-30 16:35:40 +10:00
524c6652ca fix to add enable float & built models of vmaf 2022-09-30 16:34:03 +10:00
4aae1c6f73 fix two dots again 2022-09-29 21:32:37 +10:00
037f37c071 make static to improve linux build script vvc 2022-09-29 21:31:51 +10:00
97494d5417 IMPORTANT!!!: Broken monero is replaced by primary
Since 29th September 2022, my second monero won't receive funds for no reason. I decided to switch my primary account & address. Anyone already paid to second monero address is lost forever, and you don't need to donate to me again with your already paid to primary address. You can now still donate to my primary monero address, if necessary possible, it's up to you.
2022-09-29 08:25:51 +10:00
0c69f924c5 update windows ffmpeg vvc build 2022-09-28 22:10:06 +10:00
d5d29b50bf fix small bug on ffmpeg linux script 2022-09-27 15:44:04 +10:00
4f6bb5fdb8 fix small bug on ffmpeg mingw script 2022-09-27 15:41:52 +10:00
c5438e474d forgot to add two dots of meson configure 2022-09-27 15:39:43 +10:00
e99df2dbb7 fix the one small link 2022-09-27 14:08:35 +10:00
2a9598a276 fix spellings in README 2022-09-27 14:07:25 +10:00
8909b534f7 added my sourceforge link 2022-09-26 09:03:56 +10:00
03d4d3a65c remove patch file in the linux build script ffmpeg 2022-09-24 11:45:45 +10:00
deea6964f6 remove patch file, because it is now fixed vvenc 2022-09-24 11:44:58 +10:00
b5fef94990 Update of vvenc v1.6.1-rc1 linux binaries 2022-09-24 01:33:03 +00:00
269c4fda70 Update vvenc build v1.6.1-rc1 of windows binaries 2022-09-24 01:21:06 +00:00
826f9ecd76 fix cd, improve windows build script of ffmpeg vvc 2022-09-23 21:17:10 +10:00
e44fe0a907 same as instructions said from previous commit 2022-09-23 21:10:15 +10:00
2075fc3bd1 improved linux build script in this instruction 2022-09-23 21:06:33 +10:00
a72af74566 remove visitors badge, accident 2022-09-19 11:21:26 +10:00
4ac43170f7 add visitors badge in README.md 2022-09-19 11:20:45 +10:00
0de423ef97 deprecated openvvc, no developed than 6+ months
OpenVVC is replaced by libvvdec. Reason: OpenVVC commits were last at March 2022 + no mp4 support.
2022-09-17 13:44:03 +10:00
60e0c4d9c7 added important, that o266player decoder expired 2022-09-17 13:39:36 +10:00
8a9d643a36 changed from old to new commands of linux script 2022-09-17 12:13:54 +10:00
7a9c811cca add Artem to THANKS.md 2022-09-17 11:44:58 +10:00
f38aca5b15 Deprecated update commands 2022-09-17 11:38:17 +10:00
1d62f5a9e5 remove necessary pull request template word 2022-09-17 11:36:45 +10:00
d26dc31568 Add issue templates 2022-09-17 11:35:23 +10:00
961e155ef4 add contributions md 2022-09-17 11:33:34 +10:00
7e17d096bf change improved readme of vlc plugins 2022-09-17 09:09:56 +10:00
f65febc416 Updated libvtmdec 17.2 DLL on Windows build 2022-09-16 22:59:51 +00:00
879dc55601 Updated VTM 17.2 of VLC plugins on Windows build 2022-09-16 22:58:38 +00:00
5fa418dd5b add make opus for linux 2022-09-16 14:29:03 +10:00
c58fa8e1a9 added reddit community in README 2022-09-15 23:26:38 +10:00
5750ed8684 linux build is now static, vvc binaries updated
TIP: You can load binaries for every Linux distros. Not a dynamic executables equals static.
2022-09-15 08:44:21 +00:00
2cfe7d1f5c added update & upgrade before install packages 2022-09-15 17:47:03 +10:00
fc2099999f forgot to add little commands 2022-09-15 17:42:08 +10:00
202988414d add two packages on linux build 2022-09-15 17:41:04 +10:00
c1db5dab3e add packages + disable lto before ffmpeg build 2022-09-15 16:35:28 +10:00
9e99e397eb change uvg266 options of vvdec unplayable 2022-09-15 12:11:54 +10:00
13d0ed6b75 another reminder of uvg266 2022-09-15 10:15:56 +10:00
86a16392c6 add reminder notice of uvg266 freeze 2022-09-15 10:14:53 +10:00
7fe55d6af5 Forgot to add input-bitdepth 10 of uvg266 10-bit 2022-09-15 10:10:36 +10:00
a949392967 added uvg266 encoder of android binaries 2022-09-14 23:55:11 +00:00
6709f695e3 Update of Android VVDEC latest (15/09/2022) 2022-09-14 23:21:21 +00:00
999b3adc37 change android folder directory 2022-09-15 09:10:46 +10:00
e5a295c4cc change information on android vvdec 2022-09-15 08:54:06 +10:00
45322c106e vvenc pipe does not support two pass mode 2022-09-15 08:37:27 +10:00
1fea2bf1f5 forgot to add --y4m on pro tip y4m vvenc 2022-09-14 22:53:10 +10:00
49851eedae vvDecWebPlayer (updated to 14th September 2022) 2022-09-14 12:35:42 +00:00
f7d49c0838 pro tip y4m users, no need video size & fps vvenc 2022-09-14 13:00:44 +10:00
b262a9261a added libplacebo support windows mpv vvceasy build 2022-09-11 21:19:43 +10:00
d68046070b complete static mpv.net vvceasy + optional feature
Fixed new Intel CPU processors of Windows MPV.NET VVCEasy, now it's complete static. Added optional features into MPV VVCEasy.
2022-09-11 17:27:32 +10:00
78e911826f add windows mpv.net vvceasy version for easy users 2022-09-10 15:47:47 +10:00
ce230b1266 improved msys2 build script on Windows 2022-09-10 10:40:29 +10:00
0995eb9e94 update linux build script 2022-09-10 10:12:23 +10:00
721f30e562 fix configuration of mac os build script 2022-09-10 10:10:02 +10:00
f80b4515fc update windows build script for visual studio user 2022-09-10 10:06:21 +10:00
cfffaa3200 updated of mac os vvenc/dec binaries (07/09/2022) 2022-09-07 11:23:28 +00:00
eb04c56dc9 Updated of vvenc/dec of windows build (07/09/2022) 2022-09-07 10:55:57 +00:00
f09609a5ea fix double of & in title 2022-09-07 20:49:20 +10:00
5dbb98a2e0 updated windows mpv vvceasy build 2022-09-07 20:48:49 +10:00
59ab7f686c updated windows ffmpeg vvc build 2022-09-07 20:48:24 +10:00
417dd157f8 change ffmpeg mingw build script 2022-09-07 19:15:28 +10:00
07b7b0d072 update android mpv vvceasy build latest 2022-09-05 20:43:56 +10:00
c2e46daf37 fix doom9 search link 2022-09-05 20:34:13 +10:00
f5a52e37dc added ac4 decoder on windows ffmpeg vvceasy build 2022-09-05 17:39:12 +10:00
637f4bd2b5 add vvenc text back in README 2022-09-02 17:51:13 +10:00
7200b6a100 add solution for remux in mp4box and remove issues 2022-09-01 19:31:07 +10:00
8cfb858dcc complete static of windows mpv vvceasy build 2022-09-01 17:38:55 +10:00
c776d2eb4c added optional libvmaf, libdav1d and libopus
for libvmaf users, they can calculate vmaf score by vvc video from original video. libdav1d is now added av1 fast decoder, libopus improved decode quality.
2022-09-01 16:00:12 +10:00
b7b7f5e0c5 brought back vvenc back of windows static build 2022-08-29 18:29:04 +10:00
82b7b05def updated of mac os build, now complete static 2022-08-27 15:52:56 +10:00
2fda3183ea updated to vvenc/vvdec of mac os build 2022-08-27 05:42:31 +00:00
6cbbc9ee6e updated to vvdec for lto fix 2022-08-27 05:41:00 +00:00
c4ea940691 update mac os build codes 2022-08-27 13:36:34 +10:00
df79882384 fixed sha256sums of windows build 2022-08-26 06:01:11 +00:00
0e3e07088c accidentality to remove 2022-08-26 16:00:31 +10:00
39569691f2 Updated to vvenc & vvdec windows build 26/08/2022 2022-08-26 05:59:15 +00:00
fb10943afe small fix to change ubuntu version in this doc 2022-08-23 21:15:35 +10:00
140aa9aa1a added linux ffmpeg vvc static build 2022-08-23 21:13:49 +10:00
777b7082ab update linux code to make static build, added deps 2022-08-22 18:53:49 +10:00
53d02caa6c update linux build codes 2022-08-21 09:26:39 +10:00
9798092921 deprecated vvenc, adding xhe-aac text in README 2022-08-18 00:14:56 +10:00
c102e8923b deprecated vvenc, added xHE-AAC support of Windows
completely static of ffmpeg windows build
2022-08-18 00:10:56 +10:00
5577515ac1 add fdk-aac manual fix before build 2022-08-16 22:01:05 +10:00
2d6cc3e5c7 forgot to add manual fix fdk aac for android build 2022-08-16 21:56:36 +10:00
4b8bead8bd added mpv android build instructions 2022-08-16 21:29:54 +10:00
b43cfcec42 update some changes in README 2022-08-13 20:19:12 +10:00
c23f35e342 vvDecWebPlayer (updated to 13th August 2022) 2022-08-13 15:06:29 +10:00
2f7e5734ec add xhe-aac support + mpv new build of android 2022-08-13 14:49:55 +10:00
fb3e9a1f0b add xhe-aac support of windows, see #17
another special thanks to @ZenKiyoshi
2022-08-11 22:31:01 +10:00
7bab8566f6 swapped correct fix depths 2022-08-10 14:12:00 +10:00
5fb0f13967 add some changes of mingw64 build 2022-08-10 14:08:30 +10:00
8beb0749b1 added git depths and change sudo some commands 2022-08-08 03:16:30 +00:00
02ab4f0dd4 Updated from 7-Zip 22.00 to 22.01 2022-07-23 05:30:25 +00:00
9a5aa668b0 Update one commit of vvenc for Windows version 2022-07-17 13:53:06 +00:00
15fbf7cad7 fix dll missed, add gnutls mpv vvc player (#16)
special thanks to @ZenKiyoshi, see (#16)
2022-07-17 14:59:51 +10:00
4aed697d77 fix mpv build bug of intel, see #16
special thanks to @ZenKiyoshi for Intel bug build.
2022-07-17 04:12:06 +10:00
1f918cdccf now windows build is static, fix #16
special thanks to @ZenKiyoshi for Intel bug build.
2022-07-17 03:59:09 +10:00
06046ede48 Updated to vvenc 1.5.0-rc1 of Mac OS version 2022-07-12 17:31:37 +00:00
18f81d2599 fix revolt link, now you can join 2022-07-12 16:50:15 +00:00
3c81970465 Updated to vvenc 1.5.0-rc1 of Windows version 2022-07-12 19:18:05 +03:00
6971d0715d added estonia bank donation
i have a still estonian bank number since 2015
2022-07-11 23:56:12 +10:00
f5f9aee794 Updated from 7-Zip 21.07 to 22.00 2022-07-11 15:40:13 +03:00
37c88b279b fix the link 2022-07-11 22:39:18 +10:00
c786e2fc61 Merge pull request #15 from MartinEesmaa/release-(v.1.0.1)
make a little space list in v.1.0.1
2022-07-02 10:32:21 +03:00
a20624849a make a little space list 2022-07-02 17:32:00 +10:00
8dc96c25c5 Merge pull request #14 from MartinEesmaa/release-(v.1.0.1)
forgot spell fix of v.1.0.1 release version
2022-07-02 10:27:10 +03:00
d7f1b8e5d7 forgot spell fix 2022-07-02 17:26:36 +10:00
c2e506e96f Merge pull request #13 from MartinEesmaa/release-(v.1.0.1)
Windows build of MPV Player + Android applications of vvdecapp in Termux
2022-07-02 10:22:31 +03:00
1bc30fd327 added note of linux before build requires libvlc 2022-07-02 17:21:28 +10:00
0460662adf Version v.1.0.1 .NET version 2022-07-02 17:17:57 +10:00
846e71aa39 Version v.1.0.1 batchfile version 2022-07-02 17:16:37 +10:00
d32dd7f4a4 update list 2022-07-02 17:14:54 +10:00
f712cd6a8d Added android screenshot of vvdecapp in Termux app 2022-07-02 17:13:20 +10:00
f292a82b72 Added Android vvdecapp of Android system types
All system types of arm64, armeabi, x86 and x86_64 are built on vvdecapp, it is use of Termux app.

arm64 - API 21 (phones only)
armeabi - API 19 (some phones)
x86 & x86_64 - API 21 (tablets only)

- Martin Eesmaa
2022-07-02 10:06:33 +03:00
1dff7ad5c2 Added Windows build x64 of MPV Player 2022-07-02 16:59:48 +10:00
7527ec1e03 Merge pull request #12 from MartinEesmaa/release-(v.1.0.0)
fix the bugs of .net release version
2022-06-23 08:49:03 +03:00
c86076b391 fix the bugs of .net release version 2022-06-23 15:48:35 +10:00
c9433e00cd Merge pull request #11 from MartinEesmaa/release-(v.1.0.0)
changed improved things and added extras
2022-06-23 08:42:38 +03:00
10f10ca4cb Version v.1.0.0 .NET release 2022-06-23 15:41:55 +10:00
f7c19674f0 fix typo 2022-06-23 15:37:41 +10:00
8b40e67e62 Version v.1.0.0 batchfile 2022-06-23 15:36:32 +10:00
c2fe35941d added better screenshot of mpv player libvvdec 2022-06-23 15:27:49 +10:00
fd43071cfa added tests of vvc video 2022-06-23 15:23:18 +10:00
fe93a27f0f added vlc logo in README.md of vlc vtm folder 2022-06-23 04:43:15 +10:00
7b37e67e1b added build instructions for vlc vtm builders 2022-06-23 04:39:36 +10:00
b8a2bd8695 added vvenc for ffmpeg, but its experimental codec
special thanks to @IsaMorphic for adding vvenc into FFmpeg!
2022-06-23 03:42:25 +10:00
c5b7fd3944 openvvc replaced by libvvdec of android mpv player 2022-06-22 02:42:26 +10:00
bc06ab5e30 changed improved things and added extras
extras and changed are:
MPV OpenVVC is replaced by MPV libvvdec.
Extra: Adding libvvenc to FFmpeg VVC, thanks @IsaMorphic!
2022-06-21 22:53:32 +10:00
395b764805 Merge pull request #9 from MartinEesmaa/beta-(v.0.9.2)
VVCEasy release (v.0.9.2)
2022-06-18 11:34:27 +00:00
dd650bc9ed added big changes of openvvc shell build 2022-06-18 21:05:31 +10:00
96f330513a added big changes 2022-06-18 20:58:06 +10:00
c162655485 moved from original o266player screenshot for this 2022-06-18 20:54:51 +10:00
9b957ee4c7 removed o266player screenshots of old update 2022-06-18 20:54:04 +10:00
e476cf1c22 made little changes of mingw ffmpeg vvc build 2022-06-18 20:51:20 +10:00
5a85cff664 Version v.0.9.2 Csharp version 2022-06-18 20:48:15 +10:00
95709d71cd Version v.0.9.2 batchfile 2022-06-18 20:46:21 +10:00
acb3a1433c added important note for mac os users 2022-06-18 20:36:14 +10:00
a0a6d5346f forgot to add little keys 2022-06-18 11:31:30 +10:00
4c29ead6b4 Forgot to add sdl2, so the ffplay will available 2022-06-17 18:14:54 +10:00
0b3603a89b update some changes 2022-06-16 05:47:22 +00:00
a42e5caab5 Merge pull request #10 from MartinEesmaa/master
vvDecWebPlayer (updated to 16th June 2022)
2022-06-16 05:45:09 +00:00
782ed4dc56 vvDecWebPlayer (updated to 16th June 2022) 2022-06-16 05:43:48 +00:00
cf6c84397d VVENC & VVDEC (latest update of 16th June 2022) 2022-06-16 05:08:17 +00:00
80ac019e01 big changes for README 2022-06-15 22:33:45 +10:00
45b947c6d3 create ffmpeg vvc build for windows 2022-06-15 21:44:48 +10:00
7d9b47c820 changed from sdk to api29, other is default 2022-06-11 16:32:48 +10:00
d89f032ff4 added two special thanks list 2022-06-11 15:16:21 +10:00
17e3ad82a2 added doom9 forum link 2022-06-10 22:35:02 +10:00
02101cc3fd added imgur link 2022-06-09 18:52:18 +10:00
7a1b1d1fba VVENC latest update (1st June 2022) 2022-06-01 11:42:47 +00:00
c438b0e4a6 Updated vvenc encoder since 1st June 2022 2022-06-01 11:27:24 +00:00
b2928fa002 Added i686 support on MPV (not tested) 2022-06-01 21:18:57 +10:00
a71cde1a46 fix to remove long links of documentation redirect 2022-05-30 21:03:30 +10:00
99efbf14ea Merge pull request #5 from MartinEesmaa/beta-(v.0.9.0)
VVCEasy release (v.0.9.0)
2022-05-24 12:29:05 +00:00
a09fed7ac0 changed version from v.0.5.0 to v.0.9.0 in batch 2022-05-24 22:20:42 +10:00
149151817d changed version from v.0.5.0 to v.0.9.0 in C# 2022-05-24 22:20:16 +10:00
2c7a5ee2fd added wikipedia list 2022-05-24 22:19:08 +10:00
fa7935c674 changed from h266 to vvc video codec file 2022-05-24 22:10:39 +10:00
24fcda99e8 added tip of external sound adding 2022-05-24 22:10:11 +10:00
b386e6b394 updated of interdigital 2022-05-24 22:08:40 +10:00
8b66900f3e added code to fix 2022-05-24 21:58:59 +10:00
3d7abf2fe2 added snap store instruction 2022-05-24 21:55:15 +10:00
de45fb1d1f changed for recommended list 2022-05-24 21:40:19 +10:00
5a5fd66aae added available for linux of interdigital 2022-05-24 21:26:20 +10:00
d646d397e1 added linux instructions for install vvc plugin 2022-05-24 21:17:50 +10:00
d2ab403b09 add vlc linux screenshot for vvc video 2022-05-24 11:15:26 +00:00
4152d2b687 One updated & one new file for Ubuntu 20.04 build 2022-05-24 07:20:17 +00:00
f1dbbd6b0f Android SDK 30 .APK debug is strong recommended 2022-05-23 22:22:51 +10:00
d669a87a3f updated lists 2022-05-23 22:05:36 +10:00
6d9b45db48 added mpv & ffmpeg, removed o266player list 2022-05-23 20:49:54 +10:00
2c2f8ff29c added MPV option in batchfile 2022-05-23 20:28:46 +10:00
40686abc7e Updated for added plugin, better pts management 2022-05-23 10:10:47 +00:00
336ef3b0b6 added stable apk 2022-05-23 19:39:37 +10:00
e72177a508 added sha256sums, complete MPV instructions 2022-05-23 19:25:21 +10:00
e33dc5b29f added myself credit forker in mpv android 2022-05-23 18:16:20 +10:00
1c4db07ce9 improved readme 2022-05-22 22:36:34 +10:00
8408b41a8c changed to improve build shell 2022-05-22 22:32:20 +10:00
34fa72347d improved to change something 2022-05-22 22:30:20 +10:00
5e6e9a06c3 removed limitation of mac os ffmpeg, add gpac 2022-05-22 22:28:49 +10:00
43b8445839 updated mac os to preview video 2022-05-22 22:21:44 +10:00
6ea6f7ac47 added social media links 2022-05-22 19:13:33 +10:00
9b24ce70a1 Merge pull request #7 from MartinEesmaa/master
removed codacy badge
2022-05-22 08:59:51 +00:00
ffd480741c removed codacy badge
reason annoying
2022-05-22 18:59:08 +10:00
3a9be77e8a create MPV instructions 2022-05-22 18:50:19 +10:00
886983a399 added list of MPV, added OpenVVC in license/credit 2022-05-22 17:43:12 +10:00
1179e44648 added MPV android openvvc support in README 2022-05-22 17:03:54 +10:00
499cc738b4 added ffmpeg vvdec install option 2022-05-21 23:55:59 +10:00
33d9e45383 fully completed of ffmpeg vvdec support manual 2022-05-21 23:41:35 +10:00
5ceebac52a Merge pull request #6 from MartinEesmaa/master
mac os build to v.0.9.0
2022-05-21 12:04:18 +00:00
4f6f0f8a7a VVENC/DEC latest build of 15th May 2022 on Mac OS 2022-05-21 12:03:22 +00:00
055782d0ee deleted sha512sums too long 2022-05-21 22:02:56 +10:00
94c46a866d VVENC/DEC latest build of 15th May 2022 on Mac OS 2022-05-21 12:01:12 +00:00
935864b349 deleted sha512sums too long 2022-05-21 21:59:55 +10:00
9f73d1cd3b added log file for linux users of errors 2022-05-21 16:00:53 +10:00
7cfb6a1b2c VVENC & VVDEC (latest build since 15th May 2022) 2022-05-21 05:48:00 +00:00
6392235e49 added audio support of FFmpeg VVC 2022-05-21 05:44:06 +00:00
5556b8cf7a Added two linux compiled files except demux 2022-05-21 05:07:41 +00:00
3b62fe78d7 for linux notice 2022-05-21 05:07:13 +00:00
4196fa2488 Updated to VTM 16.0 of DLL 2022-05-21 03:44:29 +00:00
44c13e8c71 Updated to VTM 16.0 of DLL 2022-05-21 02:41:28 +00:00
e46f477bb9 added prefix of usr/local 2022-05-20 19:17:53 +10:00
351d557477 vvDecWebPlayer (latest build of 19th May 2022) 2022-05-19 06:10:25 +00:00
970ee2c981 added limitations from old readme 2022-05-19 00:01:28 +10:00
6771c8ae93 added warning of framerates in readme 2022-05-18 23:58:54 +10:00
d5ef45dc87 added ffmpeg vvdec instructions 2022-05-18 20:37:27 +10:00
1559726c03 improved added 2022-05-18 19:55:40 +10:00
8b1e08574c improved updated 2022-05-18 19:53:47 +10:00
8e8dabf7b9 sha512sum is too long... 2022-05-15 21:08:58 +10:00
c13decd7af added sha256 2022-05-15 21:08:14 +10:00
c8e5257bbd updated to vvenc & vvdec since 15th may 2022 2022-05-15 21:07:57 +10:00
560d86bf04 sha512sums is too long 2022-05-15 21:07:18 +10:00
6b97019441 added list of ffmpeg vvdec support 2022-05-15 21:03:39 +10:00
af35ce44ce added FFMPEG vvc decoder support 2022-05-15 20:53:17 +10:00
04a3747e8f made quick link for kharkov forum 2022-05-15 17:16:16 +10:00
a5c064df75 Special thanks references added 2022-05-15 17:14:05 +10:00
42783bb9dd OpenVVC support on FFmpeg 2022-05-15 14:27:06 +10:00
36c2a34cd4 remove suspend
reason it can stop terminal
2022-05-15 14:21:11 +10:00
6d20aeadd3 libvvdec on FFmpeg support 2022-05-15 14:16:53 +10:00
907a57e095 Add one space more in the end of the line 2022-05-13 10:33:35 +00:00
edcd7d0821 added discord 2022-05-13 10:18:36 +00:00
a447573ad0 added discord 2022-05-13 10:05:52 +00:00
1cadbbcaf4 added o266player.md 2022-05-13 09:50:58 +00:00
949c1026c2 replaced o266player by vlc vtm interdigital 2022-05-13 09:47:54 +00:00
d9c8d18c6b remove o266player, no new commits than one year 2022-05-13 09:36:43 +00:00
40b7d198e6 fixed readme 2022-05-09 14:19:56 +00:00
ce79ae26d6 reduced little bit of readme 2022-05-09 14:01:28 +00:00
4322090b0b fixed codacy problem to get quality good 2022-05-09 12:19:06 +00:00
f3d945fd13 fix codacy problem 2022-05-09 22:12:33 +10:00
4b2204bf77 added a codacy badge 2022-05-09 11:03:08 +00:00
fcad744a70 improved editing of readme 2022-05-06 11:22:40 +00:00
31a708f03d added note for vlc plugin installers 2022-05-01 22:21:01 +10:00
985d8109e8 added little bit words + added Revolt 2022-04-28 19:55:32 +10:00
6649af1a9d Merge pull request #4 from neoOpus/patch-1
Add check UAC script
2022-04-28 09:39:28 +00:00
3a2bd88916 Update VVCEasy.bat
check and get the UAC for administrator privilege
2022-04-24 00:06:56 -04:00
db9995454a fixed and improved windows build vvc tools 2022-04-22 20:44:48 +10:00
17464f612c renamed folder 2022-04-22 15:52:56 +10:00
57e0593f2f improved to change things 2022-04-22 15:50:45 +10:00
123bba687d added installation instructions of vlc plugin 2022-04-22 15:38:32 +10:00
7d6cd5b918 improved readme a little bit 2022-04-20 19:48:07 +10:00
93de8d3bf9 update of important for vlc vtm plugin users 2022-04-19 00:25:55 +10:00
ee7b5301ad added linux build shell for vvc tools 2022-04-11 13:18:46 +00:00
686cbe2eee Added Mac OS build shell 2022-04-06 17:39:55 +10:00
ca0382c870 Added little bit codes 2022-04-06 17:26:49 +10:00
3674d21327 Added vvdec build instructions 2022-04-02 12:29:10 +11:00
72d9bca3f6 Beta code of BuildforWinVVC 2022-04-01 22:26:35 +11:00
3b062932df fixed copy bug of VLC VTM Plugins 2022-03-27 15:06:25 +11:00
ab7eb05ef3 update of VLC README 2022-03-27 15:00:33 +11:00
71c9334cd2 updated small codes of wget 2022-03-27 13:40:38 +11:00
f30ed9de9c updated of README 2022-03-27 13:27:50 +11:00
5afee29fe6 Changed before upgrade 2022-03-27 00:26:18 +11:00
7fda1de5a4 Solution copying from source into GitHub 2022-03-26 13:22:35 +00:00
65dbef55f4 Fixed csproj 2022-03-26 13:19:55 +00:00
907001821e Added webclient
Note: Dropbox or any cloud secure storage cannot work.

* = your domain web name
Only http downloads example without cloud storage, like old http: *.com/ftp/vlc.7z
2022-03-27 00:15:01 +11:00
7d6165a09f updated codes little bit 2022-03-26 19:55:43 +11:00
cfd59c6324 updated big codes and add small codes 2022-03-26 19:40:40 +11:00
bf71f7c122 Fixed bug of VVDECWEBINSTALL 2022-03-25 23:37:49 +11:00
92e9a111b3 Added macOS png of BitVVDecPlayer
Tested by Martin Eesmaa
2022-03-25 04:18:54 +00:00
9553a2ae65 Added AUTHORS 2022-03-23 19:04:33 +11:00
f25795fa86 Updated important of README 2022-03-23 18:53:40 +11:00
5145f0fc26 Update of README 2022-03-23 12:22:44 +11:00
c3d72e127c Added big codes
VTM of VLC Plugin can also work latest version of VLC. Updated README. vvenc and vvdec are updated latest to v1.4.0. wget is latest update.
2022-03-21 21:24:26 +11:00
63cb51c6a8 Added VLC VTM Decoder Plugin
Original repository from https://github.com/InterDigitalInc/VTMDecoder_VLCPlugin

Compiled by Martin Eesmaa
2022-03-21 12:13:44 +11:00
44316ec827 Renamed from Server 2008 to Server 2012 2022-03-20 18:34:22 +11:00
628299b837 Added system requirements in Bitmovin VVDec Player 2022-03-20 16:48:46 +11:00
4f8feda014 Added list packages before VVCEasy start 2022-03-19 23:29:12 +11:00
291ef25881 Added apt update missing build-essential 2022-03-19 23:27:24 +11:00
d96a88b62d Added additional information for Linux bitmovin 2022-03-19 11:36:14 +00:00
df86ec8703 Added Bitmovin list 2022-03-19 21:56:43 +11:00
aa92c854d0 added short commands 2022-03-19 21:45:41 +11:00
d7b5a4d757 Replaced Github log link by Pastebin log file 2022-03-19 17:26:00 +11:00
8e724a1a10 Added lot instructions, more coming soon... 2022-03-19 16:49:16 +11:00
8c990c82df Added name of title 2022-03-18 19:01:25 +11:00
9b17b2109d Created code of conduct 2022-03-18 19:00:22 +11:00
4abbc54f41 Renamed to shell (.sh) file 2022-03-17 23:35:19 +11:00
ad108a0dd1 Added Mac OS Shell before start VVC 2022-03-17 23:34:54 +11:00
b4247ff6f8 Added linux screenshot 2022-03-14 19:58:07 +11:00
1a709ca8ef Bitmovin VVDec Player test compatability added 2022-03-13 20:57:29 +11:00
7af53b6eed Added Bitmovin VVDec Player of one-easy command 2022-03-13 13:35:40 +11:00
7226aa7c8c Updated of some codes for download VVC samples 2022-03-13 13:23:42 +11:00
6ab2574379 Fixed small bug of goto 2022-03-13 13:13:39 +11:00
c929268580 Added VVC video samples from Bitmovin 2022-03-13 12:49:18 +11:00
a8411a7401 Added update option of Linux before start 2022-03-12 14:29:06 +11:00
e28e84fefd Added update option of VVDec Web Player 2022-03-12 14:03:32 +11:00
4ae407986a Some words added little bit for extra information 2022-03-12 13:55:12 +11:00
3b5cebea9c Fixed first list of README 2022-03-11 10:12:30 +00:00
aa2ceecdb6 Added Credits & Licenses, added all lists 2022-03-11 10:11:48 +00:00
750c9c6698 Double answer removed for not working, bug fixed. 2022-03-11 09:25:05 +00:00
35ccda9b1f Added release of BitVVDecPlayer for three major os
Original repository: https://github.com/bitmovin/vvDecPlayer
Compiled by Martin Eesmaa.
2022-03-11 09:21:04 +00:00
8b95ddf7d6 Added another line, so they can join Matrix chat 2022-03-10 21:33:47 +11:00
eb30ed6f48 VVCEasy Matrix Chat is available on README. 2022-03-10 21:32:29 +11:00
8d7e647e02 Added little bit words 2022-03-10 21:20:08 +11:00
ff3c52948d Made one small variable of WriteLine main menu 2022-03-06 21:39:04 +11:00
54afd8b2e6 Fixed bug of copying in VVDec Web Player. 2022-03-06 21:31:56 +11:00
a1df759e30 Added vvDecPlayer installation in C#, not ready...
Original repository goes to https://github.com/bitmovin/vvDecPlayer
Compiled by Martin Eesmaa of three major operating systems.
Not ready yet to download and decompress...
2022-03-06 16:34:09 +11:00
91751100ea Added vvDecPlayer install of Windows
Credit original repository and compiled of https://github.com/bitmovin/vvDecPlayer
2022-03-06 16:23:36 +11:00
3d0ce59341 Improved explanation of BAT (cryptocurrency) 2022-03-03 18:15:47 +11:00
f75ab34221 Added little words of README, little update 2022-03-03 15:50:52 +11:00
e266c88e7d added install path environment on c# 2022-03-02 21:26:16 +11:00
f2f8b4ea80 Forgot to add set answer on installpath 2022-03-02 21:18:23 +11:00
0807ac0528 Added install path environment, only 7-Zip 2022-03-02 21:08:30 +11:00
7a10274f64 Updated to VVDEC 1.4.0 2022-03-01 06:09:50 +00:00
58db0d5833 Updated to VVDEC 1.4.0 2022-03-01 06:09:24 +00:00
fb8871958e Updated to VVDEC 1.4.0 2022-03-01 06:08:55 +00:00
113add1d68 Added little words of batchfile 2022-03-01 16:09:49 +11:00
b14b025078 Remove duplicate file 2022-03-01 15:57:04 +11:00
0ae25fe6ba Add files via upload 2022-02-26 10:40:31 +00:00
365827ace0 Added VVCEasy.266 2022-02-26 10:36:09 +00:00
1990cc4f9b Changed from self-hosted to windows-latest 2022-02-26 21:35:35 +11:00
e271f2adb7 Added little words 2022-02-26 20:32:15 +11:00
32f20288fc Merge pull request #3 from MartinEesmaa/beta-(v.0.5.0)
VVCEasy Batchfile/C# (Version v.0.5.0, beta)
2022-02-25 04:54:58 +00:00
2f170934e3 Added little words of README 2022-02-24 16:48:26 +11:00
65 changed files with 2425 additions and 715 deletions

38
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -2,9 +2,11 @@ name: .NET
on:
push:
branches: [ master ]
paths:
- 'Program.cs'
pull_request:
branches: [ master ]
paths:
- 'Program.cs'
jobs:
build:
@ -19,7 +21,7 @@ jobs:
dotnet-version: 6.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build VVCEasy
- name: Build VVCEasy (.NET Console Version)
run: dotnet build --no-restore
- name: Test VVCEasy
- name: Test VVCEasy (.NET Console Version)
run: dotnet test --no-build --verbosity normal

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,32 @@
HISTORY of the 7-Zip
--------------------
22.01 2022-07-15
-------------------------
- UDF support was improved to UDF version 2.60.
- HFS and APFS support was improved.
22.00 2022-06-15
-------------------------
- 7-Zip now can extract APFS (Apple File System) images that can be used in DMG files.
- 7-Zip now can create TAR archives in POSIX (pax) tar format with the switches
-ttar -mm=pax or -ttar -mm=posix
- 7-Zip now can store additional file timestamps with high precision (1 ns in Linux)
in tar/pax archives with the following switches:
-ttar -mm=pax -mtp=3 -mtc -mta
- New switches for Linux version for TAR archives:
-snoi : store owner/group ids in archive or set owner/group ids from archive to extracted files.
-snon : store owner/group names in archive
- New -snz switch to propagate Zone.Identifier stream to extracted files (Windows).
- New option "Propagate Zone.Id stream" in Tools/Options/7-Zip menu.
- New "Options" window in "Add to archive" allows to select what metadata must be
included to archive. Also it allows to select new option
"Do not change source files last access time".
- Some bugs were fixed.
21.07 2021-12-26
-------------------------
- 7-Zip now can extract VHDX disk images (Microsoft Hyper-V Virtual Hard Disk v2 format).

View File

@ -3,7 +3,7 @@
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7-Zip Copyright (C) 1999-2021 Igor Pavlov.
7-Zip Copyright (C) 1999-2022 Igor Pavlov.
The licenses for files are:

View File

@ -1,16 +1,16 @@
7-Zip 21.07
7-Zip 22.01
-----------
7-Zip is a file archiver for Windows.
7-Zip Copyright (C) 1999-2021 Igor Pavlov.
7-Zip Copyright (C) 1999-2022 Igor Pavlov.
The main features of 7-Zip:
- High compression ratio in the new 7z format
- Supported formats:
- Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM.
- Unpacking only: AR, ARJ, Base64, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS,
- Unpacking only: APFS, AR, ARJ, Base64, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS,
IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR,
RPM, SquashFS, UDF, UEFI, VDI, VHD, VHDX, VMDK, XAR and Z.
- Fast compression and decompression

3
AUTHORS.md Normal file
View File

@ -0,0 +1,3 @@
# Authors
* Martin Eesmaa, @MartinEesmaa, Embassy of Estonia in Australia

Binary file not shown.

View File

@ -0,0 +1,5 @@
9a7d1f454a2c934c80161fc11baa24977c8fb1e4cedd16177d9b12be08e4f353 AndroidUVG266-8bit.7z
26ed38e0e6e41f30f5e7f896864098854580b118ec10b2006f0f16232ed4cd4f arm64/uvg266
1d0b76e1deb70a984eff332d7d897f4945c4eb6d75737192bbd13b0c1e43294f armeabi/uvg266
5bbb3acb88129ab0d89d5f9c9b7377b9203c898d45ce4ae0de9fefc776967d09 x86/uvg266
462462d2924de5c174d272a743624c04cb64c5526040da3bb9331d32ffa4dacd x86_64/uvg266

BIN
Android/AndroidUVG266.7z Normal file

Binary file not shown.

View File

@ -0,0 +1,5 @@
3372c510c6312be64f61340fa65f833870d4d95f5130cb3706d1a51c0f73ed06 AndroidUVG266.7z
f034dd53153ae447611a71d83fba52f8bfc42a395c3f17de7d9359b277c18d4b arm64/uvg266
048b1cc9a263efa58382488be95f18b89e3dd69b00bb246d9f64853ea69c5c06 armeabi/uvg266
b02ab7d45d2afb8e951ba5c59f1a93b70605eb0bda9b5e678956b849e01115be x86/uvg266
dbf936a8b6ab080c8cf8ef359deb8e76042900fa0fc5b70d18ff9b3947873aa9 x86_64/uvg266

BIN
Android/AndroidVVC.7z Normal file

Binary file not shown.

21
Android/AndroidVVC.sha256 Normal file
View File

@ -0,0 +1,21 @@
06433d77798118f6be007dc88180c13ff91346fe5e6432973c3e93447201f592 AndroidVVC.7z
4e204e2fa609335eb910edb6b7fac3468a7c5e8e4c9f8231e1212f27f164341f arm64/vvdecapp
92f8a09b498ae753e2a33dbe48d373800f9a84c60f04f8636857e68f1748e938 arm64/vvencapp
297b8bbefc09374b6bef6b55a934be13ef589356a7210d03ac871eb41ab1f09c arm64/vvencFFapp
8cbfd9bd51e37ac8108f3e17da9ee59142edf7a304cfabbf28e5e62027ccb02f arm64/vvencinterfacetest
ddfc174a263d3459ad1dec2106215ba112a75888e0e8174b32948a9bfc712a73 arm64/vvenclibtest
0d309211ac966cb69ca91fd9c18372d3b68097c5a01b413aca343fa0a9fc120d armeabi/vvdecapp
3215b6eae21b7c2a2fb213dd7661cc1faf79f908bac5b3e026a71fca2e4bb5f2 armeabi/vvencapp
9e946a6a34ec6f5aed2726952967580a7dde30f11144ae41e67fd502f3421aa1 armeabi/vvencFFapp
2d478e43e8b469b95a756fc3c7542c58552832d5ad40254629a8ee6fff0fc23b armeabi/vvencinterfacetest
ad319f631fafc4f179e7e96b5fe748e878d93df0fdba693b71a19d50dd3e4e53 armeabi/vvenclibtest
4fc4745050fd960d02ec011f4081a7eef66b86fadbffbfde8dfa86a217607287 x86/vvdecapp
5394e646b7342f7d70583cd4637590ec226c6ba0c8d5792b2dd0cadee68a4d60 x86/vvencapp
0c8add8291339cfab61be9df7419e117623c61c6ddf22c9b4ba706b1c0f2a04b x86/vvencFFapp
3a2abe2ef5e8355c935e29026a232ce9fd164eff0c2cf6c9e6757143a559af62 x86/vvencinterfacetest
f82252ec16f200ae85864be79db7bb01cc5109d3fd9e55f30c07816f04c77c21 x86/vvenclibtest
392b901221b24185a22e0610a75ee8122ae62eff8b96ef834157ab79fd4b38d5 x86_64/vvdecapp
6432a59f904f5740ee44420aa2e06e439aa7f3c85c9c8d11ba2f76a4814d5983 x86_64/vvencapp
23d9fb9e2ecc65bb06a73203e5db13bd31a1eda03d587e1a0cf0a10405829d54 x86_64/vvencFFapp
cef66cc20cfb3485d3585b05d5ba63e6c33839e4687cc6173aa1cb6aa0650a21 x86_64/vvencinterfacetest
75b4ca7932dbd2f375c562ba5891e808253dbe3bb4eebebd58146cf03523a66f x86_64/vvenclibtest

59
Android/README.md Normal file
View File

@ -0,0 +1,59 @@
# Android vvdec/uvg266 applications (Termux app)
Requirements: Termux app with apk or F-Droid app. For uvg266/vvdecapp pipe, require FFmpeg on Termux app.
See the screenshot of vvdecapp in Termux app:
![termuxvvdecappinandroid](https://user-images.githubusercontent.com/88035011/176990694-52279bf1-86fd-419e-a2b7-1b6d1038ac18.jpg)
All system types of arm64, armeabi, x86 and x86_64 is built on vvdecapp & uvg266, it is use of Termux app.
arm64 - API 21 (64-bit phones only)
armeabi - API 19 (32-bit phones)
x86 - API 21 (32-bit tablets only)
x86_64 - API 21 (64-bit tablets only)
TIP: You can install my built applications:
```
chmod +x vvdecapp uvg266 vvencapp
cp vvencapp vvdecapp uvg266 $PREFIX/bin
```
### vvencapp encoder (Fraunhofer HHI)
Screenshot (tested my phone):
![vvencapptermux](vvencapptermux.png)
Please note, that supports 64-bit programs only.
### uvg266 encoder (Scalable video encoder)
Screenshot:
![termuxuvg266inandroid](https://user-images.githubusercontent.com/88035011/190282518-13c6dfd1-41a4-4a9b-aefe-de9e43c26759.jpg)
Before you download, there were two separated programs:
AndroidUVG266.7z - 10-bit input/encoder only.
AndroidUVG266-8bit.7z - 8-bit input/encoder only.
If you want pipe from FFmpeg to uvg266, you can do command:
```
ffmpeg -i example.mp4 -f yuv4mpegpipe -pix_fmt yuv420p10 -strict -1 - | uvg266 -i - --input-file-format y4m --input-bitdepth 10 -o converted.266
```
For 8-bit uvg266 application, remove `-strict -1`, change from `yuv420p10` to `yuv420p` and remove `--input-bitdepth-10`.
When you want make device sleep during uvg266 encoding, tap Acquire wake lock on Termux notification.
If uvg266 froze itself for a couple minutes without printing info, means finished, tap CTRL + C.
VVDEC might not decode with some uvg266 options (example uvg266 presets unplayable with vvdec: preset placebo & lossless.
- Martin Eesmaa

BIN
Android/vvencapptermux.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

130
Bitmovin.md Normal file
View File

@ -0,0 +1,130 @@
![bitmovinlogo1](https://user-images.githubusercontent.com/88035011/159108926-ee3ef996-4fe4-4c33-87d6-4a016486d27e.png)
# Bitmovin VVDec Player (instructions of encode segments)
If you want to put your VVC file into Bitmovin VvDec Player, we need add `--segment`, `-f` as frames and `-fs` as frame skip into vvencapp.
Otherwise, if you put VVC file (which is all together of one file) without segments, your application might freeze your computer and application too.
To make probably decoded well for segments, here is an example of this:
Example of code (1 second/24 frames). After first segment (1 sec), it will go up 1 second (total frames 48):
```
vvencapp --qp 34 -i out.yuv -s 854x480 -r 24 --preset slow --threads 16 --tier high --segment mid -f 24 -fs 24 -o EXTREME-1.266
```
First segment (first) will be beginning from video, 0 sec -> 1 sec. (segment-0.vvc)
Middle segment (mid) will be during from video, 1 sec -> 2 sec. (segment-1.vvc)
Last segment (last) will be ending from video, 2 sec -> 3 sec. (segment-2.vvc)
Total is three seconds and three segments. Example of my segments, including log:
[Log file](https://pastebin.com/qrCyfDEU)
[VVC Segments](https://github.com/MartinEesmaa/VVCEasy/files/8308682/BBBVVCTHREESEC.zip)
JSON:
```
{
"Name": "Big Buck Bunny Test Video Three Sec",
"NrSegments": 2,
"PlotMaxBitrate": 400000,
"Renditions": [
{
"Name": "720p",
"Resolution": "1280x720",
"Fps": 24,
"Url": "C:/Users/User/Downloads/BBBVVCTHREESEC/segment-%i.vvc"
}
]
}
```
# Bitmovin VVDec Player Downloads (including build instructions):
[Windows Pre-Builded](https://www.dropbox.com/s/75ouoeadcr2cl53/BitVVDecPlayerWIN.7z)
[Mac OS Pre-Builded](https://www.dropbox.com/s/ilsoica7c8dh4hq/BitVVDecPlayerMAC.7z)
[Linux Pre-Builded](https://www.dropbox.com/s/bihm3pyh21lcvte/BitVVDecPlayerLINUX.7z)
Want to build VVDec (.dll (Windows)/.dylib (Mac OS)/.so (Linux)) yourself?
Here is a code:
```
git clone https://github.com/fraunhoferhhi/vvdec.git
cd vvdec
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=1 ..
cmake --build . --config Release
```
The build files might be vvdec/bin/release-shared
Windows: vvdec.dll
Mac OS: libvvdec.dylib
Linux: libvvdecLib.so
***Note to Linux: If the file (.so) can't load into your Bitmovin VVDec Player. You have to rename libvvdec.so into libvvdecLib.so***
# System requirements
### Windows
Operating System: Windows 7 / Windows Server 2012 and earlier versions
System type: x64
Requirements to run program: Microsoft Visual C++ Redistributable 2015-2017-2019-2022 and vvdec.dll
Internet required to download segments for Bitmovin streams
Offline availability for segments
---
### Mac OS
Operating System: macOS 10.15 and earlier versions.
System type: x64
Requirements to run program: Qt framework (version 5) and libvvdec.dylib
Internet required to download segments for Bitmovin streams.
Offline availability for segments
---
### Linux
Operating System: Linux (Ubuntu 18.04 and earlier versions)
System type: x64
Requirements to run program: Qt framework (version 5), glib (build-essential) and libvvdecLib.so
Internet required to download segments for Bitmovin streams.
Offline availability for segments
# Bitmovin VVDec Player (Test compatibility)
### Windows 7+:
![okd933](https://user-images.githubusercontent.com/88035011/158054088-5d28de91-c2f8-40e4-b1e0-e0a0788fab93.gif)
-------------------------
### macOS 10.15+:
![Macosbitvvdecplayer](https://user-images.githubusercontent.com/88035011/160053200-9f986127-46a5-48ca-b2b3-ba3540afa953.png)
-------------------------
### Linux:
![LinuxBITVVCTest](https://user-images.githubusercontent.com/88035011/158130385-0f475e1f-9630-4623-acc4-6b0c842b6a35.gif)
-------------------------
Tests will be coming sooner.
- Martin Eesmaa

128
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct (Martin Eesmaa)
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
Martin Eesmaa.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

5
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,5 @@
Contributors are welcome to make pull request of Martin Eesmaa's VVCEasy repository.
If you would like to make pull request, be sure to read my Code Of Conduct (COC).
- Martin Eesmaa

142
FFMPEGMINGW.sh Normal file
View File

@ -0,0 +1,142 @@
echo Updating and upgrading MSYS2 packages... if system core update requires reboot this application, please run this script again after being updated.
pacman -Syu
echo Installing MSYS2 packages...
pacman -S python git nasm vim $MINGW_PACKAGE_PREFIX-{toolchain,cmake,autotools,meson,ninja}
echo Starting process of FFmpeg build with libvvenc and libvvdec...
if [ ! -d buildffmpegwin ]; then
mkdir buildffmpegwin && cd buildffmpegwin
else
cd buildffmpegwin
fi
if [ ! -d FFmpeg-FixVVC ]; then
git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-VVC
else
git -C FFmpeg-VVC pull
fi
if [ ! -d vvenc ]; then
git clone --depth=1 https://github.com/fraunhoferhhi/vvenc
else
git -C vvenc pull
fi
if [ ! -d vvdec ]; then
git clone --depth=1 https://github.com/fraunhoferhhi/vvdec
else
git -C vvdec pull
fi
if [ ! -d fdk-aac ]; then
git clone --depth=1 https://github.com/mstorsjo/fdk-aac
else
git -C fdk-aac pull
fi
if [ ! -d SDL ]; then
git clone --depth=1 https://github.com/libsdl-org/SDL
else
git -C SDL pull
fi
if [ ! -d libxml2 ]; then
git clone --depth=1 https://github.com/gnome/libxml2
else
git -C libxml2 pull
fi
if [ ! -d opus ]; then
git clone --depth=1 https://github.com/xiph/opus
else
git -C opus pull
fi
if [ ! -d libjxl ]; then
git clone --depth=1 https://github.com/libjxl/libjxl
sed -i 's/-lm/-lm -lstdc++/g' libjxl/lib/jxl/libjxl.pc.in libjxl/lib/threads/libjxl_threads.pc.in
git -C libjxl submodule update --init --recursive --depth 1 --recommend-shallow
else
git -C libjxl pull
git -C libjxl submodule update --init --recursive --depth 1 --recommend-shallow
fi
if [ ! -d dav1d ]; then
git clone --depth=1 https://code.videolan.org/videolan/dav1d
else
git -C dav1d pull
fi
if [ ! -d codec2 ]; then
git clone --depth=1 https://github.com/drowe67/codec2
else
git -C codec2 pull
fi
if [ ! -d vmaf ]; then
git clone --depth=1 https://github.com/netflix/vmaf
else
git -C vmaf pull
fi
echo Starting to build fdk-aac:
cd fdk-aac
autoreconf -if && ./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc
cd ..
echo Starting to build libxml2:
cd libxml2
autoreconf -if && ./configure --enable-static --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc
cd ..
echo Starting to build sdl2:
cd SDL
mkdir build && cd build && cmake -DCMAKE_EXE_LINKER_FLAGS="-static" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX .. -G "MinGW Makefiles" && cmake --build . --target install -j $nproc
cd ../../
echo Starting to build libopus to improve decode quality on FFmpeg:
cd opus
autoreconf -if && CFLAGS="-O2 -D_FORTIFY_SOURCE=0" LDFLAGS="-flto -s" ./configure --enable-static --disable-shared --disable-tests --disable-extras --prefix=$MSYSTEM_PREFIX && make install -j $nproc
cd ..
echo Starting to build libjxl:
mkdir libjxl/build && cd libjxl/build && cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_ENABLE_PLUGINS=ON -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_GTEST=ON -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX .. && ninja install
cd ../../
echo Starting to build dav1d:
mkdir dav1d/build && cd dav1d/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=$MSYSTEM_PREFIX .. && ninja install
cd ../../
echo Starting to build codec2:
cd codec2
sed -i 's|if(WIN32)|if(FALSE)|g' CMakeLists.txt
grep -ERl "\b(lsp|lpc)_to_(lpc|lsp)" --include="*.[ch]" | \
xargs -r sed -ri "s;((lsp|lpc)_to_(lpc|lsp));c2_\1;g"
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -D{UNITTEST,INSTALL_EXAMPLES}=off -DBUILD_SHARED_LIBS=OFF -DCMAKE_EXE_LINKER_FLAGS="-static" .. -G "MinGW Makefiles"
cmake --build . -j $nproc --target install
cd ../../
echo Starting to build vmaf to apply calculate VVC video references from original video:
mkdir vmaf/libvmaf/build && cd vmaf/libvmaf/build && CFLAGS="-msse2 -mfpmath=sse -mstackrealign" meson -Denable_docs=false -Ddefault_library=static -Denable_float=true -Dbuilt_in_models=true -Dprefix=$MSYSTEM_PREFIX .. && ninja install
cd ../../../
sed -i 's/-lm/-lm -lstdc++/g' $MSYSTEM_PREFIX/lib/pkgconfig/libvmaf.pc
echo Starting to build vvenc...
cd vvenc
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DVVENC_ENABLE_LINK_TIME_OPT=OFF .. -G "MinGW Makefiles"
cmake --build . --target install -j $nproc
cd ../../
echo Starting to build vvdec...
cd vvdec
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DVVDEC_ENABLE_LINK_TIME_OPT=OFF .. -G "MinGW Makefiles"
cmake --build . --target install -j $nproc
cd ../../
echo Starting configuring and making FFmpeg VVCEasy build...
cd FFmpeg-VVC
./configure --enable-libfdk-aac --enable-static --enable-libvvenc --enable-libvvdec --enable-pic \
--enable-zlib --enable-libxml2 --enable-libdav1d --enable-libopus --enable-libcodec2 --enable-libjxl --enable-libvmaf --extra-ldexeflags=-static \
--pkg-config-flags=-static --disable-w32threads --enable-sdl2 && \
make -j
echo FFmpeg VVC version tools are now compiled, please see buildffmpegwin/FFmpeg folder.

204
FFMPEGVVC.md Normal file
View File

@ -0,0 +1,204 @@
# FFmpeg VVC En/decoder & xHE-AAC installation (Windows, Mac OS and Linux)
Windows, Mac and Linux (Preview of VVC video in FFplay):
![ffmpegplaypreview](https://user-images.githubusercontent.com/88035011/169019033-bcb7fcc7-a196-4436-a396-61db3071280c.png)
![macos_vvceasy_ff](https://user-images.githubusercontent.com/88035011/169693891-52271091-eb92-4198-82eb-2ad38296a917.png)
![linux_vvceasy_ff](https://user-images.githubusercontent.com/88035011/169693886-3f8e97da-ad57-46ab-b3eb-45e5ff4e687d.png)
# Play video file
You can play VVC video codec with .h266, .vvc, .266 and anything or .mp4 mixed with VVC codec:
```
ffplay_vvceasy versatile.266
```
Or if you have xHE-AAC audio codec:
```
ffplay_vvceasy -codec:a libfdk_aac -i versatile.m4a
```
# Limitations of FFmpeg VVC encoder
Before encode to VVC video codec, see the limitations below.
libvvenc (FFmpeg vvc version) works for:
- Pixel format ⚠️ (only pixel format 10 bit)
- Video size (auto detects, but it doesn't detect for SAR and DAR anamorphic is glitch and corrupts the video) ⚠️ (Better way to use vvencapp without FFmpeg)
- Frame rate ✅ (auto detects)
- MP4/TS Mux ✅
- Matroska mux ⚠️ (Only matroska mux has an experimental, causing problem of the video sync delay with audio and others for FFmpeg libvvdec. It is unofficial support)
- Audio with encode VVC ✅
- Bitrates ✅
- Passes ⚠️ (you may need get passes using vvenc params on FFmpeg VVCEasy or use vvencapp)
- Presets ✅
- QP ✅
- HDR ✅
Built in libvvenc for FFmpeg command:
```
ffmpeg -i example.mp4 -c:v libvvenc -qp 37 -preset slow example.266
```
For more options for libvvenc in FFmpeg VVCEasy version, type `ffmpeg_vvceasy -h encoder=libvvenc` for available commands.
Additional command: You can convert to VVC video without taking a much space for vvencapp, example:
```
ffmpeg -i example.mp4 -pix_fmt yuv420p -f yuv4mpegpipe - | vvencapp --y4m -i - --preset medium --qp 35 -o converted.266
```
Converting xHE-AAC to AAC audio:
```
ffmpeg -c:a libfdk_aac -i mymusic.m4a -c:a aac -b:a 128k mymusic.aac
```
Replace video size for `-s` and frame rate for `-r`.
### Update 21th May 2022 of FFmpeg vvdec support
Good news, you can play .mp4 file after .h266 and audio format were merged into mp4 playable of VVC.
About [xHE-AAC](https://www.iis.fraunhofer.de/en/ff/amm/broadcast-streaming/xheaac.html), now it's available decode support xHE-AAC of FFmpeg. [Exhale](https://gitlab.com/ecodis/exhale) (encoder) is free to use and open source, but if you want Fraunhofer IIS xHE-AAC, you can download [EZ CD Audio Converter](https://www.poikosoft.com/music-converter) for Windows only. You can also merge your encoded xHE-AAC audio into mp4 too.
To make playable mp4 with audio and video together, you need VVC video encoded, audio file and [GPAC Nightly build](https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/). Code for mp4box/gpac to merge VVC video encoded and audio file:
```
mp4box -add video.266 -add audio.m4a -new convertedvvc.mp4
```
Containers are also acceptable video containers of .mkv, .mp4, .mov and more.
For Linux and Mac OS users: Replace **mp4box** by **gpac**
# FFmpeg Downloads (xHE-AAC & VVC en/decoder plugin compiled by Martin Eesmaa)
[Windows](https://mega.nz/file/Ws9V0IAB#e7ukWvMy1YqOXyQCSfO4r6Dzfrcv1qaDYk1sHrmtOOY)
[Mac OS](https://mega.nz/file/3xtTAIiQ#MPsPcz-QlSquqahmEx8ANpqleiVm2Y3L1o3R6vy7qY8)
[Linux](https://mega.nz/file/X4k00QDJ#8nvnklEhOsxNl4Vw0ALoZRnViRfFlGh2QqqxDE7dtpA) (Only FFplay static won't work)
[FFmpeg-FixVVC archived old source code](https://mega.nz/file/G81QyT5S#jcbE1sYPEy1OMIDPCF8BPeAK-3KAGF50u23MVJzmBgw) (old)
### Note about downloads
I use always Windows to compile FFmpeg, so I forgot to compile every time for Mac OS and Linux. Also, please check changelog before you download the new version.
### Changelog
```
22/06/2023: Updated Linux FFmpeg by FFmpeg commits and other libraries. (still does not work for FFplay static only, others working fine)
21/06/2023: Updated vvenc and FFmpeg commits.
17/06/2023: Updated of vvenc, vvdec, dav1d, FFmpeg commits and others.
01/05/2023: Added missing libvmaf feature in FFmpeg VVCEasy only.
19/04/2023: Updated of vvenc, vvdec, FFmpeg commits and others.
03/04/2023: New FFmpeg master latest VVCEasy builds with updated vvenc, vvdec and added libvmaf & libjxl. Removed AC4 for compilation/decoder errors for new AC4 audio files.
03/02/2023: Updated vvenc library on Windows FFmpeg VVCEasy build.
02/02/2023: Updated vvenc library and others on Windows FFmpeg VVCEasy build.
29/01/2023: Updated vvenc, vvdec and other libraries on Windows FFmpeg VVCEasy build.
10/01/2023: Updated vvenc latest and others.
05/01/2023: Update Linux FFmpeg static builds (still does not work for FFplay static only, others working fine)
30/12/2022: Improved vvenc codes of FFmpeg VVCEasy, thanks Thomas Siedel from Spin Digital! TIP: Type "ffmpeg_vvceasy -h encoder=libvvenc" for FFmpeg vvenc available. See the new vvenc patch: https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=7922
23/12/2022: Update all libraries, fix MP4-ALS mono audio & added libcodec2 to FFmpeg.
07/12/2022: Update vvenc, vvdec and others. Fixed Windows N version. (#22)
20/10/2022: Add Linux static binaries of FFmpeg, but only FFplay does not work only.
11/10/2022: Removed libvorbis + updated SDL2 latest.
10/10/2022: Revert from flt to s16 for two decoders of libvorbis & libspeex.
10/10/2022: Removed libvmaf (reason: not working), added libvorbis + libspeex improve decode quality.
30/09/2022: Improved vmaf (float, built models to FFmpeg) & updated sdl2. Update: Fixed libvmaf models
24/09/2022: Improved libvmaf up to date of FFmpeg code + update dav1d & vvenc.
07/09/2022: Added Dolby AC4 decoder + updated vvenc/vvdec.
01/09/2022: Added libopus with latest version for improve decode quality, libdav1d and libvmaf (optional if they want calculate score by vvc video and original video).
29/08/2022: Brought back vvenc.
```
# Mac OS downloaders (Important note)
Please note, this is not a malware of my compiled build, see the three screenshots to make run FFmpeg tools customized version
You need to allow the app on your Mac OS for chmod write access & Security & Privacy:
Step 1: Click cancel button, do not move to bin.
![Kuvatõmmis 2022-06-18 103427](https://user-images.githubusercontent.com/88035011/174431074-10a867d3-787a-47aa-9910-53fcef89e30e.png)
Step 2: Go to Security & Privacy on Mac OS Settings app, then check App Store & identified developers or anywhere is on. Click "Allow anyway" to unblock an application.
![Kuvatõmmis 2022-06-18 103518](https://user-images.githubusercontent.com/88035011/174431083-1d1d9b2b-5b45-425e-86d1-015e44588b4e.png)
Step 3: Click "Open" button, this does not hurt your computer.
![Kuvatõmmis 2022-06-18 103557](https://user-images.githubusercontent.com/88035011/174431086-9eb0df35-2fde-4ca7-99d4-2efa45a0a946.png)
### Build Mac OS for FFmpeg VVC build
Requirements:
Xcode
CMake
NASM
Homebrew
Code to build FFmpeg VVC version:
```
brew install libxml2 ffmpeg fdk-aac nasm
git clone https://github.com/fraunhoferhhi/vvenc
git clone https://github.com/fraunhoferhhi/vvdec
cd vvenc && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo cmake --build . --target install -j $nproc
cd ../../
cd vvdec && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo cmake --build . --target install -j $nproc
cd ../../
git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-FixVVC
cd FFmpeg-FixVVC
./configure --enable-libfdk-aac --enable-libvvenc --enable-libvvdec --enable-static --enable-pic --enable-libxml2 --pkg-config-flags="--static" --enable-sdl2
make -j
```
# Linux builders (Important for FFplay)
You can build using [Linux script](libvvdecffmpeg.sh).
If you want actually play VVC file with FFplay on your local distro, you need to remove command `--extra-ldexeflags="-static"`, otherwise it might give result segmentation fault for FFplay static only.
If compiling is success and finished, you can install FFmpeg VVC for using the code:
```
mv ffmpeg ffmpeg_vvceasy
mv ffplay ffplay_vvceasy
mv ffprobe ffprobe_vvceasy
sudo cp ffmpeg_vvceasy ffplay_vvceasy ffprobe_vvceasy /usr/local/bin
```
# Special thanks
VVC programmers of FFmpeg:
Original author: [@FFmpeg](https://github.com/FFmpeg) Repository: https://github.com/FFmpeg/FFmpeg
[@lehmann-c](https://github.com/lehmann-c) (Christian Lehmann) Repository: https://github.com/lehmann-c/FFmpeg
[@tbiat](https://github.com/tbiat) (Thibaud Biatek) Repository: https://github.com/tbiat/FFmpeg
VVC encoder programmer to FFmpeg: [@IsaMorphic](https://github.com/IsaMorphic) (Isabelle Santin) Repository: https://github.com/IsaMorphic/FFmpeg-VVC
[@MartinEesmaa](https://github.com/MartinEesmaa) (Martin Eesmaa) Repository: https://github.com/MartinEesmaa/FFmpeg-VVC
[@NuoMi](https://github.com/nuomi2021) of some codes and [Thomas Siedel](https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=8577) of new external VVC encoder & decoder.
AC4 decoder programmer to FFmpeg: [@richardpl](https://github.com/richardpl) (Paul B Mahol) Repository: https://github.com/richardpl/FFmpeg/tree/ac4
AC4 support in mp4 container: [@AUGxhub](https://github.com/AUGxhub) Repository: https://github.com/AUGxhub/FFmpeg/tree/patch-1
- Martin Eesmaa

126
INSTALLVLCPLUGIN/README.md Normal file
View File

@ -0,0 +1,126 @@
![vlc-media-player-2-569258-4168599479](https://user-images.githubusercontent.com/88035011/175112324-06a64145-ff1a-43f0-adac-a1aeb9ce770a.png)
# VLC Media Player (Inter Digital VLC VTM Decoder Plugin installation of Windows and Linux)
This can work only for VLC 3.0.9.2 and later version (e.g., 3.0.17.4). VLC 4.0.0-dev won't work.
To install Inter Digital VLC VTM Decoder Plugin, you need VLC Media Player latest version installed on your computer and supported 64-bit.
Step 1: Copy libvtmdec.dll and libvvcdecoder_plugin.dll into your VLC Media Player folder following folder: VLC/plugins/codec
C:\Program Files\VideoLAN\VLC\plugins\codec
Step 2: Copy libvvctsdemux_plugin.dll into your VLC Media Player folder following: VLC/plugins/demux
C:\Program Files\VideoLAN\VLC\plugins\demux
Step 3: Enjoy and play your h266 file into your VLC Media Player :).
### For Linux users
Open terminal and copy code:
```
sudo cp libvvcdecoder_plugin.so libvtmdec.so /lib/x86_64-linux-gnu/vlc/plugins/codec
sudo cp libvctsdemux_plugin.so /lib/x86_64-linux-gnu/vlc/plugins/demux
```
VLC from Snap Store:
```
sudo cp libvvcdecoder_plugin.so libvtmdec.so /snap/vlc/2344/usr/lib/vlc/plugins/codec
sudo cp libvctsdemux_plugin.so /snap/vlc/2344/usr/lib/vlc/plugins/demux
```
Preview:
![preview](vvceasylinuxvlc.png)
# Build VLC InterDigital Plugin
Explanation of CMAKE names:
VLC_INCLUDE_DIR = Includes of VLC SDK Plugins
VLC_LIB_DIR = Libs of VLC SDK
VLC_PROGRAM_DIR = VLC Program directory
VTMDEC_LIB_NAME = Name title of libvtmdec
VTM_DIR = libvtmdec source files
VLC_SRC_DIR = VLC Source files of the desktop version
DVBPSI_DIR = DVBPSI source files
### Windows
You need the CMAKE GUI, Visual Studio 2017 or newer, VLC SDK, [libvtmdec](https://vcgit.hhi.fraunhofer.de/delagrangep/VVCSoftware_VTM/-/tree/VTM-18.2-MT) precompiled shared dll in lib folder + sources, dvbpsi source and VLC source files of the desktop version. You need to modify vlc_threads.h, before compile.
vlc_threads.h can be found in VLC folder/sdk/include/vlc/plugins. Search `val = poll(fds, nfds, timeout);` and comment the only one file, that's it.
![vscodethelinecommentvlcthreads](https://user-images.githubusercontent.com/88035011/175109219-6ea70dc4-b696-4045-a071-ef1306bc9634.png)
Build Decoder Plugin, see screenshot of CMAKE GUI:
![decoderplugin](https://user-images.githubusercontent.com/88035011/175105846-646ab744-ef1f-45b3-a084-a2f7ad3464a2.png)
Build TS Demuxer Plugin, see screenshot of CMAKE GUI:
![tsdemuxplugin](https://user-images.githubusercontent.com/88035011/175105943-1f9e41ad-2f20-451c-9123-f163252c7106.png)
### Linux
You need CMAKE GUI, build-essentials, VLC SDK, [libvtmdec](https://vcgit.hhi.fraunhofer.de/delagrangep/VVCSoftware_VTM/-/tree/VTM-16.0-MT) sources, dvbpsi source and VLC source files of the desktop version. You need to modify vlc_threads.h, before compile.
vlc_threads.h can be found in VLC folder/sdk/include/vlc/plugins. Search `val = poll(fds, nfds, timeout);` and comment the only one file, that's it.
![vscodethelinecommentvlcthreads](https://user-images.githubusercontent.com/88035011/175109219-6ea70dc4-b696-4045-a071-ef1306bc9634.png)
libvtmdec build:
Compiled file could be found in lib folder in libvtmdec.
```
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=1 ..
make -j
```
Before build Decoder Plugin, you need to find libvlccore in Linux.
dvbpsi build requires of TS Demuxer Plugin:
```
./bootstrap
./configure --enable-release
make -j
sudo make install
```
Build Decoder Plugin, see screenshot of CMAKE GUI:
![decoderpluginlinux](https://user-images.githubusercontent.com/88035011/175110060-ee1cf4e3-de96-478b-9bb6-6e7d0e11a2bd.png)
Build TS Demuxer Plugin, see screenshot of CMAKE GUI:
![tsdemuxpluginlinux](https://user-images.githubusercontent.com/88035011/175110701-d9a87f9f-ab25-40b9-b070-9e53a712b372.png)
Original documentation must be in the original repository: https://github.com/InterDigitalInc/VTMDecoder_VLCPlugin
### Alternative using command line of Windows
Open Windows Terminal/Windows Command Prompt, make sure you do cd of C:/Users/(put your username)/Downloads/VVCEasy/VLC
Copy code following:
```
copy libvtmdec.dll "%programfiles%\VideoLAN\VLC\plugins\codec"
copy libvvcdecoder_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\codec"
copy libvvctsdemux_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\demux"
```
Note to VLC 4.0.0-dev users:
The VVC video file cannot loaded by newest version of VLC 4.0.0-dev, because it is nightly build and it's unstable.
For more information about VLC 4.0.0-dev see: https://www.theverge.com/2021/2/12/22279750/vlc-4-0-new-user-interface-videolan-media-player-video-music-movie-database-web-player
I tried to build two DLL files on VLC 4.0.0 SDK, but the compiler failed, so you must use VLC 3.0.9.2 and latest of VLC 3 version branch.
- Martin Eesmaa

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 KiB

Binary file not shown.

16
LAVFilter/README.md Normal file
View File

@ -0,0 +1,16 @@
# LAV Filters for Windows (VVC version)
LAV Filters is an open source of Windows DirectShow filters with splitter and decoder for FFmpeg.
For VVC version, it includes external VVC decoder libvvdec and xHE-AAC with LAV Filters and can be played by any DirectShow players, but it requires Windows Vista and later.
To install LAV Filters VVC version on your computer, you need right click and run as administrator for batch files (.BAT file).
Original source code: https://github.com/Nevcairiel/LAVFilters
Changelog:
```
21/03/2023: Full VVC support and libfdk_aac is default after native AAC and AAC Fixed decoder disabled to fix USAC/xHE-AAC playable.
```
- Martin Eesmaa

Binary file not shown.

16
LinuxVVC/LinuxVVC.sha256 Normal file
View File

@ -0,0 +1,16 @@
9da0f180e93a23e3e54f7e0de9343a95c05dd84e6a0bb1890b08ebf8db51cbc1 arm64/vvdecapp
1a82c9388be5b3ea7a80a4f9d567767a4e442c66a8c79f633ea194fc4e46e1ac arm64/vvencapp
c19e0a6b87b10a59e8c265b261697892acf0534415f145960820a9af2b883e7c arm64/vvencFFapp
767db0f49a827ca815b360fc794d23f6b3225da77ccf45dc88cdd1bf8cc2e3b0 arm64/vvencinterfacetest
126b39cea6f768482e0d6349700122753473e9add18323dbd87e5e42d799c12e arm64/vvenclibtest
274cb13f18fa8580ecddbae973180a67d3e5dedccc8304a52455829f2cde6ba7 LinuxVVC.7z
6f70f517a10fa946ebb989c01142855b46e75ddefbdc2d45f54438251b6e44ce vvdecapp
7d55e872ccc424773bb8c6ba17318dee4d087ae7ca8e336c45578f9b6529f26a vvencapp
86ca551aa7d898f514fbd7c71f32678d3505dc5fbed46d48a34ba65c74d6fed7 vvencFFapp
918579cdbaee32d171e97022d7e0e446b4fb57689bb743ca3b8bf4ce3f4af50e vvencinterfacetest
478a3de7c45437ac1f3c3d80f04dec075405f1021ad76f9aca0df30db5f4f87d vvenclibtest
6f70f517a10fa946ebb989c01142855b46e75ddefbdc2d45f54438251b6e44ce x64/vvdecapp
59533e5dbe7dccacc73f5da1d50e1d12e70b06a936a082acb5db77e05a1b1c67 x64/vvencapp
85bb66f8374c6735cfa2ebc737206e5a4c6d06512dfd6dfd52c7a3a7088c962a x64/vvencFFapp
e3c6d3b292d4a75f5f7a54d584b3a7fbcb834c80a45efad2ef8f4910c131e2fb x64/vvencinterfacetest
a52ff605cfdaa7209f24001e91193005d44a6ebe08130ec9cef2a6c85b4bcbe4 x64/vvenclibtest

View File

@ -1,6 +0,0 @@
5e24dac7207b6920fe5346e535948b326240aaa919d813df8476085f1a496d8bcc7482448b58f93569da13bf75a6970c2c3317203078b8e37231b687dca6f9ec vvdecapp
38adab806d3f6c1ffcbb6048dfaa25acc25a2ed161796f193eb75b4d0755992ecb51749ba8bc956c26b498214b5c86fd642a40f644a187cc154a2ccfd80e6f8a vvencapp
5876a5dcff3c4b2d69194c88c0523188ead7f77964dccc74dc81b3bd373d909214f0d94b4a810d50f2e99654790e565947e2b87a241f38b7e7cf19cb914d189d vvencFFapp
ba04e721291a3aa51e538910f8a8e23236da4d1ed97b89823017f20aab0fa7ed68535bb18d9a353af4cbf52827465c71acf0a5f5b798af934336fc1c0ba31c32 vvencinterfacetest
d565006cc20edb0ea7bfe3452d6b88f3b10007b505a207368a551db4e7ee502140b01c3ca15660812c26171a7511749cdd44914a284f3d44959202d6f667ebc3 vvenclibtest
80bca86ad0d3daa2ec1f230462280b6bd8ba666ffcd07ab7c58aa8393959d24d0f8cc998fc24a84d0fa9ae5b482d2346239a239a7be4027eb7f9eafaecefb750 LinuxVVC.7z

124
MPV.md Normal file
View File

@ -0,0 +1,124 @@
![mpv-icon128](https://user-images.githubusercontent.com/88035011/169686347-e7f06fa5-01ea-4b13-9ec6-c87570873db7.png)
# MPV Windows/Android Player (libvvdec + xHE-AAC support)
MPV Windows/Android Player (libvvdec + xHE-AAC support) can play your VVC decoded video file and mixed MP4 container with VVC video codec + audio.
Screenshot preview, see top-left information of toggle stats on Windows/Android device:
![mpvandroidwithxheaacplusvvc](https://user-images.githubusercontent.com/88035011/184468869-7286272c-66e3-4b3e-b1cc-015a6e24103d.jpg)
![mpvplayerforwindowslibvvdec](https://user-images.githubusercontent.com/88035011/176990209-4c6bcc0d-ef14-4e4c-8738-edfbb9a6e1c1.png)
# Download MPV Windows/Android Player (libvvdec + xHE-AAC plugin)
[Windows 7 and later x64](https://mega.nz/file/78NjGDbS#Tu5RoJHJmaHGyZaeL5rc7pfh3X2lbIIZ70zKqRtKNKc)
[Windows MPV.NET VVCEasy version x64](https://mega.nz/file/a5thiAzS#RIJRVXKezVTRVcukauxpxHMQGtoGpyOthiw2zTNi1bE)
[Windows MPVLIB VVCEasy version x64](https://mega.nz/file/n8dAwBSZ#abnQSBIL4uzahXM8ZdomUHbh40S93-tp3okrlZ7gT6o)
[Android API 29 .APK Debug (Recommended)](https://mega.nz/file/L9VyXQIY#HfPbk_txbfFyXoGWWY0lOEr4N1diwlnyF0-EnZ_MZA0)
[Android API 29 .APK Release unsigned](https://mega.nz/file/34M1DJ5L#wNd8aTr9B2eLEAgd01mnL8CEOe0JTVrxO4XvpzJeCY4)
[Android API 29 .APK Debug with gpu-next](https://mega.nz/file/3p0zyCCI#BRmCY58lwikvck0gbcyFX3IvcGu_7wxZn-mWezaD1uk)
[Android API 29 .APK Release with gpu-next](https://mega.nz/file/C5dyXbpJ#ta2DouVYLOaXeZ6VW9fLqIm7a3I2AoFxWlD-unG18T4)
### Changelog
Please check the changelog before you download the new version.
```
18/06/2023 - Improved codes and new commits of Android MPV VVCEasy custom build standalone.
17/06/2023 - Cross compiled of Windows using Arch Linux for improved libraries and updated FFmpeg, MPV & MPV.NET VVCEasy build. New libmpv build.
04/04/2023 - New Android MPV VVCEasy build with new FFmpeg VVCEasy libraries for updated vvenc and vvdec. For gpu-next build, still experimental.
03/04/2023 - New MPV and MPV.NET latest VVCEasy build with new FFmpeg VVCEasy libraries for updated vvenc, vvdec and added libjxl, shaderc, libplacebo and vulkan to make gpu-next available.
29/03/2023 - Update MPV Android package and icons. Tip: You can have two builds between official and VVCEasy build.
19/02/2023 - Add Android TV support of APK builds & update Android MPV VVCEasy builds.
15/02/2023 - Added Android MPV VVCEasy build with gpu-next support.
14/02/2023 - Update Android MPV VVCEasy build latest, but vulkan support is removed for some reason.
29/01/2023 - Updated vvdec code, mpv.net and others on Windows MPV VVCEasy build.
11/01/2023 - Updated vvdec, added Vulkan with shaderc on MPV Android VVCEasy build.
11/10/2022 - Removed libvorbis + updated SDL2 & mpv.net latest.
10/10/2022 - libplacebo removed (does not work Dolby Vision with my custom build) + update mpv, added zimg, & two improved decoders of libspeex & libvorbis.
11/09/2022 - Complete static adding LDFLAGS="-static" to fix new Intel CPU processor users for mpv.net.
11/09/2022 - Added libplacebo + ffnvcodec.
11/09/2022 - Added optional features: SDL2 gamepad, dvdnav & libbluray.
10/09/2022 - Initial release of MPV.NET.
01/09/2022 - New complete static of Windows MPV VVCEasy build.
```
# Limitations & Tips
MPV Android libvvdec app requires your system type of ARM64 (aarch64), x86 (i686), ARMv7 (armeabi-v7a) and x86_64 to run on Android or Windows requires to run x64.
Windows/Android MPV Player doesn't work seek duration of VVC decoded file only, but only mp4 video container mixed with VVC video codec is only seek supported, including audio & subtitle too.
Some Android users for 10-bit pixel format or/and tier high might not show video in mp4 container with VVC video codec only.
Solution: Please download latest mp4box nightly version and re-mux from .266 to .mp4 file again.
### Tips
Make sure to allow apps from unknown sources. Link: [Wikihow](https://www.wikihow.com/Allow-Apps-from-Unknown-Sources-on-Android)
If Google warns you that Android MPV (libvvdec plugin) app is malicious by Play Protect, press "Install anyway" on your phone.
On Windows, there is available MPV.NET custom build on this download. Source code: https://github.com/stax76/mpv.net
# SHA256 SUMS
```
e1c96ffc079d5433dca22322dacbd14bf1ad2cca3056c67976b03f34cf46f01a MPV-VVCEasy-API29debug.apk
95a469ac4b11b3d9323e02c2757d7cbb0e4507d8a97d54e4134f31a47c1341e2 MPV-VVCEasy-API29release-unsigned.apk
6cca9e73a23a376f704f60e716d1ecc206c290e908b42aab341353f304dacc58 MPV-VVCEasy-API29debug-gpunext.apk
55a4182bf4a0bec8b0236e7de3c2f169a4df33735b842b083951647dbf5bfe64 MPV-VVCEasy-API29release-unsigned-gpunext.apk
35bb3422e977edb65405bd26e4de9b64705e08455fd8e3561a9610628f0bafab MPV-VVCEasy-Windows-x64.7z
bcdd83d7d6e393e990808cdc19b7580e5d98c537c42eb67e9774f86b22f5e533 MPV.NET-VVCEasy-Windows-x64.7z
```
# Build MPV Android with VVC and xHE-AAC:
If you want to build MPV Android, you need to update & upgrade first, then install packages:
```
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential cmake nasm libsimde-dev python3 git
```
Next download Temurin from Adoptium and follow the install instructions:
https://adoptium.net/installation/linux
After you installed Temurin from Adoptium, you can verify that is installed on your system:
```
java --version
```
After installing the packages on Linux, clone mpv-android-vvc repository:
```
cd
git clone https://github.com/MartinEesmaa/mpv-android-vvc
cd mpv-android-vvc/buildscripts
```
Give shell scripts permission in buildscripts folder:
```
chmod +x scripts/*.sh
```
Before you build, you need to search `#ifdef __ANDROID__` and delete the lines by end `#endif`:
```
nano deps/fdkaac/libSBRdec/src/lpp_tran.cpp
```
Save the file in nano editor, when you finished removing `#ifdef __ANDROID` lines.
**TIP: You can edit script of vvdec.sh on your own choice.**
Continue follow instructions to build your own MPV build:
https://github.com/mpv-android/mpv-android/blob/master/buildscripts/README.md
- Martin Eesmaa

Binary file not shown.

11
MacOSVVC/MacOSVVC.sha256 Normal file
View File

@ -0,0 +1,11 @@
79d6f766a250980bc3ba7c082b86b5005df4b1898e55bc3d1b018512fc300410 arm64/vvdecapp
b49c4e67c0ea6bcc817711f127a1a73eeeaa835014e8012adaf6bda8c6d22d98 arm64/vvencapp
efb33ea9e833a64c81917d57b482e9aa5a60df67e8e4ed14e21d676cc4fecdf4 arm64/vvencFFapp
38c9530cddb8e4c7c26e7e24072218ad4a073e1e75c182e38bdf93ec0d2e4ec9 arm64/vvencinterfacetest
b9de440956178fddc85667f6383289863e249a6f506e82fb8bb10194d034ce65 arm64/vvenclibtest
13ee8659a31f8867e681b187689b332aa02ba155c866a8902080096dca537f64 intel_x64/vvdecapp
2dcbb19301375dd6df6bd0ba32c478196d7444bf392dc25e68043a6f0f54fa07 intel_x64/vvencapp
296431dee43444c6d6d976eb54a4046e48311d4b3b4ee21a1e273b1d9bb26486 intel_x64/vvencFFapp
88e3dcafa38fa7b5ee8669eda89292211802eb095ad7fabf18258f6a5fd0ce29 intel_x64/vvencinterfacetest
d192ca2e45d0dbf3cdf769688795416f1d2605a9a793d9d75072a16ebc5798a0 intel_x64/vvenclibtest
331947784a061cef9c944ebdf5fb64552663bba8f95f293c6e71bbf02a0a6973 MacOSVVC.7z

View File

@ -1,6 +0,0 @@
2328f4bc9ba746c840477c65df5945cc8dbd82d537ea265ead93bb41d64293742eac350c629eda706c44c86ce24dde0102b643e06010b2305f6bb4cd80d998b5 vvdecapp
e8f990ca375e3b7a939cc70266ceeae83dc65a98c658d9c9b46a3d40c42d258c2fd650cacb3c278956f7cb5acfe4ba83ad5f9e6214eb2a1d399cf95c9b7346ce vvencapp
cfbee8f49dc04a0df7a5a74bbdea6b1975c00d21ad463f30465643d025f64e6a5f05fb27e66ea9e13baf0118a12a5c15074c5c113fee48ca51aea3f0b7a80e6c vvencFFapp
76af89cf25e6ca7762e59fa33096e3449e29b68826710823cb924cd0a819c46a52255dc27482fbe27275068519f9006ca3bc0d7054de4d9e7378814762cec451 vvencinterfacetest
fd9cd9504eafb270e588c6ca3b767bed2ba49ed9dc9f348de5f829831b388f14866b72eff756833a3fe5b33092b27318f54015c6e18727ca23f0c9bb8ecc0b77 vvenclibtest
0884e2bce227de3d16aba1fe912eff96e388c031b5a47347ea20a30f5b7c6deecf26a681f00b674107a8fede4c8db2565a4adb4c3efeb7b5308362aceab211da MacOSVVC.7z

View File

@ -1,5 +1,4 @@
using System;
using System.Threading;
using System.Net;
namespace VVCEasy
{
@ -7,19 +6,21 @@ namespace VVCEasy
{
public static void Main()
{
string version = "v2.0.0";
string codeversion = "Party of Martin Eesmaa's birthday at age 18.";
string title = "Martin Eesmaa / VVCEasy";
bool exit = false;
Console.Title = "Martin Eesmaa / VVCEasy";
Console.WriteLine("MARTIN EESMAA / VVCEasy");
Console.WriteLine("Welcome to VVCEasy. (.NET Console Beta Version, v.0.5.0)");
Console.Title = title;
Console.WriteLine("Martin Eesmaa / VVCEasy\nWelcome to VVCEasy. (.NET Console Release Version, " + version + ")\nVersion codename: " + codeversion);
Console.ReadLine();
do
{
Console.Clear();
Console.WriteLine("VVCEasy (.NET Console Beta Version, v.0.5.0)");
Console.WriteLine("Note: C# is not ready yet, malfunction mode");
Console.WriteLine("");
Console.Title = "Martin Eesmaa / VVCEasy";
Console.WriteLine("What would you like to do for encode/decode of VVC?\n1. Encode\n2. Decode\n3. Help\n4. Exit\n5. Test path environment\n6. Install VLC Media Player (o266player, Windows x64)\n7. Install quickly through Anaconda for ffmpeg (Windows)\n8. Install VVdec Web Player\n9. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)");
Console.WriteLine("VVCEasy (.NET Console Release Version, " + version + ")");
Console.WriteLine("Version codename: " + codeversion);
Console.WriteLine("Note: C# is not ready yet, malfunction mode\n");
Console.Title = title;
Console.WriteLine("What would you like to do for encode/decode of VVC?\n1. Encode\n2. Decode\n3. Help\n4. Exit\n5. Install/Test path environment\n6. Install FFmpeg VVDec support\n7. Install quickly through Anaconda for ffmpeg (Windows)\n8. Install VVdec Web Player\n9. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)\n10. Install vvDecPlayer from BitMovin\n11. Install/Update VLC VTM Plugins (Windows/Linux x64 of VLC plugins by Inter Digital Inc)\n12. Install MPV Windows/Android (libvvdec plugin)\n13. Tests of VVC videos");
string input = Console.ReadLine();
@ -43,7 +44,7 @@ namespace VVCEasy
{
Console.Clear();
Console.Title = "VVC ENCODER (YUV LOSSY)";
Console.WriteLine("Before we start encode from your YUV file to VVC file, I'm afraid I cannot do automatically for you.\nYou have to manually encode to VVC, the batchfile won't work.\nHere is code: vvencapp --qp 38 -i yourinput.yuv -s 854x480 -r 30 -o youroutputlossy.266\nYOU HAVE TO REPLACE VIDEO SIZE AND FRAME RATE. -s is video size and -r is frame rate.\nYou can also add for --tier high or/and 10-bit video -c yuv420_10, if necessary.");
Console.WriteLine("Before we start encode from your YUV file to VVC file, I'm afraid I cannot do automatically for you.\nYou have to manually encode to VVC, the batch file won't work.\nHere is code: vvencapp --qp 38 -i yourinput.yuv -s 854x480 -r 30 -o youroutputlossy.266\nYOU HAVE TO REPLACE VIDEO SIZE AND FRAME RATE. -s is video size and -r is frame rate.\nYou can also add for --tier high or/and 10-bit video -c yuv420_10, if necessary.");
Console.ReadLine();
}
else if (input3 == "2")
@ -79,7 +80,7 @@ namespace VVCEasy
}
else if (input == "3")
{
helpingvvc:
helpingvvc:
Console.Clear();
Console.WriteLine("Welcome to VVCEasy help instructions!\nHere is tutorial about... How to use VVCEasy?");
Console.ReadLine();
@ -89,7 +90,7 @@ namespace VVCEasy
string helper = Console.ReadLine();
if (helper == "Y" + "y")
if (helper == "Y")
{
goto helpingvvc;
}
@ -99,37 +100,50 @@ namespace VVCEasy
Console.Clear();
Console.Title = "Have a wonderful day!";
Console.WriteLine("Have a wonderful day! Thank you for using VVCEasy. :)");
Console.WriteLine(" _ _ _ \n | | | | | | \n | |_| |__ __ _ _ __ | | ___ _ ___ _ _ \n | __| '_ / / _` | '_ /| |/ / | | |/ _ /| | | |\n | |_| | | | (_| | | | | <| |_| | (_) | |_| |\n /__|_| |_|/__,_|_| |_|_|/_\\__, |/___/ /__,_|\n __/ | \n |___/\n\n\n __ ____ _______ ______ \n / / / // / / / ____| ____| \n / // / / // /| | | __| / _` / __| | | |\n / / / / | |____| |___| (_| /__ / |_| |\n // // /_____|______/__,_|___//__, |\n __/ |\n |___/ \n\n\n __ __ _ _ ______ \n | // | | | (_) | ____| \n | / / | __ _ _ __| |_ _ _ __ | |__ ___ ___ _ __ ___ __ _ __ _ \n | |//| |/ _` | '__| __| | '_ / | __| / _ // __| '_ ` _ / / _` |/ _` |\n | | | | (_| | | | |_| | | | | | |___| __//__ / | | | | | (_| | (_| |\n |_| |_|/__,_|_| /__|_|_| |_| |______/___||___/_| |_| |_|/__,_|/__,_|\nCopyright 2022 Martin Eesmaa\n\nExiting program...");
Thread.Sleep(3000);
Console.WriteLine(" _ _ _ \n | | | | | | \n | |_| |__ __ _ _ __ | | ___ _ ___ _ _ \n | __| '_ / / _` | '_ /| |/ / | | |/ _ /| | | |\n | |_| | | | (_| | | | | <| |_| | (_) | |_| |\n /__|_| |_|/__,_|_| |_|_|/_\\__, |/___/ /__,_|\n __/ | \n |___/\n\n\n __ ____ _______ ______ \n / / / // / / / ____| ____| \n / // / / // /| | | __| / _` / __| | | |\n / / / / | |____| |___| (_| /__ / |_| |\n // // /_____|______/__,_|___//__, |\n __/ |\n |___/ \n\n\n __ __ _ _ ______ \n | // | | | (_) | ____| \n | / / | __ _ _ __| |_ _ _ __ | |__ ___ ___ _ __ ___ __ _ __ _ \n | |//| |/ _` | '__| __| | '_ / | __| / _ // __| '_ ` _ / / _` |/ _` |\n | | | | (_| | | | |_| | | | | | |___| __//__ / | | | | | (_| | (_| |\n |_| |_|/__,_|_| /__|_|_| |_| |______/___||___/_| |_| |_|/__,_|/__,_|\nCopyright 2021-2022 Martin Eesmaa\n\nExiting program...");
Thread.Sleep(5000);
exit = true;
}
else if (input == "5")
{
testpathenvironment:
Console.Clear();
Console.Title = "TEST PATH ENVIRONMENT";
Console.WriteLine("Martin Eesmaa is testing your paths, that you installed programs in PATH. Not sure, what is path?\nYou can go here for link: https://stackoverflow.com/questions/4910721/python-on-cmd-path\nYou can also search What is PATH in Windows? in DuckDuckGo or SearX.\nAre you ready to test? (Y/N)");
Console.Title = "INSTALL/TEST PATH ENVIRONMENT";
Console.WriteLine("Martin Eesmaa is testing your paths, that you installed programs in PATH. Not sure, what is path?\nYou can go here for link: https://stackoverflow.com/questions/4910721/python-on-cmd-path\nAlso you can also search What is PATH in Windows? in DuckDuckGo or SearX.\nAre you ready to test? (Y/N) or type I to install path environment.");
string readytestbefore = Console.ReadLine();
if (readytestbefore == "Y" + "y")
if (readytestbefore == "Y")
{
Console.Title = "Testing time...";
Console.WriteLine("Sorry, it's malfunction mode in C#...");
Console.ReadLine();
}
else if (readytestbefore == "I")
{
Console.WriteLine("Installer path environment will be only for 7-Zip.\nOther programs should need manual, but Python, FFmpeg, wget and git must be installed manually and add automatically path environments.\nDo you want patch 7-Zip on your path environment, so you can type 7z next time.\n Would you like to install 7-Zip on your path environments? Y/N? No means go back to test menu.\n\nAnswer: ");
string installpath1 = Console.ReadLine();
if (installpath1 == "Y")
{
Console.Title = "INSTALLING 7-ZIP on your path environments...";
Console.WriteLine("Sorry, it's malfunction mode in C#...");
Console.ReadLine();
}
}
}
else if (input == "6")
{
Console.Clear();
Console.Title = "VLC Media PLayer (custom build of o266player)";
Console.WriteLine("Hello, would you like to install VLC Media Player (v3.0.11.1 Vetinari, custom build of o266player) on your computer?\nBefore you install...\nThe VLC Media Player (custom build of o266player) works only on Windows 7 / Windows Server 2012 or earlier versions.\nWindows Vista and older versions will not work, including Windows 8.0 won't work too, because it could be terminal error or/and cannot decode VVC format.\nYou need 64-bit / x64 to run VLC custom build. On 32-bit / x86, it will not work to run.\nNote: Some operating system work VLC custom build on Virtualbox and VMware. Real machines can all almost run Windows versions, like Windows Server 2016.\nReminder: I'm not kinda sure about this, I hope should you're running on real machine, that means it needs to be working to load VVC video format.\nInstall? Y/N?");
Console.Title = "FFmpeg VVDec support";
Console.WriteLine("Hello, would you like to download FFmpeg VVDec support? Y/N?");
string vlcinstall = Console.ReadLine();
if (vlcinstall == "Y" + "y")
if (vlcinstall == "Y")
{
Console.WriteLine("Your favorite operating system is available on FFmpeg VVDec support. Please copy the link to a web browser.\nWindows: https://mega.nz/file/e1MEUAwR#c7u7vDvwzp6JiSaRDwhCyOaH4cGnx1xQDPyKgbAd-qM\nMac OS: https://mega.nz/file/K09gRbYJ#SewWjY4LqVdvlivXJhqQMjrsXO6ec8a1jmapj5nO2Gs\nLinux (Only Ubuntu 20.04 built): https://mega.nz/file/T8l0GTqa#oWsDDrFYjzf3LhS9zRkuqqBz6H4yJmNQUNiu_erVQLo\n\nSee information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md\nPress enter to go back menu.\n");
Console.ReadLine();
}
}
else if (input == "7")
@ -140,7 +154,7 @@ namespace VVCEasy
string anacondaman = Console.ReadLine();
if (anacondaman == "Y" + "y")
if (anacondaman == "Y")
{
Console.WriteLine("SUCCESS, going to back menu...");
Console.ReadLine();
@ -154,10 +168,14 @@ namespace VVCEasy
string okletsdoit = Console.ReadLine();
if (okletsdoit == "Y" + "y")
if (okletsdoit == "Y")
{
Console.Clear();
Console.Title = "INSTALLING VVDEC WEB PLAYER...";
using (WebClient web1 = new())
web1.DownloadFile("", "");
Console.WriteLine("Sorry, the command is not ready yet...");
Console.ReadLine();
}
@ -169,6 +187,93 @@ namespace VVCEasy
Console.WriteLine("Decompressing...\nSorry, the command is not ready yet...");
Console.ReadLine();
}
else if (input == "10")
{
Console.Clear();
Console.Title = "Install vvDecPlayer from BitMovin";
Console.WriteLine("Would you like to install?\nY/N?\n");
string installbitmovin = Console.ReadLine();
if (installbitmovin == "Y")
{
bitmovingotoinstall:
Console.Title = "Installing vvDecPlayer from BitMovin...";
Console.WriteLine("Installing vvDecPlayer from BitMovin on your computer...\nWhich operating system are you using?\nWindows, Mac or Linux?\nType W for Windows\nType M for Mac\nType L for Linux");
string installbitmovin1 = Console.ReadLine();
if (installbitmovin1 == "W")
{
Console.WriteLine("Installing vvDecPlayer from BitMovin for Windows...\nSorry, the C# console is not ready yet...");
using (WebClient web1 = new())
web1.DownloadFile("", "");
Console.ReadLine();
}
else if (installbitmovin1 == "M")
{
Console.WriteLine("Installing vvDecPlayer from BitMovin for Mac OS...\nSorry, the C# console is not ready yet...");
using (WebClient web1 = new())
web1.DownloadFile("", "");
Console.ReadLine();
}
else if (installbitmovin1 == "L")
{
Console.WriteLine("Installing vvDecPlayer from BitMovin for Linux...\nSorry, the C# console is not ready yet...");
using (WebClient web1 = new())
web1.DownloadFile("", "");
Console.ReadLine();
}
else if (installbitmovin1 == "Back")
{
}
else
{
Console.WriteLine("You typed wrong input command, follow the commands instructions... type Back to go back menu...");
goto bitmovingotoinstall;
}
}
}
else if (input == "11")
{
Console.Clear();
Console.Title = "VLC VTM Plugins Install (Windows & Linux)";
Console.WriteLine("Welcome to VLC Media Player of VTM Plugins Installation.\nYou need to run Windows version of Windows Vista / Windows Server 2008 to play VVC files.\nWindows XP can't load VTM plugins, but other plugins work.\nSystem type only = x64\nLinux is now available, see Linux installation at: https://github.com/MartinEesmaa/VVCEasy/tree/master/INSTALLVLCPLUGIN#for-linux-users\nCurrent version = 3.0.17.4\nWould you like to install VTM plugins to your VLC Media Player? Y/N?");
string vtmvlcinstallnow1 = Console.ReadLine();
if (vtmvlcinstallnow1 == "Y")
{
Console.Title = "Installing of VLC VTM Plugins by Inter Digital Inc... (Compiled by Martin Eesmaa)";
Console.WriteLine("Installing of VLC VTM Plugins by Inter Digital Inc... (Compiled by Martin Eesmaa)\nSorry C# is malfunction mode...");
using (WebClient web1 = new())
web1.DownloadFile("", "");
Console.ReadLine();
}
}
else if (input == "12")
{
Console.Clear();
Console.Title = "Android MPV Player (OpenVVC support)";
Console.WriteLine("See information MPV.md or online Github: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md\nPress enter to go back menu.\n");
Console.ReadLine();
}
else if (input == "13")
{
Console.Clear();
Console.Title = "Tests of VVC videos";
Console.WriteLine("Please see the paragraph in README.md.\nhttps://github.com/MartinEesmaa/VVCEasy/#tests-of-vvc-videos\n\nSee information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md\n\nPress enter to go back menu.");
Console.ReadLine();
}
}
while (exit == false);
}

View File

@ -1 +0,0 @@
sudo apt install ffmpeg -y

393
README.md
View File

@ -6,107 +6,194 @@ https://github.com/MartinEesmaa/VVCEasy/actions/workflows/dotnet.yml)
![GitHub repo size](https://img.shields.io/github/repo-size/MartinEesmaa/VVCEasy)
![GitHub release (release name instead of tag name)](https://img.shields.io/github/v/release/MartinEesmaa/VVCEasy?include_prereleases)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/MartinEesmaa/VVCEasy)
![Matrix](https://img.shields.io/matrix/vvceasy:matrix.org?label=VVCEasy%20Matrix)
![Discord](https://img.shields.io/discord/974611343237869619?label=VVCEasy%20Discord%20Chat)
# VVCEasy (Windows (Full), Mac and Linux (partial)
# VVCEasy (Windows, macOS, Linux & Android) (by Martin Eesmaa)
VVCEasy is that you don't have to compile or/and coding to encode VVC (known as Versatile Video Codec). Simple, Easy, Encode and Decode.
VVCEasy comes to one-easy command of ffmpeg, VVC Tools, python, VLC o266player, VVDEC Web Player and YUView.
VVCEasy comes to one-easy command of FFmpeg, VVC Tools, VLC o266player, VVDEC Web Player, Bitmovin VVDec Player, libvvdec and more.
Installation: Go to releases and download latest version.
Installation: Go to the releases and download latest version.
VVCEasy is not finished yet. I'm trying to work out with my codes. I'm not good for code programming, just simple coding.
Sorry to say this. I will give update announcement once I release news.
Windows source run (Batch-file): VVCEasy.bat
Windows source run: RUNVVCEASY.bat
Windows/Mac/Linux source run (Csharp): Bin/Release or Debug/netX.x/VVCEasy.exe (after build of C#), this requires VVCEasy.dll to run console application.
Note to Mac and Linux of o266player VLC: Sorry Mac and Linux users :(, on macOS 10.15.6, I tried build, but it failed, you can have a look for Stack Overflow: https://bit.ly/3GTtNTJ
On Linux, it won't support of VLC (o266player build).
If you want to run VLC (o266player version), you must run Windows only for virtual machine or your real computer.
Matrix chat: https://matrix.to/#/#vvceasy:matrix.org
# Donate to me using cryptocurrency
Revolt: https://app.revolt.chat/invite/0Y10qHzP
- **BTC:** `bc1qhf4zu5uythr7vyt2dru73qp0k2rzrx355fsx47yjxc2ueunz8frqxmwap3`
- **MONERO:** `85Ahh93M88gV8ekymtYwb6TS14TZ36jNGTFgceaRH7hj8Rtx1qVB9PobnJLR5siz4nYBnzWy3pkV6KaVroifGMVh7n4br3J`
- **BAT:** For Brave users, you can also contribute by support to me, I'm verified Brave user on Brave Rewards.
Discord: https://discord.gg/t54cADTbWW
# Compatibility Windows Operating System (VLC Media Player v3.0.11.1, o266player build version)
Reddit's community: https://reddit.com/r/VVCEasy
Windows | Compatibility (only x64) | Screenshot | Date report (DD/MM/YYYY, 24hr)
------- | ------- | --------------- | ------------- |
Windows 2000/ME or older | ❌ (Cannot run custom build) | [Link](https://i.imgur.com/hHnh5Cx.png) | 19/02/2022 18:35:34 (AEDT)
Windows XP | ⚠️ (Terminal only, GUI is not working) | [Link](https://i.imgur.com/v3jMW3d.png) | 11/12/2021 15:18:29 (AEDT)
Windows Vista | ⚠️ (GUI Works, but VVC won't show video)
Windows 7 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/4cANwDQ.png) | 17/12/2021 21:32:38 (AEDT)
Windows 8.0 | ⚠️ (GUI Works, but VVC won't show video) | [Link](https://i.imgur.com/cl8qASz.png) | 20/02/2022 15:27:40 (AEDT)
Windows 8.1 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/1Fe6xGW.png) | 17/12/2021 18:23:35 (AEDT)
Windows 10 | :white_check_mark: (All checked)
Windows 11 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/Me2L998.png) | 13/12/2021 15:58:55 (AEDT)
Sourceforge: https://sourceforge.net/projects/vvceasy
Windows Server | Compatibility (only x64) | Screenshot | Date report (DD/MM/YYYY, 24hr)
------- | ------- | --------- | --------- |
Windows Server 2003 | ⚠️ (Terminal only, GUI is not working) | [Link](https://i.imgur.com/G7F2bif.png) | 19/02/2022 21:38:20 (AEDT)
Windows Server 2008 | ⚠️ (GUI Works, but VVC won't show video) | [Link](https://i.imgur.com/GXFgIt8.png) | 20/02/2022 14:02:28 (AEDT)
Windows Server 2012 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/Vcgag8B.png) | 17/12/2021 20:57:16 (AEDT)
Windows Server 2016 | :white_check_mark: (All checked)
Windows Server 2019 | :white_check_mark: (All checked)
Windows Server 2022 | :white_check_mark: (All checked)
*Note: Please note for my first language is Estonian and not native with English language. Some my English words might be errors with incomprehensible.*
VLC Custom build of o266player only accepts to run 64-bit / x64 on your computer. 32-bit / x86 won't work.
# All lists
This cannot be run on Windows Vista / Windows Server 2008 or older and Windows 8.0 to play VVC video file of VLC Custom build.
- [Donate to Martin Eesmaa using cryptocurrency](#donate-to-martin-eesmaa-for-an-cryptocurrencies)
Note: I'm trying to work it out of VLC 3.0.16.
- [Tests of VVC videos](#tests-of-vvc-videos)
Reminder: Some operating systems are working to load VVC video format in Virtual Machine softwares, but real machines will work every operating system, example Windows Server 2016 has already been tested by Tencent Cloud.
- [VLC InterDigital VTM VVC Plugin](#vlc-interdigital-vtm-vvc-plugin)
# Compile of VVCEasy Batchfile version (optional) (Only Windows for compile.)
- [FFmpeg VVC En/Decoder & xHE-AAC support](#ffmpeg-vvencdec--xhe-aac-support)
First, before you compile to VVCEasy Batchfile version, you need Inno Setup to compile VVCEasy.
- [MPV libvvdec + xHE-AAC support (Windows x64/Android only)](#mpv-libvvdec--xhe-aac-support-windows-x64android-only)
- [LAVFilters VVC version x64](#lavfilters-vvc-version-x64)
- [Deprecated builds](#deprecated-builds)
- [Compile for VVCEasy](#compile-for-vvceasy)
- [VVCEasy Batchfile Compile](#vvceasy-batchfile-version-optional-windows-only)
- [VVCEasy .NET Compile](#vvceasy-net-console-version-optional)
- [Encode/Decode easy](#encodedecode-easy)
- [Hard option](#without-vvceasy-experimental-option-for-professional-coders-other-developers-and-everyone-hard)
- [VVEnc & VVDec compatibility test](#compatibility-results-vvenc-and-vvdec-tested-by-martin-eesmaa)
- [FAQ](#faq-known-as-frequently-asked-questions)
- [Credits & Licenses](#credits--licenses)
# Donate to Martin Eesmaa for a cryptocurrencies
- **BTC (BITCOIN):**
```
bc1qhf4zu5uythr7vyt2dru73qp0k2rzrx355fsx47yjxc2ueunz8frqxmwap3
```
- **XMR (MONERO):**
```
46Fk6k3qzhwXpLsDRWo4Uh63DDmwRX7gbL6P3zodAnvnRDr9Psi9uau19nCRQFHbmp3nLR3d5Ve8WRid71nuLZxAGygZ258
```
- **BAT (BASIC ATTENTION TOKEN):** For Brave Browser users only, you can also contribute by supporting me, I'm a verified Brave user on Brave Rewards.
- **Estonian bank account (Luminor Eesti IBAN):** You can donate to me. You have to pay a little network send fees before donate.
```
EE511700017003558571
```
# Tests of VVC videos
You can test Martin Eesmaa's encoded movies of VVC video codec and follow README.txt instructions.
[Tears of Steel VVC](https://mega.nz/folder/64swUYxI#WE5njn2aX6-6fxypNC3gtA)
# VLC InterDigital VTM VVC Plugin
I have great news. VLC latest version worked out well of Inter Digital VTM plugins. On o266player, there were some problems on my computer for one reason...
One reason that my Windows 11 operating system won't view video of VVC file on o266player version. On VTM plugins of VLC, now it shows me VVC video good.
Here is a comparison of o266player version and VTM VVC plugins:
Top left and right is o266player by Tencent Cloud.
Bottom left and right is VLC VTM plugins by Inter Digital Inc.
![windows8testbetweno266playerandvtmplugins](https://user-images.githubusercontent.com/88035011/160266040-863aa216-4694-4b2f-9957-4aa5b5a07ec3.png)
***UPDATE of 19/04/2022 00:20 AEST:***
Bug of Inter Digital VTM VLC Plugin:
When you try to play your MPEG-TS or TS file, it will crash with your InterDigital VLC VTM Plugin installed on your VLC Media Player.
Without InterDigital VLC VTM Plugin, playing MPEG-TS or TS file will play fine in your all original plugins (except VLC VTM Plugin) on your VLC Media Player.
# FFmpeg VVENC/DEC & xHE-AAC support
FFmpeg VVC En/Decoder & xHE-AAC supports of Windows, Mac and Linux.
See [FFMPEGVVC.md](FFMPEGVVC.md).
# MPV libvvdec + xHE-AAC support (Windows x64/Android only)
MPV libvvdec & xHE-AAC supports only of Windows x64 & Android.
The VVC and MP4 mux with VVC codec can be played on MPV libvvdec + xHE-AAC version. Only MP4 mixed with VVC supports seek.
See [MPV.md](MPV.md).
# LAVFilters VVC version x64
For more information about LAVFilters Windows VVC version.
See [LAVFilter folder](LAVFilter/README.md)
# Deprecated builds
Those deprecated builds were no new commits/codes after one year.
For Bitmovin VVDec Player, see [Bitmovin.md](Bitmovin.md).
For VLC o266player build, see [o266player.md](o266player.md).
# Compile for VVCEasy
### VVCEasy Batchfile Version (optional) (Windows only)
First, before you compile to VVCEasy Batchfile Version, you need Inno Setup to compile VVCEasy.
Inno Setup link: https://jrsoftware.org/isdl.php
Step 1: Clone VVCEasy git and open VVCEasy_compiler.iss
```
cd %userprofile%\Downloads
git clone https://github.com/MartinEesmaa/VVCEasy.git
git clone --depth=1 https://github.com/MartinEesmaa/VVCEasy && cd VVCEasy
VVCEasy_compiler.iss
```
Step 2: Before you compile, please replace example username by your username of LicenseFile, OutputDir and Source. See the image:
![Instructionsofcompilevvceasy](https://user-images.githubusercontent.com/88035011/153736145-a24a1997-1133-4933-8797-de7c62295d1d.png)
Step 3: Once you replaced of your username, press F9 to compile on your keyboard. After compiling, VVCEasy.exe (Installer) will be on your Downloads folder.
Step 3: Once you're replaced of your username, press F9 to compile on your keyboard. After compiling, VVCEasy.exe (Installer) will be on your Downloads folder.
![VVCEasyclickblueplaybutton](https://user-images.githubusercontent.com/88035011/153736303-b0949f5a-5ac5-4123-92c5-305211a8aadc.png)
# Compile of VVCEasy .NET Console version (optional)
---
First, before you compile to VVCEasy .NET Console version, you need .NET SDK x64.
### VVCEasy .NET Console Version (optional)
First, before you compile to VVCEasy .NET Console Version, you need .NET SDK x64 from Microsoft.
Link: https://dotnet.microsoft.com/en-us/download
Step 1: Clone git and cd VVCEasy
```
git clone https://github.com/MartinEesmaa/VVCEasy.git && cd VVCEasy
git clone --depth=1 https://github.com/MartinEesmaa/VVCEasy && cd VVCEasy
```
Step 2: Before you build, make sure to restore project, build and test it.
Step 2: Before you build, make sure to build it. Don't worry, when you build with .NET, it will restore project and build.
```
dotnet restore && dotnet build --no-restore && dotnet test --no-build --verbosity normal
dotnet build -c Release
```
Step 3: Once building is done, the build folder directory is bin/Debug
Step 3: Once building is done, the build folder directory is bin/Release
```
cd bin/debug
cd bin/Release
```
*Tip: You can run VVCEasy without building.*
```
dotnet run
```
# Encode/Decode (easy)
Before you run of RUNVVCEASY.bat or VVCEASY.exe, you need to change input from file name into input.mp4 (as example)
Follow the instructions, the commands will give your options. Since 21 October 2021, VVCEasy is pre-release, but it's construction mode, but you can have a look with .BAT code.
Before you run VVCEasy.bat or VVCEasy.exe, you need to change from your input video file name into input.mp4 (for example)
Follow the instructions, the commands will give you options. Since 21 October 2021, VVCEasy is pre-release, but it's construction mode, but you can have a look with .BAT source code.
- Martin Eesmaa
- Martin Eesmaa
# Without VVCEasy, experimental option for professional coders, other developers, and everyone (hard)
You need 7Zip (requires ffmpeg and ffplay), ffmpeg, ffplay, vvenc/vvdec(app) and YUView.
You need 7-Zip (requires ffmpeg and ffplay), ffmpeg, ffplay, vvenc/vvdec(app).
Here are the links:
FFMPEG/FFPLAY: https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z (go to bin folder and extract two files of ffmpeg and ffplay)
@ -115,9 +202,6 @@ Windows: https://github.com/MartinEesmaa/VVCEasy/blob/master/WindowsVVC/WindowsV
Mac: https://github.com/MartinEesmaa/VVCEasy/tree/master/MacOSVVC/MacOSVVC.7z
Linux: https://github.com/MartinEesmaa/VVCEasy/blob/master/LinuxVVC/LinuxVVC.7z
YUView:
https://github.com/IENT/YUView/actions/runs/1365560321
Before we start, you need to make path environments for ffmpeg, ffplay and vvenc/vvdec to make easily.
In Command Prompt (Windows):
@ -126,76 +210,124 @@ set PATH=%PATH%;C:\Users\blah\Downloads\VVCEasy\Executables
```
Verify path using Windows Command Prompt/Windows Terminal (CMD):
```
echo %PATH%
path
```
First:
Transcode any video formats to YUV/Y4M
**We recommend that you use from video to yuv/y4m for pixel format YUV420P, because YUV420P is smaller size than YUV420P10.**
**VVENC only supports pixel formats of YUV420 (8-bit) and YUV420_10 (10-bit), otherwise it will corrupt after vvc encoding.**
For YUV transcode (lossy from web quality, YouTube videos and others):
```
ffmpeg -i input.mp4 -strict 1 inputtranscode.yuv
ffmpeg -i input.mp4 -pix_fmt yuv420p inputtranscode.yuv
```
For Y4M transcode (lossless from uncompressed video files, only 8 bit):
```
ffmpeg -i input.mp4 -strict 1 inputtranscode.y4m
ffmpeg -i input.mp4 -pix_fmt yuv420p inputtranscode.y4m
```
Verify ffplay before encoding with VVENC (important replace video size, otherwise it will not correctly show video, it's like scrambled eggs video):
Verify uncompressed video using FFplay before encode to VVENC (important add video size after the input file, else it will not correctly show video like scrambled eggs video):
```
ffplay -f rawvideo -pix_fmt yuv420p -s 854x480 -i inputtranscode.yuv
ffplay inputtranscode.yuv -video_size 1280x720
```
Or replace -i inputtranscode.yuv with `-i inputtranscode.y4m` for y4m users. For yuv420p10 on your input video 10 bit, replace `-pixel_format yuv420p10`.
For easy to verify YUV/Y4M, use YUView, open your YUV or Y4M encoded, make sure video size, YUV/Y4M format and frame rate same like from input video file (e.g. MP4, AVI, MKV and others.
Default pixel format of ffplay for yuv and y4m is yuv420p without `-pix_fmt` command.
After verifying correctly your YUV/Y4M video
For y4m, replace `-i inputtranscode.yuv` with `-i inputtranscode.y4m`. In `-c:v wrapped_avframe` for y4m only, so you can verify to play Y4M (wrapped_avframe) for VLC, FFplay or MPV player. For yuv420p10 on your input video 10 bits, add `-pix_fmt yuv420p10`.
Playing FFplay for y4m video with wrapped_avframe, you don't need to put anything commands, just simple play this:
```
ffplay transcoded.y4m
```
For easy to verify YUV/Y4M, use YUView, open your YUV or Y4M encoded, make sure video size, YUV/Y4M format and frame rate same like from input video file (e.g., MP4, AVI, MKV and others).
After verifying correctly of your YUV/Y4M video
Encode with VVENC (Simple settings, example)
```
vvencapp -i out.yuv -s 854x480 -r 30 -o vvc.266
```
-s means video size, -r means frame per second and -o means output. Note: (Simple) as Default settings is YUV420P (8-bit)
`-s` means video size, `-r` means frame per second and `-o` means output. Note: (Simple) as Default settings is YUV420P (8-bit)
The default of VVENC: Constant Quality is 32 and speed is medium.
If you want to get smaller video size and lossy video, add --qp 38. (Not recommended)
If you want to get lossless video without losing quality, use CQ 16-19 and preset slow (optional slower). (Recommended, only Y4M, Raw and Uncompressed video files)
TIP: You could do the alternative without taking much disk space for uncompressed video (Y4M, recommended):
```
ffmpeg -i example.mp4 -pix_fmt yuv420p -f yuv4mpegpipe - | vvencapp --y4m -i - --preset medium --qp 35 -o converted.266
```
**PRO TIP: VVENC can detect your fps and video size for y4m file format, so you don't need to insert video size and frame per second of vvenc.**
**WARNING of vvenc pipe: VVENC does not support two-pass mode only when using pipe call/read from FFmpeg to vvenc.**
Or you could do legacy of YUV pipe video:
```
ffmpeg -i example.mp4 -pix_fmt yuv420p -f rawvideo - | vvencapp -i - -s 1920x1080 -r 25 --preset medium --qp 35 -o converted.266
```
**WARNING: If you encode from yuv/y4m of your frame rate is 11.988, 14.985, 23.976, 29.970 or 59.940 FPS, replace this command -r by --fps.**
11.988 fps = `--fps 12000/1001`
14.985 fps = `--fps 15000/1001`
23.976 fps = `--fps 24000/1001`
29.970 fps = `--fps 30000/1001`
59.940 fps = `--fps 60000/1001`
The default of VVENC: Quantization Parameter is 32 and preset is medium.
If you want to get smaller video size and lossy video, add `--qp 38`. (For web video or anything)
If you want to get lossless video without losing quality (visually lossless, minimum loss quality), use QP 16-19 and preset slow (optional slower). (Recommended for movies, camera footage or anything)
Lossy video/Smallest video size:
```
vvencapp --qp 38 -i out.yuv -s 854x480 -r 30 -o vvc.266
```
Lossless video (minimum loss quality, only Y4M, Raw, Uncompressed video used) (or compress smaller than preset slow, use --preset slower):
**NOTE 1: If you want to have true lossless on your video, please use H.264 Lossless video codec or VVC with vvencffapp command of CostMode Lossless**
**NOTE 1.1: In vvencffapp application, you can add command `--CostMode lossless`. Y4M accepts chroma subsampling 420 only, but YUV accepts 400, 420, 422 and 444.**
True lossless video of 8-bit and 10-bit 4:2:0:
```
vvencffapp -i test.y4m --CostMode lossless -qpa 1 -b test.266
```
Visually lossless video (or compress smaller than preset slow, use --preset slower):
```
vvencapp --qp 18 -i out.yuv -s 854x480 -r 30 --preset slow -o vvc.266
```
Note to Apple Mac OS and Linux users: Command with `./vvencapp`
For Apple macOS and Linux terminal users: Command with `./vvencapp`
Optional Windows Users using Windows PowerShell: Command with `.\vvencapp`
For Windows Users using Windows PowerShell: Command with `.\vvencapp`
Encode with VVENC (Best settings (lossless only of Y4M, Raw and Uncompressed video files), replace video size (-s), framerate (-r) and maximize threads of your cores (--threads), example) (Minimum loss quality) If you want true lossless video, use FFV1 latest version 3.4. (Necessary make smaller file slower than preset slow, use --preset slower)
Encode with VVENC (Best settings (visually lossless), replace video size (`-s`), frame rate (`-r`) and maximize threads of your cores (`--threads`), example) (Minimum loss quality) If you want true lossless video, use H.264 Lossless video codec or VVC with vvencffapp command of CostMode Lossless. (Necessary make smaller file (slower) than preset slow, use `--preset slower`)
```
vvencapp --qp 18 -i out.yuv -s 854x480 -r 30 --preset slow --threads 16 --tier high -o EXTREME.266
```
NOTE: It is acceptable only for encoding to .h266, .266 and .vvc file container.
Note to 10-bit YUV users: If you encode YUV 10 bit to VVC file, add `-c yuv420_10` before you type ending word of -o EXTREME.266.
Note to 10-bit YUV users: If you encode YUV 10 bit to VVC file, add `-c yuv420_10` before you type the ending word of -o EXTREME.266.
Note to 8-bit Y4M users: It is only from input video (8-bit) to Y4M (8 bit)
Note to 8-bit Y4M users: It's only from input video (8-bit) to Y4M (8 bit)
After VVEnc, you can play in YUView develop version, unfortunately this should not work on release version of June.
Drag any your video file of .h266, .266 or .vvc to play. YUView will play your video only about 10 seconds limit.
After encoding VVC, you can play using my custom VVCEasy build of [FFmpeg](https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md), [VLC](https://github.com/MartinEesmaa/VVCEasy/tree/master/INSTALLVLCPLUGIN) or [MPV](https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md).
Drag your video file of .h266, .266 or .vvc to play.
UPDATE 13th December 2021: VLC Media Player (custom VLC build of o266player, 3.0.11.1 Vetenari, Windows 11) is tested by Martin Eesmaa. It can play only about 600 frames limit / 20+ seconds.
![VLC Media Player (VVC test)](https://user-images.githubusercontent.com/88035011/145756567-d156f630-9e7f-4042-99b5-6ffe8a6b4b64.png)
If you are still not happy about VVC (known as Versatile Video Coding), that you think is too hard to encode and decode, use AOMEDIA ONE (AV1) that is recommended for most users to easily play VLC Media Player and others. VVC should need played on VLC Media Player in future.
If you are still not happy about VVC (known as Versatile Video Coding), that you think this is too hard to encode and decode, use AOMEDIA ONE (AV1) that is recommended for most users to easily play VLC Media Player and others. VVC should need played on VLC Media Player in future.
# Compatibility results (VVENC AND VVDEC) TEST COMPLETED BY MARTIN EESMAA
# Compatibility results (VVENC AND VVDEC) TESTED BY MARTIN EESMAA
Windows (vvencapp):
![WindowsVVENCDEC](https://user-images.githubusercontent.com/88035011/145812753-eddf04c5-1a10-4892-9118-7478735b1475.png)
@ -206,24 +338,103 @@ Mac (./vvencapp):
Linux (./vvencapp):
![UbuntuVVENCDEC](https://user-images.githubusercontent.com/88035011/145812781-9a270e03-0dc0-47e6-95ad-4316757d3435.png)
# FAQ (known as Frequently Asked Questions)
Are you real creator of VVCEasy?
Yes... but I'm not real creator of VVC, I didn't build VVC, so it was Fraunhofer that he built VVC.
Before you ask any question, please see the questions below.
Are you the real creator of VVCEasy?
Yes... but I'm not a real creator of VVC, I didn't built VVC, it was Fraunhofer HHI that he built VVC.
Are you trying to work build of VVCEasy?
Well yes... it takes longer time to make VVCEasy easier, but VVCEasy is not yet finished until further/update announcement. I don't have employees, so I'm only one.
Is it okay to bring proof screenshots of my errors?
I allow you to bring error screenshots, you can bring proof. More proofs, easier to solve it.
Well, yes... it takes longer time to make VVCEasy easier, but VVCEasy is not yet finished until further/update announcement. I don't have employees, so I'm the only one worker.
My question is not listed on FAQ. Can I ask any question?
Sure, just go to Issues tab, ask questions or/and give your issue to me.
Is it okay to bring my proof screenshots of errors?
Yes, you can bring error screenshots for your proof. More proof, easy to solve it.
My question is not listed on FAQ. Can I ask any question to you?
Sure, just go to Issues tab, ask questions or/and give your issue to me, I'd be happy to solve :).
Do you know what you have skills in your programming?
I know about Batch file and HTML programmer. Some hard programming languages might be difficult to me :/.
Update of 19th February 2022: Maybe I should make C# Console program, that will be easy of Windows, Mac and Linux multi support.
I know about batch file and HTML programming. Some hard programming languages might be difficult for me :/.
Update of 19th February 2022: Maybe I should make C# Console program, that will be easy for Windows, Mac and Linux multi support.
If you have any questions or/and any issues, please go to Issues tab and create your issue.
- Martin Eesmaa
Or you can chat us: https://matrix.to/#/#vvceasy:matrix.org
- Martin Eesmaa
# Credits & Licenses
[VVCEasy](https://github.com/MartinEesmaa/VVCEasy) - VVCEasy is easy VVC, that no need to compile.
License: MIT
© 2021-2023 [Martin Eesmaa](https://github.com/MartinEesmaa) (All rights reserved)
---
[Versatile Video Encoder](https://github.com/fraunhoferhhi/vvenc) - Fraunhofer Versatile Video Encoder (VVenC)
[Versatile Video Decoder](https://github.com/fraunhoferhhi/vvdec) - Fraunhofer Versatile Video Encoder (VVdeC)
[Versatile Video Decoder Web Player](https://github.com/fraunhoferhhi/vvdecWebPlayer) - A minimal proof-of-concept VVC player for the web using WebAssembly
License: BSD 3-Clause Clear License (all of three repositories)
© 2018-2023, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVC Authors. (All rights reserved)
GitHub: [Fraunhoferhhi](https://github.com/fraunhoferhhi)
---
[VLC VTM Decoder Plugin](https://github.com/InterDigitalInc/VTMDecoder_VLCPlugin) - VVC decoder plugin for VLC based on a multithreaded VTM
[VLC Original Version](https://code.videolan.org/videolan/vlc) - VLC Media Player
License: GPL Version 2 (VLC Original version) & LGPL-2.1 (VLC VTM Decoder Plugin)
© 2000-2023 [VLC Media Player](https://code.videolan.org/) Developers (All rights reserved)
© 2021-2023 [Inter Digital Inc](https://github.com/InterDigitalInc) (All rights reserved)
---
[BitMovin Versatile Video Decoder Player](https://github.com/bitmovin/vvDecPlayer) - BitMovin VVDecPlayer
License: MIT
© 2021-2022 [Christian Feldmann](https://github.com/ChristianFeldmann) (All rights reserved)
---
[FFmpeg](https://github.com/FFmpeg/FFmpeg) - Mirror of https://git.ffmpeg.org/ffmpeg.git
VVC developers & forkers: [Christian Lehmann](https://github.com/lehmann-c), [tbiat](https://github.com/tbiat), [Isabelle Santin](https://github.com/IsaMorphic) & [Martin Eesmaa](https://github.com/MartinEesmaa)
License: LGPL-2.1+ & GPL-2.0+
© 2000-2023 [FFmpeg developers](https://github.com/FFmpeg) (All rights reserved)
---
[mpv-android](https://github.com/mpv-android/mpv-android) - #mpv-android @ libera.chat
VVC developer & forker: [tbiat](https://github.com/tbiat) & [Martin Eesmaa](https://github.com/MartinEesmaa/mpv-android-vvc)
License: MIT
© 2016-2023 Ilya Zhuravlev, sfan5 & mpv developers (All rights reserved)
---
[GPAC/MP4BOX](https://github.com/gpac/gpac) - Modular Multimedia framework for packaging, streaming and playing your favorite content.
License: LGPL-2.1
© 2003-2023 [Jean Le Feuvre](https://github.com/jeanlf) & [GPAC developers/contributors](https://github.com/gpac/gpac/graphs/contributors)

View File

@ -1,385 +0,0 @@
echo off
pushd "%~dp0"
echo.
echo :: Checking For Administrator Elevation...
echo.
timeout /t 1 /nobreak > NUL
openfiles > NUL 2>&1
if %errorlevel%==0 (
echo Elevation found! Proceeding...
) else (
echo :: You are NOT running as Administrator
echo.
echo Right-click and select ^'Run as Administrator^' and try again.
echo Press any key to exit...
pause > NUL
exit
)
goto welcomenow
:welcomenow
cls
title Martin Eesmaa / VVCEasy
echo MARTIN EESMAA / VVCEasy
echo Welcome to VVCEasy. (Batchfile Beta Version, v.0.5.0)
pause
goto start
:start
title Martin Eesmaa / VVCEasy
color 07
cls
echo VVCEasy (Batchfile Beta Version, v.0.5.0)
echo What would you like to do for encode/decode of VVC?
echo 1. Encode
echo 2. Decode
echo 3. Help
echo 4. Exit
echo 5. Test path environment
echo 6. Install VLC Media Player (o266player, Windows x64)
echo 7. Install quickly through Anaconda for ffmpeg (Windows)
echo 8. Install VVdec Web Player
echo 9. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)
set /p VVCSTART=Number:
if %VVCSTART% == 1 goto encodestart
if %VVCSTART% == 2 goto decodestart
if %VVCSTART% == 3 goto help
if %VVCSTART% == 4 goto exit
if %VVCSTART% == 5 goto test
if %VVCSTART% == 6 goto vlc
if %VVCSTART% == 7 goto conda
if %VVCSTART% == 8 goto installvvdecweb
if %VVCSTART% == 9 goto decompresswin7z
:encodestart
title Encode to VVC
cls
echo Welcome to VVC encoder.
echo What do you like encode to VVC?
echo Before we move to settings quality, is your video lossy or lossless?
echo 1. Lossy (example YouTube videos, Web videos, lossy compressed videos, and other webs)
echo 2. Lossless (example XIPH Media, Camera uncompressed (MOV/MP4/AVI), Apple ProRes and others uncompressed files)
echo 3. Go back to menu
set /p vvencquestion1=Number:
if %vvencquestion1% == 1 goto losslessvvenc2
if %vvencquestion1% == 2 goto lossyvvenc2
if %vvencquestion1% == 3 goto start
:losslessvvenc2
title Lossless settings with Lossless uncompressed (VVC Encoder)
cls
echo Do you have Y4M?
echo If you have Y4M already, move your Y4M file into C:\Program Files\VVCEasy\
echo If you do not have Y4M, your instruction will go to next...
echo 1. I have Y4M already (I am ready)
echo 2. No, I am not ready yet (go back to previous)
echo If you don't have Y4M already... you need transcode file from your uncompressed file to Y4M.
echo Example: ffmpeg -i yourfile.mov -strict 1 yourfinal.y4m
echo Only 8-bit uncompressed movies input to Y4M.
set /p doyouhavey4mvvencquestion3=Number:
if %doyouhavey4mvvencquestion3% == 1 goto startlosslessvvenc2
if %doyouhavey4mvvencquestion3% == 2 goto encodestart
:startlosslessvvenc2
cls
title VVC ENCODER (Y4M LOSSLESS)
echo Before we start encode from your Y4M file to VVC file, I'm afraid I cannot do automatically for you.
echo You have to manually encode to VVC, the batchfile won't work.
echo Here is code: vvencapp --qp 18 -i yourinput.y4m -s 854x480 -r 30 --preset slow --threads 16 --tier high -o yourfinalvvc.266
echo YOU HAVE TO REPLACE VIDEO SIZE AND FRAME RATE. -s is video size and -r is frame rate.
echo INPUT VIDEO BIT DEPTH IS 8-BIT ONLY FOR UNCOMPRESSED MOVIE FILES.
pause
pause
goto start
:lossyvvenc2
title Lossy settings with Lossy compressed (VVC Encoder)
cls
echo Do you have YUV?
echo If you have YUV already, move your YUV file into C:\Program Files\VVCEasy\
echo If you do not have YUV, your instruction will go to next...
echo 1. I have YUV already (I am ready)
echo 2. No, I am not ready yet (go back to previous)
echo If you don't have Y4M already... you need transcode file from your lossy video file to YUV.
echo Example: ffmpeg -i yourfile.mp4 -strict 1 yourfinal.yuv
set /p doyouhaveyuvvvencquestion4=Number:
if %doyouhaveyuvvvencquestion4% == 1 goto startlossyvvenc2
if %doyouhaveyuvvvencquestion4% == 2 goto encodestart
:startlossyvvenc2
cls
title VVC ENCODER (YUV LOSSY)
echo Before we start encode from your YUV file to VVC file, I'm afraid I cannot do automatically for you.
echo You have to manually encode to VVC, the batchfile won't work.
echo Here is code: vvencapp --qp 38 -i yourinput.yuv -s 854x480 -r 30 -o youroutputlossy.266
echo YOU HAVE TO REPLACE VIDEO SIZE AND FRAME RATE. -s is video size and -r is frame rate.
echo You can also add for "--tier high" or/and 10-bit video "-c yuv420_10", if necessary.
pause
pause
goto start
:decodestart
explorer "C:\Program Files\VVCEasy\WindowsVVC"
cls
title Decode from VVC to YUV/Y4M
echo Do you want to transcode back from VVC to YUV or Y4M? Which did you choose settings? Choosing settings will transcode back.
echo You need copy from your VVC file to C:\Program Files\VVCEasy\WindowsVVC\. Windows Explorer will open automatically.
echo After copying your VVC file into VVCEasy folder, you need rename to VVC.vvc. It will transcode from your VVC file to YUV/Y4M.
echo After transcoding, your transcoded file should be: C:\Program Files\VVCEasy\transcodedback
echo Note, if you are using portable, like you git cloned VVCEasy or downloaded source files, go to your Downloads folder and select VVCEasy.
echo Portable won't work probably, you need copy from your Downloads folder\VVCEasy into Program Files\VVCEasy.
echo 1. YUV (lossy video VVC)
echo 2. Y4M (lossless video VVC)
set /p decodestart1=Number:
if %decodestart1% == 1 goto DECODESTARTFROMVVCTOYUV
if %decodestart1% == 2 goto DECODESTARTFROMVVCTOY4M
:DECODESTARTFROMVVCTOYUV
cls
title STARTING TRANSCODING BACK FROM VVC TO YUV...
mkdir transcodedback
cd WindowsVVC
vvdecapp -b VVC.vvc -o VVCTOYUV.yuv
move VVCTOYUV.yuv ../
move VVCTOYUV.yuv transcodedback
explorer "C:\Program Files\VVCEasy\transcodedback"
echo FINISHED. Going back to menu...
timeout 3
goto start
:DECODESTARTFROMVVCTOY4M
cls
title STARTING TRANSCODING BACK FROM VVC TO Y4M...
mkdir transcodedback
cd WindowsVVC
vvdecapp -b VVC.vvc --y4m -o VVCTOYUV.y4m
move VVCTOYUV.y4m ../
move VVCTOYUV.y4m transcodedback
explorer "C:\Program Files\VVCEasy\transcodedback"
echo FINISHED. Going back to menu...
timeout 3
goto start
:test
cls
title TEST PATH ENVIRONMENT
echo Martin Eesmaa is testing your paths, that you installed programs in PATH. Not sure, what is path?
echo You can go here for link: https://stackoverflow.com/questions/4910721/python-on-cmd-path
echo You can also search "What is PATH in Windows?" in DuckDuckGo or SearX.
echo Are you ready to test? (Y/N)
set /p readytestbefore=Answer:
if %readytestbefore% == Y goto nowtestingtime
if %readytestbefore% == N goto start
if %readytestbefore% == y goto nowtestingtime
if %readytestbefore% == n goto start
:nowtestingtime
title Testing time...
7z
ffmpeg
ffplay
wget
git
echo You need exit in Python for typing "exit()".
py
echo Did that work in your PATH? Y/N?
set /p testdidworkq=Answer:
if %testdidworkq% == Y goto youdidworktest
if %testdidworkq% == N goto ahhdidnotwork
if %testdidworkq% == y goto youdidworktest
if %testdidworkq% == n goto ahhdidnotwork
:youdidworktest
title Great!
echo Great, your PATHS working now. Now back to menu...
timeout 3
goto start
:ahhdidnotwork
title Sorry...
echo Sorry, your path environment did not work. Make sure follow that needs to be add it on paths installation like Python.
echo Still not working? You can ask question in Stack Overflow.
pause
goto start
:exit
cls
title Have a wonderful day!
echo Have a wonderful day! Thank you for using VVCEasy. :)
::: _ _ _
::: | | | | | |
::: | |_| |__ __ _ _ __ | | ___ _ ___ _ _
::: | __| '_ \ / _` | '_ \| |/ / | | |/ _ \| | | |
::: | |_| | | | (_| | | | | <| |_| | (_) | |_| |
::: \__|_| |_|\__,_|_| |_|_|\_\\__, |\___/ \__,_|
::: __/ |
::: |___/
::: __ ____ _______ ______
::: \ \ / /\ \ / / ____| ____|
::: \ \ / / \ \ / / | | |__ __ _ ___ _ _
::: \ \/ / \ \/ /| | | __| / _` / __| | | |
::: \ / \ / | |____| |___| (_| \__ \ |_| |
::: \/ \/ \_____|______\__,_|___/\__, |
::: __/ |
::: |___/
::: __ __ _ _ ______
::: | \/ | | | (_) | ____|
::: | \ / | __ _ _ __| |_ _ _ __ | |__ ___ ___ _ __ ___ __ _ __ _
::: | |\/| |/ _` | '__| __| | '_ \ | __| / _ \/ __| '_ ` _ \ / _` |/ _` |
::: | | | | (_| | | | |_| | | | | | |___| __/\__ \ | | | | | (_| | (_| |
::: |_| |_|\__,_|_| \__|_|_| |_| |______\___||___/_| |_| |_|\__,_|\__,_|
for /f "delims=: tokens=*" %%A in ('findstr /b ::: "%~f0"') do @echo(%%A
echo Copyright 2021 Martin Eesmaa
echo ------------END----------------
timeout 5 /nobreak
exit
:vlc
color 6F
title VLC Media Player (custom build of o266player)
cls
echo Hello, would you like to install VLC Media Player (v3.0.11.1 Vetinari, custom build of o266player) on your computer?
echo Before you install...
echo The VLC Media Player (custom build of o266player) works only on Windows 7 / Windows Server 2012 or earlier versions.
echo Windows Vista and older versions will not work, including Windows 8.0 won't work too, because it could be terminal error or/and cannot decode VVC format.
echo You need 64-bit / x64 to run VLC custom build. On 32-bit / x86, it will not work to run.
echo Note: Some operating system work VLC custom build on Virtualbox and VMware. Real machines can all almost run Windows versions, like Windows Server 2016.
echo Reminder: I'm not kinda sure about this, I hope should you're running on real machine, that means it needs to be working to load VVC video format.
echo Install? Y/N?
set /p vlcinstall=Answer:
if %vlcinstall% == Y goto vlcinstaller
if %vlcinstall% == N goto start
if %vlcinstall% == y goto vlcinstaller
if %vlcinstall% == n goto start
:vlcinstaller
wget https://www.dropbox.com/s/hs7yoa9hkxa6ugd/vlc-3.0.11.1-w64.7z
mkdir VLC
copy 7-Zip VLC
move vlc-3.0.11.1-w64.7z VLC
cd VLC
del /q readme.txt
del /q license.txt
del /q History.txt
7z x vlc-3.0.11.1-w64.7z
del /q 7z.dll
del /q 7z.exe
del /q vlc-3.0.11.1-w64.7z
cd ../
color 6E
cls
echo SUCCESSFUL! Now, would you like to download test sample VVC file test it out to VLC custom build of o266player?
echo If yes, wget will download the example of VVC file and run to VLC a few seconds.
echo If No, you will be prompted go back to menu.
echo TIP: Run VLC.exe on your own VVC file for example, if your input frame rate is 30 and you encoded to VVC same frame rate input file.
echo Example to run correctly frame rate on your VVC of VLC command: vlc.exe yourownfile.266 --no-drop-late-frames --avformat-fps=30
set /p vlccompleted=Answer:
if %vlccompleted% == Y goto sample266
if %vlccompleted% == N goto start
if %vlccompleted% == y goto sample266
if %vlccompleted% == n goto start
:sample266
color 07
wget https://www.dropbox.com/s/zp8b3xg0b5p1pwe/VVCEasy.266
move VVCEasy.266 VLC
cd VLC
echo Note, if VLC modified version is not starting, try to run VLC Verified and Modified Version on your computer?
vlc.exe VVCEasy.266 --no-drop-late-frames --avformat-fps=24
cd ../
echo OK! Test completed successfully!
timeout 5
goto start
:conda
cls
title ANACONDA
echo Welcome to Anaconda Quick Install. This will only one task for ffmpeg. Would you like to install? Y/N?
set /p anacondaman=Answer:
if %anacondaman% == Y goto condainstall
if %anacondaman% == N goto start
if %anacondaman% == y goto condainstall
if %anacondaman% == n goto start
:condainstall
conda install -c conda-forge ffmpeg
echo SUCCESS, going to back menu...
pause
goto start
:help
cls
echo Welcome to VVCEasy help instructions!
echo Here is tutorial about... How to use VVCEasy?
pause
echo Step 1: Run on VVCEasy.bat. When you see the screen of Welcome to VVCEasy. You can press any key continue to main menu.
echo Step 2: Here are the list of main menus, that you need type any number will go to direction like (goto) command.
echo Step 3: Follow the command instructions and that is easy.
pause
echo If you have any problems that you do not understand of VVCEasy. Please contact to Martin Eesmaa by creating issues for questions or/and problems.
echo Do you want to start over help instructions? If yes, then it will go back from beginning. If No, going to back menu. Y/N?
set /p helper=Answer:
if %helper% == Y goto help
if %helper% == N goto start
if %helper% == y goto help
if %helper% == n goto start
:installvvdecweb
cls
title VVdec Web Player.
echo Welcome to VVDEC Web Player.
echo By installing, you will have to agree to download VVDec Web Player from Fraunhoferhhi GitHub.
echo See the code of VVDEC Web Player: https://github.com/fraunhoferhhi/vvdecWebPlayer
echo When you agree to install, it will clone of VVDec Web Player repository using git. After git, we will copy from VVDECWEBINSTALL files into vvdecWebPlayer/bin folder.
echo After all of that, we will run Python to start web server of your localhost port 8000.
echo Would you like to install of VVDEC Web Player?
set /p okletsdoit=Answer:
if %okletsdoit% == Y goto installnowplayer
if %okletsdoit% == N goto start
if %okletsdoit% == y goto installnowplayer
if %okletsdoit% == n goto start
:installnowplayer
cls
title INSTALLING VVDEC WEB PLAYER...
git clone https://github.com/fraunhoferhhi/vvdecWebPlayer.git
copy vvdecapp.js ../vvdecWebPlayer/bin
copy vvdecapp.worker.js ../vvdecWebPlayer/bin
copy vvdecapp.wasm ../vvdecWebPlayer/bin
cd vvdecWebPlayer
wget https://www.dropbox.com/s/zp8b3xg0b5p1pwe/VVCEasy.266
rename VVCEasy.266 dummy_raw_bitstream.266
echo Note: If you want to go back to menu, press CTRL + C on your keyboard in Windows Terminal/CMD and type "Y" to terminate server and this will go back to main menu options.
echo The python file is porting 8000 on your localhost computer.
py wasm_test-server.py
cd ../
echo Thanks for trying out of VVDEC Web Player. If you want to run on your VVDEC Web Player Server, go to folder of vvdecWebPlayer and run one click wasm_test-server.py.
echo Press any key to go back menu.
timeout 10
goto start
:decompresswin7z
cls
title WindowsVVC.7z (decompressing)
echo Decompressing........
cd WindowsVVC
7z x WindowsVVC.7z
certutil -hashfile vvencapp.exe SHA512
certutil -hashfile vvdecapp.exe SHA512
certutil -hashfile vvencFFapp.exe SHA512
certutil -hashfile vvencinterfacetest.exe SHA512
certutil -hashfile vvenclibtest.exe SHA512
rename SHA512SUMS SHA512SUMS.txt
SHA512SUMS.txt
echo Now please make sure double check that needs to be same hash. If it is matches hash same as .exe of SHA512SUMS.txt and CertUtil. That means good.
echo If the hashes are not matched correctly, please contact Martin Eesmaa for problem.
pause
echo Thank you for decompressing WindowsVVC.7z... Now back to menu.
timeout 3
goto start

23
SOCIALMEDIA.md Normal file
View File

@ -0,0 +1,23 @@
# Martin Eesmaa's social media links
YouTube: https://www.youtube.com/channel/UC8uLpZMsXjU3G3etHj4rr1Q
Reddit: [u/MartinEesmaa](https://reddit.com/u/MartinEesmaa)
Pastebin: https://pastebin.com/u/MartinEesmaa
Github: [MartinEesmaa](https://github.com/MartinEesmaa)
Gitlab: [MartinEesmaa](https://gitlab.com/MartinEesmaa)
LinkedIn: https://www.linkedin.com/in/martin-eesmaa-4b355587/
Wikipedia: [MartinHero13](https://en.wikipedia.org/wiki/User:MartinHero13)
Imgur: [MartinHero13](https://imgur.com/user/MartinHero13)
Doom9 Forum: [MartinEesmaa](https://forum.doom9.org/member.php?u=248978)
Hydrogenaudio account (registered members to view my profile or search my username of Hydrogenaudio to see posts/replies in web search engine): [MartinEesmaa](https://hydrogenaud.io/index.php?action=profile;u=160252)
- Martin Eesmaa

17
THANKS.md Normal file
View File

@ -0,0 +1,17 @@
# Thanks for recommending my VVCEasy software!
See the lists:
- ¡Gracias, TRASTARO! [Eletrolado.net](https://www.elotrolado.net/hilo_fraunhofer-versatile-video-coding-h266-el-rival-para-av1_2386654#p1752441408)
- Спасибі, Снеговик ХФорума (Forum Snowman)! Стойте з Україною! [Kharkov Forum #StandwithUkraine](https://www.kharkovforum.com/showthread.php?p=70577507#post70577507)
- ありがとう, ネクストスケープ (delsoladmin)! [NEXTSPACE Streaming Tech Blog](https://media-streaming.nextscape.net/blog/1153/)
- Thank you, Doom9 Forum Community! Search "VVCEasy" on Doom9 Forum.
- Danke, LigH (@LigH-de)! [My issue mention of xHE-AAC](https://forum.doom9.org/showthread.php?p=1970068&highlight=Martin+Eesmaa#post1970068)
- Thanks, Artem! [VVCEasy thread](https://forum.doom9.org/showthread.php?p=1974413#post1974413)
- Martin Eesmaa (@MartinEesmaa)

BIN
VVCEasy.266 Normal file

Binary file not shown.

571
VVCEasy.bat Normal file
View File

@ -0,0 +1,571 @@
echo off
set welcometitle=Martin Eesmaa / VVCEasy
set version=v2.0.0
set versionname=Party of Martin Eesmaa's birthday at age 18.
set vvceasydate=22 June 2023
pushd "%~dp0"
cls
REM === check and get the UAC for administrator privilege ===
REM === code from https://sites.google.com/site/eneerge/scripts/batchgotadmin
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
if '%1' EQU '1' (
echo Cannot elevate administrator privilege
echo Please try again with "Run as Administrator"
echo Installation failed.
pause
exit /B
) else (
echo Requesting administrative privileges...
goto UACPrompt
)
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "1", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
goto welcomenow
:welcomenow
cls
title %welcometitle%
echo %welcometitle%
echo Welcome to VVCEasy. (Batch file Release Version, %version%, %vvceasydate%)
echo Version codename: %versionname%
pause
goto start
:start
title %welcometitle%
color 07
cls
echo VVCEasy (Batchfile Release Version, %version%, %vvceasydate%)
echo Version codename: %versionname%
echo.
echo What would you like to do to encode/decode of VVC?
echo 1. Encode
echo 2. Decode
echo 3. Help
echo 4. Exit
echo 5. Install/Test path environment.
echo 6. Install quickly through Anaconda (Python distribution) for FFmpeg (Windows)
echo 7. Install/Update VVdec Web Player
echo 8. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)
echo 9. Install vvDecPlayer from BitMovin
echo 10. Install/Update VLC VTM Plugins (Windows/Linux x64 of VLC plugins by Inter Digital Inc)
echo 11. Install FFmpeg VVDec support.
echo 12. Install MPV Windows/Android (libvvdec plugin)
echo 13. Tests of VVC videos
set /p VVCSTART=Number:
if "%VVCSTART%" == "1" goto encodestart
if "%VVCSTART%" == "2" goto decodestart
if "%VVCSTART%" == "3" goto help
if "%VVCSTART%" == "4" goto exit
if "%VVCSTART%" == "5" goto test
if "%VVCSTART%" == "6" goto conda
if "%VVCSTART%" == "7" goto installvvdecweb
if "%VVCSTART%" == "8" goto decompresswin7z
if "%VVCSTART%" == "9" goto installbitmovin
if "%VVCSTART%" == "10" goto vlcvtmplugininstall
if "%VVCSTART%" == "11" goto ffmpegvvdec
if "%VVCSTART%" == "12" goto mpvandroidvvc
if "%VVCSTART%" == "13" goto testsofvideo
echo Invalid input. Please enter a number between 1 and 13.
pause
goto start
:encodestart
title Encode to VVC
cls
echo Welcome to VVC encoder.
echo What do you like to encode to VVC?
echo Before we move to settings quality, is your video lossy or lossless?
echo 1. Lossy (example YouTube videos, Web videos, lossy compressed videos, and other webs)
echo 2. Lossless (example XIPH Media, Camera uncompressed (MOV/MP4/AVI), Apple ProRes and others uncompressed files)
echo 3. Go back to the menu.
set /p vvencquestion1=Number:
if "%vvencquestion1%" == 1 goto losslessvvenc2
if "%vvencquestion1%" == 2 goto lossyvvenc2
if "%vvencquestion1%" == 3 goto start
:losslessvvenc2
title Lossless settings with Lossless uncompressed (VVC Encoder)
cls
echo Do you have Y4M?
echo If you have Y4M already, move your Y4M file into C:\Program Files\VVCEasy\
echo If you do not have Y4M, your instruction will go to next...
echo 1. I have Y4M already (I am ready)
echo 2. No, I am not ready yet (go back to previous)
echo If you don't have Y4M already... you need transcode file from your uncompressed file to Y4M.
echo Example: ffmpeg -i yourfile.mov -strict 1 yourfinal.y4m
echo Only 8-bit uncompressed movies input to Y4M.
set /p doyouhavey4mvvencquestion3=Number:
if "%doyouhavey4mvvencquestion3%" == 1 goto startlosslessvvenc2
if "%doyouhavey4mvvencquestion3%" == 2 goto encodestart
:startlosslessvvenc2
cls
title VVC ENCODER (Y4M LOSSLESS)
echo Before we start encoding from your Y4M file to VVC file, I'm afraid I cannot do automatically for you.
echo You must manually encode to VVC, the batchfile won't work.
echo Here is code: vvencapp --qp 18 -i yourinput.y4m -s 854x480 -r 30 --preset slow --threads 16 --tier high -o yourfinalvvc.266
echo YOU HAVE TO REPLACE VIDEO SIZE AND FRAME RATE. -s is video size and -r is frame rate.
echo INPUT VIDEO BIT DEPTH IS 8-BIT ONLY FOR UNCOMPRESSED MOVIE FILES.
pause
goto start
:lossyvvenc2
title Lossy settings with Lossy compressed (VVC Encoder)
cls
echo Do you have YUV?
echo If you have YUV already, move your YUV file into C:\Program Files\VVCEasy\
echo If you do not have YUV, your instruction will go to next...
echo 1. I have YUV already (I am ready)
echo 2. No, I am not ready yet (go back to previous)
echo If you don't have Y4M already... you need transcode file from your lossy video file to YUV.
echo Example: ffmpeg -i yourfile.mp4 -strict 1 yourfinal.yuv
set /p doyouhaveyuvvvencquestion4=Number:
if "%doyouhaveyuvvvencquestion4%" == 1 goto startlossyvvenc2
if "%doyouhaveyuvvvencquestion4%" == 2 goto encodestart
:startlossyvvenc2
cls
title VVC ENCODER (YUV LOSSY)
echo Before we start encoding from your YUV file to VVC file, I'm afraid I cannot do automatically for you.
echo You must manually encode to VVC, the batchfile won't work.
echo Here is code: vvencapp --qp 38 -i yourinput.yuv -s 854x480 -r 30 -o youroutputlossy.266
echo YOU HAVE TO REPLACE VIDEO SIZE AND FRAME RATE. -s is video size and -r is frame rate.
echo You can also add for "--tier high" or/and 10-bit video "-c yuv420_10", if necessary.
pause
goto start
:decodestart
explorer "C:\Program Files\VVCEasy\WindowsVVC"
cls
title Decode from VVC to YUV/Y4M
echo Do you want to transcode back from VVC to YUV or Y4M? Which did you choose settings? Choosing settings will transcode back.
echo You need copy from your VVC file to C:\Program Files\VVCEasy\WindowsVVC\. Windows Explorer will open automatically.
echo After copying your VVC file into VVCEasy folder, you need rename to VVC.vvc. It will transcode from your VVC file to YUV/Y4M.
echo After transcoding, your transcoded file should be: C:\Program Files\VVCEasy\transcodedback
echo Note, if you are using portable, like your git cloned VVCEasy or downloaded source files, go to your Downloads folder and select VVCEasy.
echo Portable won't work probably, you need copy from your Downloads folder\VVCEasy into Program Files\VVCEasy.
echo 1. YUV (lossy video VVC)
echo 2. Y4M (lossless video VVC)
set /p decodestart1=Number:
if "%decodestart1%" == 1 goto DECODESTARTFROMVVCTOYUV
if "%decodestart1%" == 2 goto DECODESTARTFROMVVCTOY4M
:DECODESTARTFROMVVCTOYUV
cls
title STARTING TRANSCODING BACK FROM VVC TO YUV...
mkdir transcodedback
cd WindowsVVC
vvdecapp -b VVC.vvc -o VVCTOYUV.yuv
move VVCTOYUV.yuv ../
move VVCTOYUV.yuv transcodedback
explorer "C:\Program Files\VVCEasy\transcodedback"
echo FINISHED. Going back to the menu...
timeout 3
goto start
:DECODESTARTFROMVVCTOY4M
cls
title STARTING TRANSCODING BACK FROM VVC TO Y4M...
mkdir transcodedback
cd WindowsVVC
vvdecapp -b VVC.vvc --y4m -o VVCTOYUV.y4m
move VVCTOYUV.y4m ../
move VVCTOYUV.y4m transcodedback
explorer "C:\Program Files\VVCEasy\transcodedback"
echo FINISHED. Going back to the menu...
timeout 3
goto start
:test
cls
title INSTALL/TEST PATH ENVIRONMENT
echo Martin Eesmaa is testing your paths, that you installed programs in PATH. Not sure, what is path?
echo You can go here for link: https://stackoverflow.com/questions/4910721/python-on-cmd-path
echo Also you can also search "What is PATH in Windows?" in DuckDuckGo or SearX.
echo Are you ready to test? (Y/N) or type "I" to install path environment.
set /p readytestbefore=Answer:
if "%readytestbefore%" == Y goto nowtestingtime
if "%readytestbefore%" == N goto start
if "%readytestbefore%" == y goto nowtestingtime
if "%readytestbefore%" == n goto start
if "%readytestbefore%" == I goto installpath
if "%readytestbefore%" == i goto installpath
:nowtestingtime
title Testing time...
7z
ffmpeg
ffplay
wget
git
echo You need exit in Python for typing "exit()".
python
echo Did that work in your PATH? Y/N?
set /p testdidworkq=Answer:
if "%testdidworkq%" == Y goto youdidworktest
if "%testdidworkq%" == N goto ahhdidnotwork
if "%testdidworkq%" == y goto youdidworktest
if "%testdidworkq%" == n goto ahhdidnotwork
:youdidworktest
title Great!
echo Great, your PATHS working now. Now back to the menu...
timeout 3
goto start
:ahhdidnotwork
title Sorry...
echo Sorry, your path environment did not work. Make sure follow that needs to be add it on paths installation like Python.
echo Still not working? You can ask questions in Stack Overflow.
pause
goto start
:installpath
echo Installer path environment will be only for 7-Zip.
echo Other programs should need manual, but Python, FFmpeg, wget and git must be installed manually and add automatically path environments.
echo Do you want patch 7-Zip on your path environment, so you can type "7z" next time.
echo Would you like to install 7-Zip on your path environments? Y/N? No means go back to test menu.
set /p installpath1=Answer:
if "%installpath1%" == Y goto installingpath
if "%installpath1%" == N goto test
if "%installpath1%" == y goto installingpath
if "%installpath1%" == n goto test
:installingpath
title INSTALLING 7-ZIP on your path environments...
echo INSTALLING 7-ZIP on your path environments...
set PATH=%PATH%;C:\Program Files\7-Zip
echo DONE!
echo Returning to test menu...
timeout 3 /nobreak
goto test
:exit
cls
title Have a wonderful day!
echo Have a wonderful day! Thank you for using VVCEasy. :)
::: _ _ _
::: | | | | | |
::: | |_| |__ __ _ _ __ | | ___ _ ___ _ _
::: | __| '_ \ / _` | '_ \| |/ / | | |/ _ \| | | |
::: | |_| | | | (_| | | | | <| |_| | (_) | |_| |
::: \__|_| |_|\__,_|_| |_|_|\_\\__, |\___/ \__,_|
::: __/ |
::: |___/
::: __ ____ _______ ______
::: \ \ / /\ \ / / ____| ____|
::: \ \ / / \ \ / / | | |__ __ _ ___ _ _
::: \ \/ / \ \/ /| | | __| / _` / __| | | |
::: \ / \ / | |____| |___| (_| \__ \ |_| |
::: \/ \/ \_____|______\__,_|___/\__, |
::: __/ |
::: |___/
::: __ __ _ _ ______
::: | \/ | | | (_) | ____|
::: | \ / | __ _ _ __| |_ _ _ __ | |__ ___ ___ _ __ ___ __ _ __ _
::: | |\/| |/ _` | '__| __| | '_ \ | __| / _ \/ __| '_ ` _ \ / _` |/ _` |
::: | | | | (_| | | | |_| | | | | | |___| __/\__ \ | | | | | (_| | (_| |
::: |_| |_|\__,_|_| \__|_|_| |_| |______\___||___/_| |_| |_|\__,_|\__,_|
for /f "delims=: tokens=*" %%A in ('findstr /b ::: "%~f0"') do @echo(%%A
echo.
echo Copyright (C) 2021-2022 Martin Eesmaa
echo.
echo ------------ END OF THE PROGRAM ----------------
timeout 5 /nobreak
exit
:conda
cls
title ANACONDA (PYTHON DISTRIBUTION)
echo Welcome to Anaconda (Python Distribution) Quick Install. This will do only one task to download FFmpeg. Would you like to install? Y/N?
set /p anacondaman=Answer:
if "%anacondaman%" == Y goto condainstall
if "%anacondaman%" == N goto start
if "%anacondaman%" == y goto condainstall
if "%anacondaman%" == n goto start
:condainstall
conda install -c conda-forge ffmpeg
echo SUCCESS, going to back the menu...
pause
goto start
:help
cls
echo Welcome to VVCEasy help instructions!
echo Here is tutorial about... How to use VVCEasy?
pause
echo Step 1: Run on VVCEasy.bat. When you see the screen of Welcome to VVCEasy. You can press any key continue to main menu.
echo Step 2: Here is the list of main menus, that you need type any number will go to direction like (goto) command.
echo Step 3: Follow the command instructions and that is easy.
pause
echo If you have any problems that you do not understand VVCEasy. Please contact Martin Eesmaa by creating issues for questions or/and problems.
echo Do you want to start over help instructions? If yes, then it will go back from the beginning. If No, going to back menu. Y/N?
set /p helper=Answer:
if "%helper%" == Y goto help
if "%helper%" == N goto start
if "%helper%" == y goto help
if "%helper%" == n goto start
:installvvdecweb
cls
title VVdec Web Player.
echo Welcome to VVDEC Web Player.
echo By installing, you will have to agree to download VVDec Web Player from Fraunhoferhhi GitHub.
echo See the code of VVDEC Web Player: https://github.com/fraunhoferhhi/vvdecWebPlayer
echo When you agree to install, it will clone VVDec Web Player repository using git. After git, we will copy from VVDECWEBINSTALL files into vvdecWebPlayer/bin folder.
echo After all of that, we will run Python to start web server of your localhost port 8000.
echo If you already have installed of VVDec Web Player, you can type "U" to update files of VVDec Web Player.
echo Would you like to install VVDEC Web Player?
set /p okletsdoit=Answer:
if "%okletsdoit%" == Y goto installnowplayer
if "%okletsdoit%" == N goto start
if "%okletsdoit%" == y goto installnowplayer
if "%okletsdoit%" == n goto start
if "%okletsdoit%" == U goto updatevvdecwebplayer
if "%okletsdoit%" == u goto updatevvdecwebplayer
:installnowplayer
cls
title INSTALLING VVDEC WEB PLAYER...
git clone https://github.com/fraunhoferhhi/vvdecWebPlayer.git
copy VVDECWEBINSTALL "vvdecWebPlayer/bin" /y
cd vvdecWebPlayer
wget https://www.dropbox.com/s/zp8b3xg0b5p1pwe/VVCEasy.266
rename VVCEasy.266 dummy_raw_bitstream.266
echo Note: If you want to go back to menu, press CTRL + C on your keyboard in Windows Terminal/CMD and type "Y" to terminate server and this will go back to main menu options.
echo The python file is porting 8000 on your local host computer.
python wasm_test-server.py
cd ../
echo Thanks for trying out VVDEC Web Player. If you want to run on your VVDEC Web Player Server, go to folder of vvdecWebPlayer and run one click wasm_test-server.py.
echo Press any key to go back menu.
timeout 10
goto start
:updatevvdecwebplayer
cls
title UPDATING VVDEC WEB PLAYER...
echo UPDATING VVDEC WEB PLAYER...
cd vvdecWebPlayer
git pull
cd ../
echo Your up to date is now latest.
echo Returning to main menu...
timeout 3
goto start
:decompresswin7z
cls
title WindowsVVC.7z (decompressing)
echo Decompressing........
cd WindowsVVC
7z x WindowsVVC.7z
certutil -hashfile vvencapp.exe SHA512
certutil -hashfile vvdecapp.exe SHA512
certutil -hashfile vvencFFapp.exe SHA512
certutil -hashfile vvencinterfacetest.exe SHA512
certutil -hashfile vvenclibtest.exe SHA512
rename SHA512SUMS SHA512SUMS.txt
SHA512SUMS.txt
echo Now please make sure double check that needs to be same hash. If it matches hash same as .exe of SHA512SUMS.txt and CertUtil. That means good.
echo If the hashes are not matched correctly, please contact and create issue to Martin Eesmaa/VVCEasy on GitHub for your own problem.
pause
echo Thank you for decompressing WindowsVVC.7z... Now back to the menu.
timeout 3
goto start
:installbitmovin
cls
title Install BitVVDecPlayer from BitMovin
echo Would you like to install on your operating system?
echo Windows for W, Mac OS for M and Linux for L, Main Menu for N/n.
set /p installbitmovind=Answer:
if "%installbitmovind%" == W goto installbitmovin1windows
if "%installbitmovind%" == w goto installbitmovin1windows
if "%installbitmovind%" == M goto installbitmovin1macos
if "%installbitmovind%" == m goto installbitmovin1macos
if "%installbitmovind%" == L goto installbitmovin1linux
if "%installbitmovind%" == l goto installbitmovin1linux
if "%installbitmovind%" == N goto start
if "%installbitmovind%" == n goto start
:installbitmovin1windows
title Installing BitVVDecPlayer from BitMovin...
echo Installing BitVVDecPlayer from BitMovin...
mkdir BitVVDecPlayerWIN
cd BitVVDecPlayerWIN
echo Downloading BitVVDecPlayer (Windows) from Bitmovin, compiled by Martin Eesmaa
wget https://www.dropbox.com/s/75ouoeadcr2cl53/BitVVDecPlayerWIN.7z
7z x BitVVDecPlayerWIN.7z
del /q BitVVDecPlayerWIN.7z
vvDecPlayer
echo Successfully running on BitVVDecPlayer, now if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
echo If you receive error, that MSVCP140.DLL is missing, you might need download Microsoft Visual C++ Redistributable of 2015-2017-2019-2022: https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
echo To build vvDecPlayer, please go to https://github.com/bitmovin/vvDecPlayer
echo Or contact Bitmovin at https://www.bitmovin.com or create issue on VVCEasy.
goto downloadbitmovinvvcsample
:installbitmovin1macos
title Installing BitVVDecPlayer from BitMovin...
echo Installing BitVVDecPlayer from BitMovin...
mkdir BitVVDecPlayerMAC
cd BitVVDecPlayerMAC
echo Downloading BitVVDecPlayer (macOS) from Bitmovin, compiled by Martin Eesmaa
wget https://www.dropbox.com/s/ilsoica7c8dh4hq/BitVVDecPlayerMAC.7z
7z x BitVVDecPlayerMAC.7z
del /q BitVVDecPlayerMAC.7z
./vvDecPlayer
echo Successfully running on vvDecPlayer, now if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
echo If vvDecPlayer won't work probably, it might be issue that you haven't installed Qt on your Mac OS. Please install using code: "brew install qt" on Homebrew.
echo To build vvDecPlayer, please go to https://github.com/bitmovin/vvDecPlayer
echo Or contact Bitmovin at https://www.bitmovin.com or create issue on VVCEasy.
echo For more information, see Bitmovin.md.
goto downloadbitmovinvvcsample
:installbitmovin1linux
title Installing BitVVDecPlayer from BitMovin...
echo Installing BitVVDecPlayer from BitMovin...
mkdir BitVVDecPlayerLINUX
cd BitVVDecPlayerLINUX
echo Downloading BitVVDecPlayer (Linux) from Bitmovin, compiled by Martin Eesmaa
wget https://www.dropbox.com/s/bihm3pyh21lcvte/BitVVDecPlayerLINUX.7z?dl=0
7z x BitVVDecPlayerLINUX.7z
del /q BitVVDecPlayerLINUX.7z
./vvDecPlayer
echo Successfully running on vvDecPlayer, now if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
echo Note, this is only Ubuntu 20.04 LTS build.
echo If you're running other Linux without Ubuntu 20.04, you might need to read Bitmovin.md instructions and build vvDecPlayer yourself.
echo To build vvDecPlayer, please go to https://github.com/bitmovin/vvDecPlayer
echo If vvDecPlayer won't work probably, it might be issue that you haven't installed Qt on your Linux. Please install using code: "sudo apt install qt5-default build-essential" on Linux terminal.
echo Or contact Bitmovin at https://www.bitmovin.com or create issue on VVCEasy.
goto downloadbitmovinvvcsample
:downloadbitmovinvvcsample
echo Would you like to download VVC sample video files from Bitmovin? Y/N?
set /p vvcsampleyeah=Answer:
if "%vvcsampleyeah%" == Y goto downloadvvcnowbit
if "%vvcsampleyeah%" == y goto downloadvvcnowbit
if "%vvcsampleyeah%" == N goto start
if "%vvcsampleyeah%" == n goto start
:downloadvvcnowbit
title Downloading VVC sample files and Coffee Run JSON & Sprite Fright JSON... from Bitmovin
echo Downloading VVC sample files and Coffee Run JSON & Sprite Fright JSON from Bitmovin...
wget "https://www.dropbox.com/s/qncefmnhw8hzr2k/vvcBlogPostDemo.7z" "https://www.dropbox.com/s/ogxw1pz9pr9bphi/CoffeeRun.json" "https://www.dropbox.com/s/6kpnoin4bwzb1ob/SpriteFright.json"
echo Extracting from archived file...
7z x vvcBlogPostDemo.7z
echo Deleting archived file...
del /q vvcBlogPostDemo.7z
title Installation of BitVVDecPlayer
echo Please edit the location downloaded folder of vvcBlogPostDemo...
CoffeeRun.json && SpriteFright.json
echo Press any key, when you finished configured of your location folder...
pause
echo Okay, it seems you configured completely. Please run on vvDecPlayer on your operating system.
echo Go to File, then Open JSON manifest in BitVVDecPlayer...
echo Select JSON file to run VVC movie and enjoy it.
echo Still not working? Please chat us on https://matrix.to/#/#vvceasy:matrix.org to solve your problem or add new issue on GitHub.
pause
goto start
:vlcvtmplugininstall
cls
title VLC VTM Plugins Install (Windows & Linux)
echo Welcome to VLC Media Player of VTM Plugins Installation.
echo You need to run Windows version of Windows Vista / Windows Server 2008 to play VVC files.
echo Windows XP can't load VTM plugins, but other plugins work.
echo System type only = x64
echo Linux is now available, see Linux installation at: https://github.com/MartinEesmaa/VVCEasy/tree/master/INSTALLVLCPLUGIN#for-linux-users
echo Current version = 3.0.16, latest version 3.0.17-4 (it will work same latest version)
echo Would you like to install VTM plugins to your VLC Media Player? Y/N?
set /p vlcvtmyesorno=Answer:
if "%vlcvtmyesorno%" == Y goto installvlcvtmpluginnow
if "%vlcvtmyesorno%" == y goto installvlcvtmpluginnow
if "%vlcvtmyesorno%" == N goto start
if "%vlcvtmyesorno%" == n goto start
:installvlcvtmpluginnow
title Installing of VLC VTM Plugins by Inter Digital Inc... (Compiled by Martin Eesmaa)
echo Installing VLC VTM Plugins by Inter Digital Inc... (Compiled by Martin Eesmaa)
cd INSTALLVLCPLUGIN
copy libvtmdec.dll "%programfiles%\VideoLAN\VLC\plugins\codec" /y
copy libvvcdecoder_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\codec" /y
copy libvvctsdemux_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\demux" /y
cd ../
taskkill /im vlc.exe
echo Three dll files are patched to your VLC Media Player.
echo Restarting and starting VLC Media Player...
echo Please load your VVC (codec) video file to VLC Media Player.
echo For more information and options, please go at https://github.com/InterDigitalInc/VTMDecoder_VLCPlugin
echo Once you're finished, you don't have to patch again. You can continue normally VLC Media Player next time after VVCEasy.
"%programfiles%\VideoLAN\VLC\vlc.exe"
pause
goto start
:ffmpegvvdec
cls
title FFmpeg VVDec support
echo Hello, would you like to download FFmpeg VVDec support? Y/N?
set /p vvcnow0=Answer:
if "%vvcnow0%" == Y goto installvvdecffmpegnow
if "%vvcnow0%" == N goto start
if "%vvcnow0%" == y goto installvvdecffmpegnow
if "%vvcnow0%" == n goto start
:installvvdecffmpegnow
echo Your favorite operating system is available on FFmpeg VVDec support. Please copy the link to a web browser.
echo.
echo Download link: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md#ffmpeg-downloads-xhe-aac--vvc-endecoder-plugin-compiled-by-martin-eesmaa
echo.
echo See information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md
echo.
echo Press enter to go back menu.
pause
goto start
:mpvandroidvvc
echo Please see the document. The command will open the document for you.
MPV.md
echo.
echo See information MPV.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md
echo.
echo Press enter to go back to the main menu.
pause
goto start
:testsofvideo
echo Please see the paragraph in README.md.
echo https://github.com/MartinEesmaa/VVCEasy/#tests-of-vvc-videos
echo.
echo See information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md
echo.
echo Press enter to go back menu.
pause
goto start

View File

@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "VVCEasy"
#define MyAppVersion "0.5.0"
#define MyAppVersion "2.0.0"
#define MyAppPublisher "Martin Eesmaa"
#define MyAppURL "https://github.com/MartinEesmaa/VVCEasy"
@ -28,7 +28,6 @@ Compression=lzma2/ultra64
SolidCompression=yes
WizardStyle=modern
InternalCompressLevel=ultra64
DiskSpanning=True
CompressionThreads=1
[Languages]

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1 +1 @@
"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",function(data){onmessage({data:data})});var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=((info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports});self.onmessage=(e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}CreateVVdeC(Module).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["__emscripten_thread_exit"](result)}}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else if(e.data.cmd==="processProxyingQueue"){if(Module["_pthread_self"]()){Module["_emscripten_proxy_execute_queue"](e.data.queue)}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}});
"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason??e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:"callHandler",handler:handler,args:[...arguments]})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}CreateVVdeC(Module)}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["__emscripten_thread_mailbox_await"](e.data.pthread_ptr);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){Module["__embind_initialize_bindings"]();initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="checkMailbox"){if(initializedJS){Module["checkMailbox"]()}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}}self.onmessage=handleMessage;

View File

@ -1,6 +0,0 @@
4f8a005a28db9c738ea4834ac284311cecfcfd65833d52f0c148382cc006a20846954029375ac70574e35820ba4010c40d95daa21a0f2b98c8538c8ae6ca576b vvdecapp.exe
b35e7e8cfb85a22f766a408ce67249e0c6c1d039d8ca3874fc3e18c5e658ae332ec16dca7f82f19ce981a38e51678788f3ca491d72317ef39b28ab147dc093f9 vvencapp.exe
d0972debc90998f58ab88c29bdf2c5c5e0781279d2523925655009e147e27d815a9ae81d70d72d52cbfe3ebec0bb6c2965f090d12f243ca4479b2054e21e34b7 vvencFFapp.exe
8cd780a7f5a13e0d80fbb31d6e125cdc021aaadab3e5febcb8763aebff1bca1f16f61744b7021bfebce5eaf2bc0dd91f10683f2a38ff5425e0a7dd67dd080218 vvencinterfacetest.exe
b397f567a04a15c14d37e792b82599527cadba6eae9c194517cb432b9ae5a975e04980da3b146584bbd071a8d25f78a342e905fee2b1211cff9ef61c047b98e1 vvenclibtest.exe
69bbc48ba9460e37ed4cfb102aa70df030ed80090bf0a081ea96ef29085cc8596e59e1d1154404e5003aea9d036b52c4bef2c9f7d6c1d4d4ae03789b5f3f52d3 WindowsVVC.7z

Binary file not shown.

View File

@ -0,0 +1,11 @@
fb45cc3465bbd384a734d35a27f630f38af67f27dfa3c15b3ca0c4959d750a08 Win32/vvdecapp.exe
540f620b99abf58f00a906780507a23d253427d6e82a18e5e168185bf59795ef Win32/vvencapp.exe
628b9ab413649e0c1bccf41e01ededf2f2f5bdcc6d49b77ad0690a7611552008 Win32/vvencFFapp.exe
8ad0418ff241e79d6d869b2d6f47c5c0c0df6481662bfef2613c5d68b18d4216 Win32/vvencinterfacetest.exe
5546e77815e174872f6bd018de9fd5b446602b0486a45baec6fe343e81178164 Win32/vvenclibtest.exe
485a991e966b72101bfc75a081307d914159a135563d1c79368444c0c2feeb2e WindowsVVC.7z
c13fc2cfa36f57111f23803b8ab8de35aa227ceb860e62929ee9457745fc0595 x64/vvdecapp.exe
e11d33a0a2b293f99b1095811f3f23806d7580e8a966c7eb69d4aaabb9ef0df2 x64/vvencapp.exe
4a1b384c908aa3b4bf3dd603a8bdfcd1774aabb8a2b5cbac1826c57b634b0fa8 x64/vvencFFapp.exe
f30ef7699ec311d081540c401ddd8d8dd0a7b0ddcc2f9bc25e7536855d2d392d x64/vvencinterfacetest.exe
f612930ded7dacc59954c393ad56c0a7c5d1fe425921bf893ac60f0038a09b4e x64/vvenclibtest.exe

97
libvvdecffmpeg.sh Normal file
View File

@ -0,0 +1,97 @@
#!/bin/bash
PREFIX=/usr/local
echo Building FFmpeg VVCEasy Linux version...
sudo apt update && sudo apt upgrade -y && \
sudo apt install build-essential cmake nasm autoconf pkg-config \
python3-setuptools ninja-build python3-pip libtool git wget xxd -y && \
sudo pip3 install meson
if [ ! -d FFmpeg-FixVVC ]; then
git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-VVC
else
git -C FFmpeg-VVC pull
fi
if [ ! -d vvenc ]; then
git clone --depth=1 https://github.com/fraunhoferhhi/vvenc
else
git -C vvenc pull
fi
if [ ! -d vvdec ]; then
git clone --depth=1 https://github.com/fraunhoferhhi/vvdec
else
git -C vvdec pull
fi
if [ ! -d fdk-aac ]; then
git clone --depth=1 https://github.com/mstorsjo/fdk-aac
else
git -C fdk-aac pull
fi
if [ ! -d SDL ]; then
git clone --depth=1 https://github.com/libsdl-org/SDL
else
git -C SDL pull
fi
if [ ! -d libxml2 ]; then
git clone --depth=1 https://github.com/gnome/libxml2
else
git -C libxml2 pull
fi
if [ ! -d opus ]; then
git clone --depth=1 https://github.com/xiph/opus
else
git -C opus pull
fi
if [ ! -d libjxl ]; then
git clone --depth=1 https://github.com/libjxl/libjxl
sed -i 's/-lm/-lm -lstdc++/g' libjxl/lib/jxl/libjxl.pc.in libjxl/lib/threads/libjxl_threads.pc.in
git -C libjxl submodule update --init --recursive --depth 1 --recommend-shallow
else
git -C libjxl pull
git -C libjxl submodule update --init --recursive --depth 1 --recommend-shallow
fi
if [ ! -d dav1d ]; then
git clone --depth=1 https://code.videolan.org/videolan/dav1d
else
git -C dav1d pull
fi
if [ ! -d vmaf ]; then
git clone --depth=1 https://github.com/netflix/vmaf
else
git -C vmaf pull
fi
cd vvenc && sudo make install-release install-prefix=$PREFIX disable-lto=1 && \
cd .. && \
cd vvdec && sudo make install-release install-prefix=$PREFIX disable-lto=1 && \
cd .. && \
cd fdk-aac && autoreconf -if && ./configure --prefix=$PREFIX --enable-static --disable-shared && sudo make install -j $nproc && \
cd .. && \
cd libxml2 && autoreconf -if && ./configure --prefix=$PREFIX --enable-static --disable-shared && sudo make install -j $nproc && \
cd .. && \
cd opus && autoreconf -if && CFLAGS="-O2 -D_FORTIFY_SOURCE=0" LDFLAGS="-flto -s" ./configure --prefix=$PREFIX --enable-static --disable-shared && sudo make install -j $nproc && \
cd .. && \
mkdir libjxl/build && cd libjxl/build && cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DJPEGXL_ENABLE_BENCHMARK=OFF -DJPEGXL_ENABLE_PLUGINS=ON -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_GTEST=ON -DCMAKE_INSTALL_PREFIX=$PREFIX .. -G Ninja && sudo ninja install && \
cd ../../ && \
mkdir vmaf/libvmaf/build && cd vmaf/libvmaf/build && CFLAGS="-msse2 -mfpmath=sse -mstackrealign" meson -Denable_docs=false -Ddefault_library=static -Denable_float=true -Dbuilt_in_models=true -Dprefix=$PREFIX .. && sudo ninja install && \
cd ../../../ && \
sudo sed -i 's/-lm/-lm -lstdc++/g' $PREFIX/lib/x86_64-linux-gnu/pkgconfig/libvmaf.pc && \
cd SDL && mkdir build && cd build && cmake -DCMAKE_EXE_LINKER_FLAGS="-static" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX .. && sudo make install -j $nproc && \
cd ../../ && \
mkdir dav1d/build && cd dav1d/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=$PREFIX .. && sudo ninja install && \
cd ../../ && \
cd FFmpeg-VVC && \
./configure --enable-static --pkg-config-flags="--static" --extra-ldexeflags="-static" \
--enable-libfdk-aac --enable-libvvenc --enable-libvvdec --enable-pic \
--enable-libxml2 --enable-libopus --enable-libdav1d --enable-libjxl --enable-libvmaf --enable-sdl2 && \
make -j
echo You are ready to preview VVC, view VVC information or convert from VVC using ffmpeg, ffplay and ffprobe.
echo - Martin Eesmaa

47
o266player.md Normal file
View File

@ -0,0 +1,47 @@
# Compatibility Windows Operating System (VLC Media Player v3.0.11.1, o266player build version)
Limitations:
Note to Mac and Linux of o266player VLC: Sorry Mac and Linux users :(, here is a why MacOS and Linux cannot run VLC o266player.
On macOS 10.15.6, I tried build, but it failed, you can have a look for Stack Overflow: [Link](https://stackoverflow.com/questions/70387126/error-1-and-2-trying-to-compile-vlc-o266player-missing-git-and-txt).
On Linux, it doesn't support VLC (o266player build).
If you want to run VLC (o266player version), you need to run Windows only for a virtual machine or a real computer.
Windows | Compatibility (only x64) | Screenshot | Date report (DD/MM/YYYY, 24hr)
------- | ------- | --------------- | ------------- |
Windows 2000/ME or older | :x: (Cannot run custom build) | [Link](https://i.imgur.com/hHnh5Cx.png) | 19/02/2022 18:35:34 (AEDT)
Windows XP | ⚠️ (Terminal only, GUI is not working) | [Link](https://i.imgur.com/v3jMW3d.png) | 11/12/2021 15:18:29 (AEDT)
Windows Vista | :white_check_mark: (All checked)
Windows 7 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/4cANwDQ.png) | 17/12/2021 21:32:38 (AEDT)
Windows 8.0 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/cl8qASz.png) | 20/02/2022 15:27:40 (AEDT)
Windows 8.1 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/1Fe6xGW.png) | 17/12/2021 18:23:35 (AEDT)
Windows 10 | :white_check_mark: (All checked)
Windows 11 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/Me2L998.png) | 13/12/2021 15:58:55 (AEDT)
Windows Server | Compatibility (only x64) | Screenshot | Date report (DD/MM/YYYY, 24hr)
------- | ------- | --------- | --------- |
Windows Server 2003 | ⚠️ (Terminal only, GUI is not working) | [Link](https://i.imgur.com/G7F2bif.png) | 19/02/2022 21:38:20 (AEDT)
Windows Server 2008 | ⚠️ (GUI Works, but VVC won't show video) | [Link](https://i.imgur.com/GXFgIt8.png) | 20/02/2022 14:02:28 (AEDT)
Windows Server 2012 | :white_check_mark: (All checked) | [Link](https://i.imgur.com/Vcgag8B.png) | 17/12/2021 20:57:16 (AEDT)
Windows Server 2016 | :white_check_mark: (Already checked by Tencent Cloud)
Windows Server 2019 | :white_check_mark: (All checked)
Windows Server 2022 | :white_check_mark: (All checked)
VLC Custom build of o266player only accepts to run 64-bit / x64 on your computer. 32-bit / x86 won't work.
This cannot be run on Windows Vista / Windows Server 2008 or older and Windows 8.0 to play VVC video file of VLC Custom build.
***IMPORTANT: o266player closed source decoder commits built to .DLL/.dylib are expired since 1st February 2022 to disable showing VVC video. MP4 Mixed with VVC is unplayable showing.***
Note: I'm trying to work it out of VLC 3.0.16.
Reminder: Some operating systems are working to load VVC video format in Virtual Machine software, but real machines will work every operating system, for example Windows Server 2016 has already been tested by Tencent Cloud.
If your operating system is working to decode VVC video format like you're running on Windows 10, please fork this repository, edit README and make pull request of my original repository from your forked repository. Screenshot must be required winver and VLC Media Player (custom build of o266player)
UPDATE 13th December 2021: VLC Media Player (custom VLC build of o266player, 3.0.11.1 Vetenari, Windows 11) is tested by Martin Eesmaa. It can play only about 600 frames limit / 20+ seconds.
![VLC Media Player (VVC test)](https://user-images.githubusercontent.com/88035011/145756567-d156f630-9e7f-4042-99b5-6ffe8a6b4b64.png)
- Martin Eesmaa

View File

@ -1,66 +0,0 @@
{
"format": 1,
"restore": {
"C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\VVCEasy.csproj": {}
},
"projects": {
"C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\VVCEasy.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\VVCEasy.csproj",
"projectName": "VVCEasy",
"projectPath": "C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\VVCEasy.csproj",
"packagesPath": "C:\\Users\\marti\\.nuget\\packages\\",
"outputPath": "C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\marti\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\marti\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.0.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\marti\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
</Project>

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -1,72 +0,0 @@
{
"version": 3,
"targets": {
"net6.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net6.0": []
},
"packageFolders": {
"C:\\Users\\marti\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\VVCEasy.csproj",
"projectName": "VVCEasy",
"projectPath": "C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\VVCEasy.csproj",
"packagesPath": "C:\\Users\\marti\\.nuget\\packages\\",
"outputPath": "C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\marti\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -1,8 +0,0 @@
{
"version": 2,
"dgSpecHash": "WbFYV8fBnNlVfr+NRbXghaKnGfEHWanrZQqLeGD8y6DLIYfJ2JLipeqlPP64QCsGFpfbeY8OvnTCGBRpDXqOCg==",
"success": true,
"projectFilePath": "C:\\Users\\marti\\source\\repos\\VVCEasy\\VVCEasy\\VVCEasy.csproj",
"expectedPackageFiles": [],
"logs": []
}

View File

@ -0,0 +1,20 @@
#!/bin/bash
echo Martin Eesmaa / VVC Compiler (vvenc and vvdec)
echo We will check packages called: build-essential and cmake
echo It will check, if the build-essential and cmake packages are installed or not.
echo If it's already, it will update.
echo If it's not installed, we will install automatically for you.
echo.
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential cmake -y
cd ~/Downloads
git clone --depth=1 https://github.com/fraunhoferhhi/vvenc
git clone --depth=1 https://github.com/fraunhoferhhi/vvdec
cd vvenc
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS="-static" .. && make
cd ../../
cd vvdec
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS="-static" .. && make
cd ../../
echo Please see the build files following starting with vvenc/bin/release-static
pause

View File

@ -0,0 +1,19 @@
#!/bin/bash
echo Martin Eesmaa / VVC Compiler (vvenc and vvdec)
echo Please make sure your Xcode is installed on your Applications.
echo.
cd ~/Downloads
git clone --depth=1 https://github.com/fraunhoferhhi/vvenc
git clone --depth=1 https://github.com/fraunhoferhhi/vvdec
cd vvenc
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j $nproc
cd ../
cd vvdec
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j $nproc
cd ../
echo Please see the build files following starting with bin/release-static
pause

View File

@ -0,0 +1,93 @@
echo off
pushd "%~dp0"
cls
echo.
echo :: Checking For Administrator Elevation...
echo.
timeout /t 1 /nobreak > NUL
openfiles > NUL 2>&1
if %errorlevel%==0 (
echo Elevation found! Proceeding...
) else (
echo :: You are NOT running as Administrator
echo.
echo Right-click and select ^'Run as Administrator^' and try again.
echo Press any key to exit...
pause > NUL
exit
)
goto main123
:main123
title VVENC AND VVDEC (Build for Windows) (Script by Martin Eesmaa)
cls
echo Do you want build of vvenc and vvdec yourself on your computer?
echo Before you agree to build for Windows, you need Cmake and Visual Studio on your computer.
echo Requires build to Windows VVC by Cmake 3.13.0+ (need pathed environment) and Visual Studio 2017 and later (requires Desktop C++ and only one individual component ML.NET Model Builder).
echo Requires download VVEnc and VVDec for (Git for Windows).
echo Yes means build. No means will exit the program.
echo Y/N?
set /p main1234= Answer:
if %main1234% == Y goto installmain123
if %main1234% == y goto installmain123
if %main1234% == N goto exit
if %main1234% == n goto exit
:installmain123
title Building time...
echo Building time...
mkdir Windows && cd Windows
echo Download VVENC and VVDEC from Fraunhoferhhi GitHub...
git clone --depth=1 https://github.com/fraunhoferhhi/vvenc
git clone --depth=1 https://github.com/fraunhoferhhi/vvdec
cd vvenc
mkdir build && cd build
cmake ..
cmake --build . --config Release
cd ../bin/release-static
explorer .
cd ../../../
cd vvdec
mkdir build && cd build
cmake ..
cmake --build . --config Release
cd ..\bin\release-static
explorer .
cd ../../../../
goto successnow
:successnow
echo.
echo.
echo.
echo Successfully build of vvenc and vvdec on your Windows.
echo Do you want delete source of VVENC and VVDEC files? Y/N?
echo.
echo WARNING!!!: YOU HAVE TO COPY EXECUTABLE FILES BEFORE YOU DELETE SOURCE FILES
echo BUG: The syntax of the command is incorrect for unknown error.
echo To see .EXE files, go to Windows/vvenc/bin/release-static in Windows Explorer.
set /p installmain1234= Answer:
if %installmain1234% == Y goto deletesourcefiles
if %installmain1234% == y goto deletesourcefiles
if %installmain1234% == N goto otherwisenow
if %installmain1234% == n goto otherwisenow
:deletesourcefiles
title Cleaning up source files on VVENC and VVDEC on your computer...
echo Cleaning up source files on VVENC and VVDEC on your computer...
cd ../
rmdir /s Windows
goto otherwisenow
:otherwisenow
title Thank you for enjoying my script... (Martin Eesmaa)
echo Thank you for enjoying my script... (Martin Eesmaa)
echo Make sure go to Martin Eesmaa's GitHub: https://github.com/MartinEesmaa
echo Exiting...
timeout 3
exit
:exit
exit

BIN
wget.exe

Binary file not shown.