156 Commits

Author SHA1 Message Date
f9b3465cdd Improved spellings & grammars in README 2025-06-03 19:15:06 +10:00
96c054eddc Highlight blockquote of tip and note in README 2025-06-03 18:47:15 +10:00
ccc848b4a0 Merge FFmpeg and MPV together in batchfile
Also, fix other miscellaneous errors and avoid unnecessary error of taskkill.

- Martin Eesmaa
2025-05-30 20:15:59 +10:00
0946e98ade Again to fix bug 7-Zip duplicate lines 2025-05-30 17:02:20 +10:00
a80babb58a Forgot to remove duplicate aoa of 7-Zip 2025-05-30 17:01:03 +10:00
163a20c770 Fix 7-Zip location wraps in batchfile 2025-05-30 16:58:03 +10:00
b1bff8bf45 Added 7-Zip of win32/arm64 and change of batchfile
In the batch file script, the welcome message with a pause is removed and moved to the start for a one-line welcome message.

Additionally, the encode, decode, and path environments are deprecated; they will be removed or changed in the future.

- Martin Eesmaa
2025-05-30 16:48:06 +10:00
622ab3868a Improvements of Windows batchfile script
Added error detection so that if the directory does not exist, a new folder will be created.

Other improvements were also updated.

- Martin Eesmaa
2025-05-30 16:12:38 +10:00
0f34f3047f Support arm64 of VVCEasy batchfile
Also detect for VLC VTM Plugins install that is only for x64/amd64 architecture.

- Martin Eesmaa
2025-04-16 18:39:16 +10:00
18f073413b Update checkout version from v2 to v4.
Replacing deprecated checkout version with the newest.
2025-04-16 17:50:30 +10:00
f6d4293142 Fix spellings and rephrase on VVCEasy batchfile 2025-04-16 17:45:51 +10:00
5e63912a37 BuildFFmpeg.sh: No need to upgrade necessary
Also, you can copy the legacy FFmpeg VVCEasy Linux build at any time.
2025-04-16 17:43:30 +10:00
b2b262a647 Updated macOS FFmpeg VVCEasy binaries
Almost six months after the previous update, macOS FFmpeg VVCEasy builds are now available for update.

Additionally, there is no need to replace GPAC and add a note about the availability of Windows 32-bit and arm64 versions of FFmpeg builds.

- Martin Eesmaa
2025-04-06 12:35:22 +10:00
6f8ac097ab Update CMake variables on BuildFFmpeg.sh 2025-04-03 20:04:32 +11:00
06ce4212df BuildFFmpeg.sh: Remove last slash when directing 2025-04-03 01:15:44 +11:00
53f8b6a06d Improved variables definitions in BuildFFmpeg.sh 2025-04-03 01:02:14 +11:00
32d5c36c75 Pipe wget to git apply for zimg in BuildFFmpeg.sh 2025-04-03 00:36:24 +11:00
d7704155d5 Updated Linux & Android VVC binaries of x86
Good news for VVC binaries updated for Linux and Android on x86 architecture after the latest SIMD fix commit.

- Martin Eesmaa
2025-04-02 21:01:43 +11:00
0257446458 Fixed Linux MPV VVCEasy build
I removed the libstdc++ shared object file inside AppImage to work with some distributions.

Also, happy April Fool's Day, everyone!

- Martin Eesmaa
2025-04-01 22:01:12 +11:00
1b182dd96a Updated Linux & Android VVC binaries of armv7
It is updated VVC binaries for Linux and Android, specifically for the armv7 architecture.

Good news for Linux armv7 VVC binaries, SIMD is enabled again.

Still, the x86 (i386) version of the latest vvenc has a code bug.

- Martin Eesmaa
2025-03-31 20:28:03 +11:00
1e98af40a2 Warn SunOS when building VVC binaries
For SunOS, as Oracle Solaris, compiling VVC binaries may fail due to errors.
2025-03-30 18:33:22 +11:00
1f84ec278c Updated LAVFilters Windows VVC build 2025-03-30 16:54:06 +11:00
3c1bc1cfdc Updated MacOS VVC binaries with minimum targets
Before I set the macOS deployment target version, the default versions were targeted for x86_64 of 14.2 and arm64 of 14.5.

Now it is targeting minimum deployment targets of both architectures:
x86_64: macOS 10.13 (High Sierra)
arm64: macOS 11.0 (Big Sur)

- Martin Eesmaa
2025-03-30 13:34:32 +11:00
c59b6f88fa Added support Windows ARM64 VVC binaries
Built successfully for the Windows architecture of ARM64 VVC binaries of vvenc and vvdec using Visual Studio 2022.

- Martin Eesmaa
2025-03-29 00:11:56 +11:00
4ba392d261 Updated VVC binaries
Please note that Linux & Android of armv7 and x86 architectures vvenc binaries were skipped due to compilation errors cross-compiling on a Linux x86_64 machine.

- Martin Eesmaa
2025-03-28 23:11:49 +11:00
6bfb8ce310 Added my fork repo generated build of Windows MPV
This link has generated builds available for Windows x64 only to use MPV-VVCEasy.

- Martin Eesmaa
2025-03-28 21:31:27 +11:00
c8280dc013 Updated MPV Linux VVCEasy build 2025-03-19 19:08:00 +11:00
7f55c83700 Update fdk-aac license year in README.md 2025-03-16 22:07:51 +11:00
1ae2a1c8d8 uvg266 Windows XP didn't work due to crash
I tested it and crashed, so maybe I can claim that Windows Vista works for uvg266.
2025-03-16 09:53:41 +11:00
8f3975d25b Added uvg266 minimum requirements 2025-03-15 19:54:31 +11:00
2dd1f0076e Create funding to display sponsor of this repo
Feel free to sponsor the project and add an optional description. Thanks! :)

For paypal.me, a PayPal account is required.

- Martin Eesmaa
2025-03-15 19:47:14 +11:00
6f86f97bb3 vvenc/vvdec can support for Android 4.1 and later 2025-03-14 19:03:37 +11:00
92c3391e9b Added minimum requirements info to vvenc/vvdec 2025-03-14 10:26:09 +11:00
3a52eda9a1 Thanks, Mark Litwintschik for providing blog 2025-03-14 10:21:27 +11:00
6b4a657be0 iOS can run non-signed binary when it's jailbroken
Please note that iOS jailbroken users can run non-signed binary probably of probably compiled iOS executable of VVC.

- Martin Eesmaa
2025-02-10 14:41:49 +11:00
246ed7bf83 Improve variable docs of build FFmpeg shell script 2025-02-10 14:20:10 +11:00
231bf4e9bc Updated uvg266 for Windows, Linux and BSD
For macOS and Android were failed due three errors for some architecture of x86_64 and x86. I'll try figure out and upload builds for macOS and Android...

Fixed permissions set of Linux and BSD.

- Martin Eesmaa
2025-01-14 11:40:40 +11:00
f0c8eed75d Updated VVC binaries 2025-01-13 23:13:45 +11:00
280320acab Update licenses year date to 2025 2025-01-01 23:43:40 +11:00
696cbee08a Forgot to update vvenc_unit_test binary of Windows 2024-12-29 21:32:50 +11:00
76bcd1a69f Updated VVC binaries
Sorry for long inactive publishing VVC binaries.

Also macOS of Intel CPU version needs version 13 and later, because macOS12 is deprecated on GitHub Actions.

- Martin Eesmaa
2024-12-29 21:24:10 +11:00
a1fea76b65 Updated 7-Zip 24.09 latest 2024-12-29 15:45:48 +11:00
5df6b94bd5 Updated Windows MPV VVCEasy builds
After two months of last update, it is finally here. Sorry and I apologize due late. Still native build will come later...

Automatic builds will be soon later...

- Martin Eesmaa
2024-12-07 15:17:55 +11:00
bdc0726a88 VVC binaries of iOS can only use for library
By building VVC binaries of cross compiling iOS on macOS, the library can handle when migrating to app.

Binary may cannot execute which normally Apple doesn't introduce terminal app on iOS systems of iPhone and iPad.

Also updated words.

- Martin Eesmaa
2024-12-04 20:01:53 +11:00
11d93ef031 BuildFFmpeg.sh: Add meson options variable & more
For others, I added another git submodule variable, removed some already default turned on for variables and some commands added for disabling unneeded to speed up little bit.

Also ffmpeg configure file is already fixed, so it's always permission write on.

- Martin Eesmaa
2024-11-21 00:02:58 +11:00
eeb42ed9fa Updated VVC binaries & added vvenc_unit_test
Linux, Android, BSD and macOS compressed files of 7-Zip are now automatically permission write on without manually inserting command of chmod.

Also added vvenc_unit_test as new test binary.

- Martin Eesmaa
2024-11-18 17:29:25 +11:00
fa4ef02d58 Moved VLC VVC InterDigital Plugin summary texts
Big texts are moved from README.md of root directory into INSTALLVLCPLUGIN folder of markdown file.
2024-11-17 21:58:23 +11:00
13f2aa8977 Some VVC binaries are updated, but outdated
Sorry for long await to release pre-built VVC binaries with outdated, I'll build next time for tomorrow later... I apologize for any inconvenience.

Signed by Martin Eesmaa
2024-11-17 21:49:03 +11:00
e1e65aa40a For FAQ in README, removed word "known as" 2024-11-11 23:10:24 +11:00
d0050a985b Update words in README 2024-11-04 14:54:10 +11:00
3572f98718 Updated vvenc & vvdec binaries, but note...
Note of Android x86 and armeabi binaries are skipped due to error compilation, so I will compile next time if it's fixed, including Linux armeabi too.

- Martin Eesmaa
2024-10-24 21:33:18 +11:00
5b584db04d Improved FAQ table in README 2024-10-20 21:15:45 +11:00
cead6aa405 Improved variables of both build shell scripts 2024-10-20 20:33:03 +11:00
e0397d1db9 Added community note before create an issue
This will reminder before creating an issue for people to choose their options of normal bug report, feature request or community (new).

- Martin Eesmaa
2024-10-20 20:28:20 +11:00
422a6bce1f Automated FFmpeg VVCEasy builds of Windows & Linux
Windows & Linux are now automatic build every day at 12:00 / 12 PM UTC at my forked repository FFmpeg-Builds.

- Martin Eesmaa
2024-10-18 20:51:02 +11:00
4322bad457 Updated FFmpeg VVCEasy builds
Fixed missing JPEG-XL demux MKTAG of MP4/MOV container format bug.

- Martin Eesmaa
2024-10-15 22:14:41 +11:00
8c7c198aca Updated FFmpeg VVCEasy builds
Also fixed JPEG-XL MP4/MOV mux bug.

- Martin Eesmaa
2024-10-15 21:09:03 +11:00
b6e79a5827 Updated FFmpeg VVCEasy builds 2024-10-15 19:08:37 +11:00
1e1a586fb8 Fix permission denied of shell scripts
Before fix, user has to manually enable permission with command, but it is now write permission on. - Martin Eesmaa
2024-10-15 17:27:02 +11:00
7c0bea5b39 Remove Encode/Decode easy paragraph & make change 2024-10-11 17:06:09 +11:00
e1ca71429f Hard option is deprecated in README 2024-10-11 16:26:25 +11:00
3ab7dae6a5 Notice screenshots were done in 2021 of VVC.md 2024-10-11 16:22:29 +11:00
cf6683b116 Moved compatibility screenshots to VVC markdown 2024-10-11 16:20:01 +11:00
f8121aba80 Improved GUI applications table in README 2024-10-11 14:07:17 +11:00
3e0a31fb6d Fix center title bug 2024-10-11 13:39:19 +11:00
768311d0d8 Make title center & changes in README 2024-10-11 13:37:10 +11:00
e96746faf0 Fix from C++17 to C++ 14 of vvenc/vvdec info 2024-10-11 13:20:34 +11:00
15acfdd2c6 Fix missing links of Linux & BSD of uvg266 info 2024-10-11 13:13:47 +11:00
154afaa287 Fix misspell from C98 to C99 in VVC info 2024-10-11 13:11:31 +11:00
0376961c72 Added line of programming language in VVC info 2024-10-11 13:10:24 +11:00
eeea4a477d Added VVC binaries of information link in README 2024-10-11 12:24:40 +11:00
01101e95e0 Just in case to export PKG config path flag 2024-10-10 23:31:36 +11:00
b20a7499e6 Changes fixes of macOS FFmpeg build script 2024-10-10 21:43:26 +11:00
b91b477b66 Support macOS to able compile FFmpeg 2024-10-10 21:42:03 +11:00
9322766d93 One article is deprecated & another is moving soon
In README, hard option article will be deprecated due too hard, so I'm gonna make a little bit easy to replace it and also it will be in separated file.

Another article will also moving soon to place in new markdown file about VVC binaries.

- Martin Eesmaa
2024-10-10 21:24:36 +11:00
57ed49f86a Update words, add .NET publish & license in README 2024-10-08 20:36:31 +11:00
ac23d2accf Rename Android folder to AndroidVVC 2024-10-08 20:10:18 +11:00
a4d4b6b3d3 Improved community table in README 2024-10-08 17:04:04 +11:00
b058a6ba0d Letting know to build FFmpeg-VVC of shell script 2024-10-07 17:35:45 +11:00
a332128fdc Renamed from libvvdecffmpeg.sh to BuildFFmpeg.sh 2024-10-07 17:32:07 +11:00
1dc5734ada FFmpeg build script merged between MSYS2 and Linux
Just note of merged build script is deprecated. It is improved one build shell script of FFmpeg-VVC for Windows MSYS2 & Linux.

sudo is removed, so I made sure new prefix folder with no administrator privileges and variables are improved.

- Martin Eesmaa
2024-10-07 17:28:44 +11:00
e9a9cd8a15 Updated Windows MPV VVCEasy builds
After three months hiatus, it is finally released of Windows MPV VVCEasy builds. Sorry about long took.

- Martin Eesmaa
2024-10-07 02:00:42 +11:00
7fc32046fa Updated FFmpeg VVCEasy builds for up to 7.1 2024-10-05 22:49:24 +10:00
006d8a1427 Updated Windows LAVFilters & MPC-HC VVCEasy builds 2024-10-01 22:11:15 +10:00
db942ac2b3 Improved FFmpeg-VVC limitations design table 2024-10-01 16:41:57 +10:00
bca7169e88 Added community section in README & changes of FAQ 2024-10-01 16:22:11 +10:00
4fff11f07c Move two markdown files into docs-old folder
VLC o266player and Bitmovin vvDecPlayer are no longer active committed more than one year, so it will move into docs-old folder.

- Martin Eesmaa
2024-10-01 14:22:00 +10:00
e8e071e2fb o266player old download link 2024-10-01 14:15:35 +10:00
b172512390 Updated vvdec binaries
vvdec binaries are updated for up to version 3.0.0-rc2

- Martin Eesmaa
2024-09-30 15:53:23 +10:00
d228ab43e2 Added properties information to C# project
This adds metadata information of product, version, description, copyright and authors. Also publishing single file with compression and trimmed on allows to publish for .NET on local computer.

- Martin Eesmaa
2024-09-28 20:49:57 +10:00
5e997805e7 Forgot update copyright info of exit screen on C# 2024-09-28 20:09:40 +10:00
4abde3c3b4 Support Linux distros & others in build script
This adds Debian, Fedora, Arch and Gentoo to compile when using Linux distros, also supports based with popular Linux operating systems.

Fixed wrong swap of Git pull command vvenc & vvdec, added -p argument for making a directory to avoid error.

- Martin Eesmaa
2024-09-28 19:57:33 +10:00
bc767c1cd3 Updated credits with 3rd party license, add MPC-BE 2024-09-25 23:33:07 +10:00
98f05a57c9 Updated FFmpeg VVCEasy builds
After nearly three months, it is finally updated FFmpeg VVCEasy builds.

Also new added qrencode & quirc external features for QR-code encoding/decoding filter for Windows & Linux builds only.

Sorry about that and I apologize.

- Martin Eesmaa
2024-09-25 22:52:13 +10:00
8ce4557b30 Note removing experimental flag official FFmpeg 2024-09-19 20:19:34 +10:00
217eca4919 Updated uvg266 builds
Note about Win32 binary is now cross-compiled on Linux x64 machine, because previous Win32 build requires msys-2.0.dll shared library to run that I didn't know that.

macOS x86_64 Intel build supports now for macOS 12 than previous build was macOS 14.

Now it doesn't need shared library anymore of new Win32 build.

- Martin Eesmaa
2024-09-11 17:35:25 +10:00
404c7d0cc4 Fix VVCEasy's latest date & credit variable 2024-09-11 15:41:09 +10:00
b674f48a7b Remove explorer commands in batchfile 2024-09-11 15:34:23 +10:00
1c9eb424e6 Optimized screenshots without loss, but one remain 2024-09-11 14:59:42 +10:00
65e2003f78 Lowercase argument removed by flag /I IF command
This removes lowercase character arguments on Windows batch file, adds flag /I" behind by IF command and both quotation marks ahead of uppercase.

- Martin Eesmaa
2024-09-11 12:53:42 +10:00
a13b2f2e52 More enable trigger error invalid in batchfile 2024-09-11 12:33:46 +10:00
52e05b7e9a Improve Linux FFmpeg build shell script 2024-09-11 11:14:45 +10:00
2e1ed93d21 Some repos have autogen.sh file, renamed some 2024-09-11 11:08:16 +10:00
ef06348596 Improve FFmpeg MinGW build shell script 2024-09-11 11:00:21 +10:00
f29eaecbf3 Added VVCEasy logo source project
This project logo was built by Martin Eesmaa using Microsoft PowerPoint at 21st February 2022.

Optimized PNG file size without loss.

- Martin Eesmaa
2024-09-08 21:57:20 +10:00
32a429f3f6 Little improve ISS install script & reduce script 2024-09-08 20:34:48 +10:00
c97c61d14b Fix bug error unrecognized 2024-09-08 20:24:31 +10:00
598223240c Improving C# version to edit things
Big codes change & removed Anaconda command
2024-09-08 18:25:21 +10:00
d31979f8f5 Integrated of building VVC into batch files
Both shell scripts of Linux and macOS were now merged into one for detect OS with simple command
For Windows build script of Visual Studio is merged into VVCEasy.bat (batch file script).

Both files of Windows batch file & Unix shell script were able to build Fraunhofer VVC binaries.

- Martin Eesmaa
2024-09-08 16:16:54 +10:00
14e9dbee6d Remove Anaconda install quick command
It is superseded of one command.

No needed anaconda package manager to install FFmpeg package, you can still download my custom build of FFmpeg or official builds have VVC support of external encoder & native experimental decoder over website, shell, package management or anything.

- Martin Eesmaa
2024-09-08 12:58:14 +10:00
6aa10171e8 Final build Bitmovin VVC of Windows & Linux builds
This is for final Bitmovin vvDecPlayer of Windows & Linux build. macOS might come later...

For the latest vvdec shared libraries cannot run to vvDecPlayer due crashes violation of outdated inside GUI application. This will keep old version of vvdec to run stable.

Also for Windows, I added SSL & crypto shared library can download online segments over HTTPS connections. Removed unused shared libraries to reduce size.

For Linux, it is now universal AppImage format to run up to Linux 3.2.0 and later.

- Martin Eesmaa
2024-09-08 12:48:21 +10:00
36afaaa3d1 Updated 7-Zip 24.08 latest 2024-09-04 18:20:13 +10:00
9092f22605 Updated VVC binaries 2024-08-21 18:52:12 +10:00
490efb4d79 Updated vvdec binaries 2024-08-07 20:26:43 +10:00
255aa993a4 Added Av1ador list of VVC support and others
Adding and fixing texts for others.
2024-08-06 23:41:15 +10:00
e763818bea Updated vvenc binaries 2024-08-05 23:20:00 +10:00
2105d56fe0 Official Gyan & BtBn FFmpeg vvenc support info 2024-07-31 23:14:43 +10:00
700afeaebb Updated vvenc binaries 2024-07-04 20:14:46 +10:00
80fa143468 Update FFmpeg libvvenc limitations information 2024-07-03 18:18:45 +10:00
cd547c3771 Updated FFmpeg VVCEasy builds
Also added support of SVT-HEVC and SVT-VP9 external libraries to Windows & Linux FFmpeg VVCEasy x86_64 build.

- Martin Eesmaa
2024-06-30 21:01:13 +10:00
7fdff2d944 Updated FFmpeg VVCEasy builds with new FGS VVC
For vvenc & vvdec is enabled Film Grain Synthesis (FGS), but vvenc FGS may be experimental.

- Martin Eesmaa
2024-06-28 22:34:30 +10:00
7e461f1f5a Updated VVC binaries & new vvdec film grain on
With vvdec, FGI is default on, but vvenc may come soon later...
FGI stands for Film Grain Synthesis.

- Martin Eesmaa
2024-06-27 21:30:31 +10:00
61860c0dfb Release v2.7.0 2024-06-23 17:52:28 +10:00
19b912bff1 Updated 7-Zip 24.07 latest 2024-06-23 17:31:14 +10:00
e5dcb6a531 Updated Windows VLC VTM VVC Decoder plugin 2024-06-22 23:29:17 +10:00
eb463edc3f Updated vvenc binaries 2024-06-22 23:27:19 +10:00
6e62fa875b Back to currently updated macOS x64 VVC binaries
After previous commit, it is back to currently updated of macOS x64 binaries.
2024-06-22 22:46:31 +10:00
b882e0884d Update for forgot previous commit macOS x64 VVC
This commit just releases forgot commit from June 6 2024. It will revert back a few seconds for next commit.
2024-06-22 22:45:02 +10:00
bac3c1a5c8 Updated FFmpeg VVCEasy builds 2024-06-22 22:21:18 +10:00
e1017779e8 Fix FFmpeg macOS x86_64 VVCEasy & supports arm64 2024-06-21 11:02:00 +10:00
7460e041cc Updated vvdec binaries & fixed macOS x64 binaries
For macOS x64 binaries are now fixed, because these binaries are built of arm64 architecture before it was fixed.

Now it forces x86_64 arch to build macOS x64 binaries properly.

- Martin Eesmaa
2024-06-20 23:43:22 +10:00
ea367e87a3 Updated Windows & Linux MPV VVCEasy builds 2024-06-20 21:42:49 +10:00
821f292e90 Added MPC-BE information on LAVFilters 2024-06-18 21:59:24 +10:00
2a43c700cc Updated Android MPV VVCEasy builds
For Android MPV VVCEasy builds, after two months was last updated, now it is updated for replacing old FFmpeg by new FFmpeg-VVC.

- Martin Eesmaa
2024-06-17 23:48:49 +10:00
6c830f1d2d Updated FFmpeg VVCEasy builds
Special new libvvenc codes and it is official external VVC encoder on FFmpeg.

- Martin Eesmaa
2024-06-16 21:00:53 +10:00
9ce861fc44 Added uvg266 binary of Windows, macOS, Linux & BSD
Windows build of x64 compiled on MSVC and Win32 compiled on GCC.

All Linux binaries are compiled on GCC.
macOS and BSD binaries are compiled on Clang.

- Martin Eesmaa
2024-06-12 18:00:26 +10:00
a81f70bdc2 Updated VVC binaries 2024-06-07 18:48:09 +10:00
687e8166ce Updated FFmpeg VVCEasy builds 2024-06-06 23:26:36 +10:00
17b5fcad5f Updated FFmpeg VVCEasy builds 2024-06-05 18:23:55 +10:00
0519c25213 Updated Windows MPV VVCEasy builds 2024-05-30 21:06:52 +10:00
906492c2ab Added BSD VVC binaries of x64 and update README
The binaries of VVC is compiled on FreeBSD 13.3 by clang. It can run latest on FreeBSD, OpenBSD, NetBSD and others BSD based OS.
2024-05-26 16:20:25 +10:00
e5e98d4a52 Updated vvenc binaries 2024-05-26 10:39:16 +10:00
dd14380a62 Updated 7-Zip latest of 24.05 2024-05-25 19:31:05 +10:00
8bdae99d0e Updated vvenc binaries 2024-05-17 21:54:08 +10:00
2d73ac674c Updated FFmpeg VVCEasy builds 2024-05-08 18:11:43 +10:00
5773164f9e Updated Linux armv7 vvdec binary
The binary was successfully compiled after adding ARM compiler flag of -mfpu=neon-vfpv3 on my CMake toolchain.
2024-05-03 21:11:48 +10:00
603b9b2d8e Updated vvdec binaries
For Linux armv7 vvdec binary is skipped due to error compilation of codes, it will be later soon to update...
2024-05-02 21:11:12 +10:00
15b55fe3ba Add gitignore file 2024-04-30 23:59:16 +10:00
2b2507c26d Updated Windows & Linux MPV VVCEasy builds 2024-04-30 00:48:25 +10:00
12b41f8d28 Updated FFmpeg VVCEasy builds 2024-04-29 21:43:15 +10:00
05b78e5ee4 Updated Windows & Linux MPV VVCEasy builds 2024-04-28 22:25:27 +10:00
15b4b2f1ae Updated FFmpeg VVCEasy builds 2024-04-24 23:23:15 +10:00
1813efbbc4 Added build instructions of FFmpeg-Builds 2024-04-20 23:01:17 +10:00
ce925b1d59 New Linux Arm64 FFmpeg VVCEasy build
Also updated for Windows and Linux FFmpeg VVCEasy builds, but Mac OS build will come soon later...
2024-04-18 11:47:01 +10:00
b6dac5c38b Little fix & additional words on Windows batchfile 2024-04-15 22:14:58 +10:00
dbddb5d7cf Improvements of Windows batchfile script
Added and changed words, set limit minimum requirement for Windows XP and later and more variables.
2024-04-14 20:50:31 +10:00
77 changed files with 1655 additions and 2703 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
custom: ['https://paypal.me/martineesmaa']

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,8 @@
---
blank_issues_enabled: false
contact_links:
- name: Community (such as matrix.org, Revolt & Discord)
url: https://github.com/MartinEesmaa/VVCEasy#community
about: >
If you need an extra little help and wanted to be helped by anyone,
you can join one of my server on matrix.org, Revolt or Discord.

View File

@ -14,7 +14,7 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:

27
.gitignore vendored Normal file
View File

@ -0,0 +1,27 @@
WindowsVVC/Win32
WindowsVVC/x64
WindowsVVC/arm64
MacOSVVC/arm64
MacOSVVC/intel_x64
LinuxVVC/arm*
LinuxVVC/x*
AndroidVVC/arm*
AndroidVVC/x*
BSDVVC/vv*
uvg266/Windows/Win32
uvg266/Windows/x64
uvg266/macOS/arm64
uvg266/macOS/intel_x64
uvg266/Linux/arm*
uvg266/Linux/x*
uvg266/BSD/uvg266
[Oo]bj/
[Bb]in/
vvdecWebPlayer/
vvenc/
vvdec/
[Ii]nstall/
.vscode

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -3,15 +3,16 @@
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7-Zip Copyright (C) 1999-2023 Igor Pavlov.
7-Zip Copyright (C) 1999-2024 Igor Pavlov.
The licenses for files are:
1) 7z.dll:
- 7z.dll:
- The "GNU LGPL" as main license for most of the code
- The "GNU LGPL" with "unRAR license restriction" for some code
- The "BSD 3-clause License" for some code
2) All other files: the "GNU LGPL".
- The "BSD 2-clause License" for some code
- All other files: the "GNU LGPL".
Redistributions in binary form must reproduce related license information from this file.
@ -20,8 +21,8 @@
organization. You don't need to register or pay for 7-Zip.
GNU LGPL information
--------------------
GNU LGPL information
--------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@ -39,52 +40,107 @@
BSD 3-clause License
--------------------
BSD 3-clause License in 7-Zip code
----------------------------------
The "BSD 3-clause License" is used for the code in 7z.dll that implements LZFSE data decompression.
That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
that also uses the "BSD 3-clause License":
The "BSD 3-clause License" is used for the following code in 7z.dll
1) LZFSE data decompression.
That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
that also uses the "BSD 3-clause License".
2) ZSTD data decompression.
that code was developed using original zstd decoder code as reference code.
The original zstd decoder code was developed by Facebook Inc,
that also uses the "BSD 3-clause License".
----
Copyright (c) 2015-2016, Apple Inc. All rights reserved.
Copyright (c) 2015-2016, Apple Inc. All rights reserved.
Copyright (c) Facebook, Inc. All rights reserved.
Copyright (c) 2023-2024 Igor Pavlov.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Text of the "BSD 3-clause License"
----------------------------------
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the distribution.
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
3. Neither the name of the copyright holder(s) nor the names of any contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----
3. Neither the name of the copyright holder nor the names of its contributors may
be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---
unRAR license restriction
-------------------------
BSD 2-clause License in 7-Zip code
----------------------------------
The decompression engine for RAR archives was developed using source
code of unRAR program.
All copyrights to original unRAR code are owned by Alexander Roshal.
The "BSD 2-clause License" is used for the XXH64 code in 7-Zip.
The license for original unRAR code has the following restriction:
XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet.
The unRAR sources cannot be used to re-create the RAR compression algorithm,
which is proprietary. Distribution of modified unRAR sources in separate form
or as a part of other software is permitted, provided that it is clearly
stated in the documentation and source comments that the code may
not be used to develop a RAR (WinRAR) compatible archiver.
Copyright (c) 2012-2021 Yann Collet.
Copyright (c) 2023-2024 Igor Pavlov.
Text of the "BSD 2-clause License"
----------------------------------
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---
--
Igor Pavlov
unRAR license restriction
-------------------------
The decompression engine for RAR archives was developed using source
code of unRAR program.
All copyrights to original unRAR code are owned by Alexander Roshal.
The license for original unRAR code has the following restriction:
The unRAR sources cannot be used to re-create the RAR compression algorithm,
which is proprietary. Distribution of modified unRAR sources in separate form
or as a part of other software is permitted, provided that it is clearly
stated in the documentation and source comments that the code may
not be used to develop a RAR (WinRAR) compatible archiver.
--

BIN
7-Zip/Win32/7z.dll Normal file

Binary file not shown.

BIN
7-Zip/Win32/7z.exe Normal file

Binary file not shown.

BIN
7-Zip/arm64/7z.dll Normal file

Binary file not shown.

BIN
7-Zip/arm64/7z.exe Normal file

Binary file not shown.

View File

@ -1,9 +1,9 @@
7-Zip 23.01
7-Zip 24.08
-----------
7-Zip is a file archiver for Windows.
7-Zip Copyright (C) 1999-2023 Igor Pavlov.
7-Zip Copyright (C) 1999-2024 Igor Pavlov.
The main features of 7-Zip:
@ -12,7 +12,7 @@ The main features of 7-Zip:
- Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM.
- 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.
RPM, SquashFS, UDF, UEFI, VDI, VHD, VHDX, VMDK, XAR, Z and ZSTD.
- Fast compression and decompression
- Self-extracting capability for 7z format
- Strong AES-256 encryption in 7z and ZIP formats

BIN
7-Zip/x64/7z.dll Normal file

Binary file not shown.

BIN
7-Zip/x64/7z.exe Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +0,0 @@
78ea2486ff2f9617efea795b4284e18459859cc2f55664c603763ccfc64a6ffc AndroidUVG266-8bit.7z
9622277523b808aef088b7d99019835e8bd438fdd1e99baaea4c500b6f34da89 arm64/uvg266
4cfac9aa8129e7b320f5b4a57b7333bfe2023092d8dd7952014980756b65a1e3 armeabi/uvg266
292a3f5c021b004ff2eeeb738a934b90b18167ece3c784c73df6eb932f1f4b04 x86/uvg266
95840d9c7b572fcd436362c6e6f23fd1357dfc3aeb3218e2abb8e6b604415237 x86_64/uvg266

Binary file not shown.

View File

@ -1,5 +0,0 @@
790e6c86aa438c431be701fc2123776c4e3aaa76c3fd24cb27e730424920fa74 AndroidUVG266.7z
f1e92520d4b47e0d06ef532a07b17ce370011a9e696281dc43636132fe0d5abb arm64/uvg266
115adf7ec8614ccc87689805807496fd396ca4b445ea77041cf568816d5e2a7a armeabi/uvg266
3268c6d40029b6aaf60c1d4e08778ccf416baa9c25aea2e2ed9ed2724c324e84 x86/uvg266
3270046d3dc08addbccce4bd558358234366e4111c7cc7ca69dfcbbf37455960 x86_64/uvg266

View File

@ -1,21 +0,0 @@
7adce368e5741dbaa52b8b9febf9ea5079aeda8b4dfe069cfe6e923b7780e0b1 AndroidVVC.7z
e66e57c66bb58f8e9e67d858df2e1eee6ce2e729ff33364f432bfb88a53a9d97 arm64/vvdecapp
55b4ba97de6bced5e925a7ceda0a4f17ff7090ef3fc2b4a144f8c3febc07d36a arm64/vvencapp
f50214bc5db4b49cb6015724f30c78de2693e947da27a2bddcaf33ffe4dab499 arm64/vvencFFapp
ddb0f8515493b9179e4d9d260f37d89cd368cedf6b9be7bf00361ee30cba7dd7 arm64/vvencinterfacetest
c63197e249e019edd66916f51972c728faff91dfde0fed5c869b48c663327d07 arm64/vvenclibtest
b4114d3d961345783037654a47c5a0fca4093431e87ccb0733a56a8883ea864f armeabi/vvdecapp
300ab8f4360c5f8ae8af3c455946b780014996279b1f3b06736a6aa478b5778b armeabi/vvencapp
45e26c56b082c37cac917d02e8a28c9f51eb0f1c3af64af0efe82e22ac20d904 armeabi/vvencFFapp
71b2cc8b74538414ca7cee71571b79d68af87d476f2ff80992c668df5631954a armeabi/vvencinterfacetest
7328b3759cdc38388bf32da8cc66e66b0b9b49372e3277f0bbc891f79f339fb4 armeabi/vvenclibtest
5ca1ee46be191c12298552e1e1600bedd7f0ffc83abdf6d8c3b9c2232864d3be x86/vvdecapp
84bea50a737de4d08c05c05fdb49f5be3afa41c6a05ec61d55c2859d9b9e5ea4 x86/vvencapp
9d7a90980482189a753b3fadfdd3488594405ecf691fa2b80026170aa2de56f1 x86/vvencFFapp
7e1519bd095ec8bace2b696675c6cae31d946b024531488619fe6f5a1a014bb5 x86/vvencinterfacetest
43079b37046827c3bb785e005d5bd9224bca971d091c0f374be9b323d9fc847e x86/vvenclibtest
0753f76be85cf2edcac644cc517b8dfdcf203989ce7d5be1c86a955ae06e0860 x86_64/vvdecapp
ee333b63778abcde1f6054177696e6377839140c11f29cce70264cb31671de6d x86_64/vvencapp
ce825745e51b9ad4be3635bb53c621430ffa4984b4fe42be4bfdebd2bb85e885 x86_64/vvencFFapp
d7bfb886facfe1e0c9bba2e828562a7c38b4b7563ef36c4db4d37486718b5075 x86_64/vvencinterfacetest
5b872fdcd097a9d1c82792424edb991c0e6e9804c8b745a168af63b83728e613 x86_64/vvenclibtest

Binary file not shown.

View File

@ -0,0 +1,5 @@
d941622e1f51d323c557fd746529f0adb2a5f86091b0ba31c009a93fed7311b7 AndroidUVG266-8bit.7z
e2be0d3349a5d1a37b5e85024ae8db2cce0d63251f4ef562c06edec2d06e9f2f arm64/uvg266
56e588e81d8ab36108116f12421c1617822fd3894fdfd033bcf81d8dfe3fed28 armeabi/uvg266
f1168a90bf075b3db9b6605ac4bd678799f1c90fc6a4e40501d8c3f9487c5b18 x86/uvg266
9c02c5828e89c43a7663f680075e63abe38dcc754a6fefdba1b4f1f6d103fcb4 x86_64/uvg266

BIN
AndroidVVC/AndroidUVG266.7z Normal file

Binary file not shown.

View File

@ -0,0 +1,5 @@
a12e5a7efb28cdcaf5646a2e4ed3aa039c9de1eee518e10a459d770e67ba077c AndroidUVG266.7z
bbb439c41183737b09ebcb6bca0652b673b07383da217905ff128fc086f899c4 arm64/uvg266
6511750679f2e2fd956cf30e485bb731a000c8741cb8a84f239b78cd0f7f1ad3 armeabi/uvg266
945fef12e27b66034b0070f85619448579299b0817e422feff1a0b16b7430bbe x86/uvg266
f9bbb1105bac8c0f54e9e884b288bddb2e0d950d88c6087d38babc986a42bd7c x86_64/uvg266

View File

@ -0,0 +1,25 @@
7a188dc44cda1f458966a2a67cbf1b06c0428d44f8a3f3a41da4d64dc3e0f684 AndroidVVC.7z
1a336587d9e2dded21523918a68f6efde23877eac56b4994622d6633088b20bc arm64/vvdecapp
4b4ec28a48a5f8ae849801932f32a821316030a87e1a32ed4804852bb461eb15 arm64/vvencapp
bed4c6ad57e05dfbc7880cb43b1b42e3d49f9fc3cea92d7e773d731145fc59c7 arm64/vvencFFapp
7932320f4625aaa1bef28d802b59d2824a2e0d83ca30f692ec2b521edfb1ff49 arm64/vvencinterfacetest
1b32c2438c6725adb5f5d6f3fa8e7ecf2b21bbbc5022629448f6b523b7b0cb65 arm64/vvenclibtest
972291075aee29057120d74fd8f29035b0b5d42d0bae5481be8cc9c9ab7dfc66 arm64/vvenc_unit_test
41e4677ae360f9d597b6939d7cc8914f8ab2e647299e093c95cdf264de743ccb armeabi/vvdecapp
bdfb3f724f61bd7a095e01e47b41b24b4a482bf853e3ce4e2b0d74686cf5fe8a armeabi/vvencapp
3aadf2f49e38f89f0250d23871f620936d8c7cf861eabef15062b5043c7270fe armeabi/vvencFFapp
4f261a0a003a2f1cf7d41c91f2f4d6a9edb97c78fd9d575e2f1cfe402292eb64 armeabi/vvencinterfacetest
0f71b977522bc038b3230aff4d2fd5e78cffec63919de10728901e51ca375807 armeabi/vvenclibtest
8dce757079061339974cde44559ee6b23d06041281e3b7d3cee89fb8c0faf8a2 armeabi/vvenc_unit_test
4e5b3a2bf1a32582d2e4a3390a4261e2dbe282160e2d612115f9214d1e5dfc2e x86/vvdecapp
6962e8eb7f70e1bd0cf49f3b24d3c6c440f59af794ceeb2d16fc2e3fdd486751 x86/vvencapp
89eefcaf0ed43f454603e38d51b0c128b02c4c41666a9f87e1d6bb746e6ddc4d x86/vvencFFapp
e549731dd36ed89ca4e39032cd87b99a62a22f5e895f32bf2d8e0b6c845ceb21 x86/vvencinterfacetest
79b47af85b2870256e03fac06df8b0e3617f779ad38803b933c0c84ac5294256 x86/vvenclibtest
085bd529472ffd4111b4dbdd6812f1f54fd0dcb119613cda6d8b48b91f5d5e6a x86/vvenc_unit_test
d3bad14f404820ad73b63837e304ecb102e460c41f183179c3db36c53abb1d28 x86_64/vvdecapp
95090f971f1f40332315070dab805b3d02815a3259d80e662f130cbe33e8a16a x86_64/vvencapp
3de6281c55afadd14d6bec0d825b44a149c0fcccfc9ca48ff18405a1921945d6 x86_64/vvencFFapp
940553a45a50fbbdf18559a47ebfd062a7164b54d12c3a40ec7b4d128bcee69e x86_64/vvencinterfacetest
126c02588726e92a19b945b634c37de5023485478f267ae197973351885b6a83 x86_64/vvenclibtest
721ccc974065ab90274ebd6200cc03482112d637e6d5fa7b0ad022679ffc118a x86_64/vvenc_unit_test

View File

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 160 KiB

BIN
BSDVVC/BSDVVC.7z Normal file

Binary file not shown.

7
BSDVVC/BSDVVC.sha256 Normal file
View File

@ -0,0 +1,7 @@
ae56405ed933833d2efc0f9beaa1f587bb6906244fb7c4a7c34feea65c5da427 BSDVVC.7z
a6825c66debebb9af1853635a76b5dc65bf81f52125ff2e830100dd2d030fc9b vvdecapp
2673dd5d1333cbc60a058c8ad9190d55ac71ded73dfcbe34a1e4e97636ba9ece vvencapp
65c0c10feee39a766cfbf209bace4f5e31829a12191b23798d88756e7d99a39d vvencFFapp
c6ba6cc451d882d3e3272b1655ff1d56ac0fdb7d9004c6932b945bbda1c481cf vvencinterfacetest
b43cc7afc413dc0d634e41d5e3ac13d757c2361dca79d06f848de1b5a1a1a8c3 vvenclibtest
a0104a88e28b2a0e9768f9ec7a3895fe6b6f3debf756511bc92f7b4682f2d9e8 vvenc_unit_test

164
BuildFFmpeg.sh Executable file
View File

@ -0,0 +1,164 @@
#!/bin/bash
printf "\033[33m"
echo "Warning: It is deprecated, but you're welcome to use it anyway."
printf "\033[39m"
PREFIX="$(pwd)/buildffmpeg/prefix"
echo "Note: Your prefix folder with full directory will be built: $PREFIX"
case "$(uname -s)" in
Linux*)
OS="Linux"
DISTRO=$(cat /etc/*release | grep ^ID= | cut -d= -f2 | tr -d '"')
echo "Building FFmpeg VVCEasy $OS version..."
echo "Downloading system required packages..."
case $DISTRO in
debian|ubuntu)
echo "Detected Debian/Ubuntu"
sudo apt update
echo "Installing dependencies for Debian/Ubuntu..."
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
;;
arch)
echo "Detected Arch Linux"
sudo pacman -Sy
echo "Installing dependencies for Arch..."
sudo pacman -S --noconfirm base-devel cmake nasm autoconf pkg-config \
python-setuptools ninja python-pip libtool git wget xxd
sudo pip install meson
;;
fedora)
echo "Detected Fedora"
sudo dnf update -y
echo "Installing dependencies for Fedora..."
sudo dnf install -y gcc gcc-c++ cmake nasm autoconf pkgconfig \
python3-setuptools ninja-build python3-pip libtool git wget xxd
sudo pip3 install meson
;;
gentoo)
echo "Detected Gentoo"
sudo emerge --sync
echo "Installing dependencies for Gentoo..."
sudo emerge -av dev-util/cmake media-libs/nasm sys-devel/autoconf \
dev-python/setuptools dev-util/ninja dev-python/pip sys-libs/libtool \
dev-vcs/git net-misc/wget app-editors/vim
sudo pip3 install meson
;;
*)
echo "Unsupported Linux distribution: $DISTRO"
exit 1
;;
esac
;;
MSYS*|MINGW*)
OS="Windows"
extra="--disable-w32threads --enable-libcodec2"
echo "Building FFmpeg VVCEasy Windows version..."
echo "Updating and upgrading MSYS2 packages..."
pacman -Sy
echo "Installing MSYS2 packages..."
pacman -S python git nasm vim wget xxd $MINGW_PACKAGE_PREFIX-{toolchain,cmake,autotools,meson,ninja}
;;
Darwin*)
OS="macOS"
echo "Building FFmpeg VVCEasy macOS version..."
echo "Checking for Brew packages requirements..."
if ! command -v brew &> /dev/null; then
echo "Homebrew is not installed. Please install Homebrew and try again."
exit 1
else
brew install ffmpeg cmake nasm opus meson autoconf automake wget ninja
fi
;;
*)
echo "Only for Windows, macOS & Linux are only supported"
exit 1
;;
esac
clonepull() {
if [ ! -d "$1" ]; then
git clone --depth=1 "$2" "$1"
else
git -C "$1" pull
fi
}
[ ! -d buildffmpeg ] && mkdir buildffmpeg
cd buildffmpeg
[ ! -d prefix ] && mkdir prefix
clonepull FFmpeg-VVC https://github.com/MartinEesmaa/FFmpeg-VVC
clonepull vvenc https://github.com/fraunhoferhhi/vvenc
clonepull vvdec https://github.com/fraunhoferhhi/vvdec
clonepull fdk-aac https://github.com/mstorsjo/fdk-aac
clonepull SDL https://github.com/libsdl-org/SDL -b SDL2
clonepull libxml2 https://github.com/gnome/libxml2
clonepull opus https://github.com/xiph/opus
clonepull libjxl https://github.com/libjxl/libjxl
clonepull zimg https://github.com/sekrit-twc/zimg
clonepull soxr https://github.com/chirlu/soxr
clonepull dav1d https://code.videolan.org/videolan/dav1d
clonepull vmaf https://github.com/netflix/vmaf
gitsub="submodule update --init --recursive --depth 1 --recommend-shallow"
if [ $OS = "Windows" ]; then
clonepull codec2 https://github.com/drowe67/codec2
fi
if [ ! -d libjxl ]; then
sed -i 's/-lm/-lm -lstdc++/g' libjxl/lib/jxl/libjxl.pc.in libjxl/lib/threads/libjxl_threads.pc.in
git -C libjxl $gitsub
fi
if [ ! -d zimg ]; then
git -C zimg $gitsub
wget -q -O - https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/zimg/0001-libm_wrapper-define-__CRT__NO_INLINE-before-math.h.patch | git -C zimg apply
fi
make="make install-r install-prefix=$PREFIX"
autogen="./autogen.sh && ./configure --prefix=$PREFIX --enable-static --disable-shared && make install -j $(nproc)"
cmakeoptions="-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_SHARED_LIBS=OFF -B build"
mesonoptions="-Ddefault_library=static -Dprefix=$PREFIX -Denable_docs=false"
for MKBUILD in vmaf/libvmaf dav1d; do
mkdir -p "$MKBUILD"/build
done
cd vvenc && $make && cd ..
cd vvdec && $make && cd ..
cd fdk-aac && $autogen && cd ..
cd libxml2 && $autogen && cd ..
cd opus && CFLAGS="-O2 -D_FORTIFY_SOURCE=0" LDFLAGS="-flto -s" $autogen && cd ..
cd libjxl && cmake $cmakeoptions -DBUILD_TESTING=OFF -DJPEGXL_ENABLE_{BENCHMARK,MANPAGES,EXAMPLES,DOXYGEN}=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=ON -G Ninja && ninja -C build install && cd ..
cd vmaf/libvmaf/build && CFLAGS="-msse2 -mfpmath=sse -mstackrealign" meson -Denable_tests=false -Denable_float=true $mesonoptions .. && ninja install && cd ../../..
cd SDL && cmake $cmakeoptions && make install -C build -j $(nproc) && cd ..
cd zimg && $autogen && cd ..
cd soxr && cmake -D{WITH_{LSR_BINDINGS,OPENMP},BUILD_TESTS}=off $cmakeoptions && cmake --build build -j $(nproc) --target install && cd ..
cd dav1d/build && meson $mesonoptions .. && ninja install && cd ../..
sed -i 's/-lm/-lm -lstdc++/g' $PREFIX/lib/pkgconfig/libvmaf.pc
if [ "$OS" = "Windows" ]; then
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"
cmake -B build $cmakeoptions -D{UNITTEST,INSTALL_EXAMPLES}=off -G "MinGW Makefiles"
cmake --build build -j $nproc --target install
cd ..
fi
cd FFmpeg-VVC
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
./configure --prefix=$PREFIX --enable-{static,pic,sdl2} --pkg-config-flags="--static" --extra-ldexeflags="-static" \
--enable-lib{fdk-aac,vvenc,vvdec,xml2,opus,dav1d,jxl,zimg,vmaf,soxr} $extra --extra-version=VVCEasy && \
make -j
cd ..
echo It is ready to go for prebuilt binaries of FFmpeg-VVC, you need to go directory called FFmpeg-VVC.
echo "- 2024 Martin Eesmaa (VVCEasy, MIT License)"

136
BuildVVC.sh Executable file
View File

@ -0,0 +1,136 @@
#!/bin/bash
OS=$(uname)
DISTRO=""
# Detect Linux distribution
if [ "$OS" = "Linux" ]; then
if [ -f /etc/os-release ]; then
DISTRO=$(awk -F= '/^ID=/{print $2}' /etc/os-release)
fi
fi
echo "Martin Eesmaa / VVC Compiler (vvenc and vvdec)"
if [ "$OS" = "Linux" ]; then
echo "You're running on $OS with distribution $DISTRO of bash script version to compile VVC binaries"
else
echo "You're running on $OS of bash script version to compile VVC binaries"
fi
if [ "$OS" = "SunOS" ]; then
echo "Sorry, SunOS like Oracle Solaris is not supported due to various error compilations for compiling VVC binaries."
exit 1
fi
echo "Checking and installing required packages..."
setup_debian() {
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential cmake git -y
}
setup_fedora() {
sudo dnf update -y
sudo dnf install cmake gcc gcc-c++ make git -y
}
setup_arch() {
sudo pacman -Syu --noconfirm
sudo pacman -S --noconfirm base-devel cmake git
}
setup_gentoo() {
sudo emerge --sync
sudo emerge cmake git
}
setup_macos() {
echo "Please make sure Xcode is installed in your Applications."
if ! command -v brew &> /dev/null; then
echo "Homebrew is not installed. Please install Homebrew and rerun the script."
exit 1
fi
if ! brew list | grep -q cmake; then
echo "Installing cmake..."
brew install cmake
fi
}
setup_msys64() {
pacman -Syu --noconfirm
pacman -S --noconfirm base-devel cmake git
}
setup_freebsd() {
pkg update && pkg upgrade -y
pkg install -y cmake git gmake
}
build_repos() {
for clone in vvenc vvdec; do
if [ ! -d $clone ]; then
git clone --depth=1 https://github.com/fraunhoferhhi/$clone
else
git -C $clone pull
fi
done
for REPO in vvenc vvdec; do
cd $REPO
mkdir -p build && cd build
if [ "$OS" = "Darwin" ]; then
CORES=$(sysctl -n hw.ncpu || echo 1)
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j $CORES
else
CORES=$(nproc || echo 1)
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS="-static" ..
cmake --build . -j $CORES
fi
cd -
done
echo "Please see the build files starting with (vvenc/vvdec)/bin/release-static."
}
# Main script execution
case "$OS" in
Linux)
case "$DISTRO" in
debian|ubuntu)
setup_debian
;;
fedora)
setup_fedora
;;
arch)
setup_arch
;;
gentoo)
setup_gentoo
;;
*)
echo "Unsupported Linux distribution: $DISTRO"
exit 1
;;
esac
;;
Darwin)
setup_macos
;;
MSYS_NT*|MINGW64*)
setup_msys64
;;
FreeBSD)
setup_freebsd
;;
*)
echo "Unsupported OS: $OS"
echo "Supports Windows MSYS64, macOS, Linux & FreeBSD"
echo "May coming soon for some platforms..."
exit 1
;;
esac
build_repos
read -p "Finished building vvenc & vvdec. Press [Enter] to continue..."

View File

@ -4,6 +4,20 @@ To view or download releases with changelogs, please go to https://github.com/Ma
This is local changelog file.
v2.7.0 Release (June 23, 2024):
- Updated FFmpeg and MPV VVCEasy builds
- Updated VVC binaries
- Added BSD x86_64 nightly VVC binaries (compiled on FreeBSD 13.3)
- Updated Windows VLC VTM VVC Decoder plugin
- Added Linux arm64 & macOS arm64 FFmpeg VVCEasy build support
- Added MPC-BE information on LAVFilters folder
- Added uvg266 binaries of Windows, macOS, Linux and BSD.
- Updated 7-Zip latest
- Added gitignore file
- Improved Windows batchfile script
- New libvvenc codes from official FFmpeg is done.
v2.5.0 Release (April 11, 2024):
- New FFmpeg VVCEasy builds of Windows & Linux using my forked repository from BtBn/FFmpeg-Builds and up to 7.0 nightly latest.

View File

@ -1,168 +0,0 @@
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 wget $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-VVC ]; 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 -b SDL2
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 zimg ]; then
git clone --depth=1 https://github.com/sekrit-twc/zimg
git -C zimg submodule update --init --recursive --depth 1
wget https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/zimg/0001-libm_wrapper-define-__CRT__NO_INLINE-before-math.h.patch
git -C zimg apply 0001-libm_wrapper-define-__CRT__NO_INLINE-before-math.h.patch
rm 0001-libm_wrapper-define-__CRT__NO_INLINE-before-math.h.patch
else
git -C zimg pull
git -C zimg submodule update --init --recursive --depth 1
fi
if [ ! -d soxr ]; then
git clone --depth=1 https://github.com/chirlu/soxr
else
git -C soxr pull
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 --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 zimg:
cd zimg && autoreconf -if && ./configure --disable-shared --prefix=$MSYSTEM_PREFIX && make install -j $nproc
cd ..
echo Starting to build soxr:
mkdir soxr/build && cd soxr/build && cmake -D{WITH_LSR_BINDINGS,BUILD_TESTS,WITH_OPENMP}=off -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -Wno-dev .. -G "MinGW Makefiles"
cmake --build . -j $nproc --target 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-gpl --enable-version3 --enable-nonfree --enable-libfdk-aac --enable-static --enable-libvvenc --enable-libvvdec --enable-pic \
--enable-zlib --enable-libxml2 --enable-libdav1d --enable-libopus --enable-libcodec2 --enable-libjxl --enable-libzimg \
--enable-libvmaf --enable-libsoxr --extra-ldexeflags=-static --pkg-config-flags=-static --disable-w32threads --enable-sdl2 --extra-version=VVCEasy && \
make -j
echo FFmpeg VVC version tools are now compiled, please see buildffmpegwin/FFmpeg folder.

View File

@ -28,31 +28,57 @@ On February 24 2024, the finally moment about Intra Block Copy has been merged i
His hard work is very good and made by [nuomi2021](https://github.com/nuomi2021) to make native VVC decoder release to FFmpeg.
Now you can use official FFmpeg binaries by BtBn or Gyan or my custom build of FFmpeg VVCEasy build to play or decode VVC in FFmpeg. Also mpv too with shinchiro or VVCEasy builds. :)
But on March 14th 2024, James Almer set VVC native decoding from stable to experimental by reasons due to problem issues with different MD5 of some rare videos encoded along advanced parameters.
Frank Plowman and Nuo Mi removed experimental flag, cause it's now fully stable completed on September 7 2024 and should be released on version 7.1 for future date.
Meanwhile, you can use official FFmpeg binaries by BtBn or Gyan or my custom build of FFmpeg VVCEasy build to play or decode VVC in FFmpeg. Also mpv too with shinchiro or VVCEasy builds. :)
But for libvvenc VVC encoder has not implemented yet into official FFmpeg. FFmpeg VVCEasy build has still libvvenc VVC encoder available by Martin Eesmaa's FFmpeg-VVC repository.
# Official FFmpeg VVC external encoder implementation
On 15th June 2024, the external VVC encoder feature is released on FFmpeg.
See commit: https://github.com/FFmpeg/FFmpeg/commit/c75940db290478df657c09089605d221dc47118e
His hard work was very good and made by Thomas Siedel, authored by nuomi2021 and also co-authored by Christian Bartnik.
This might come later to add feature after compiling for FFmpeg Gyan and BtBn builds, but FFmpeg VVCEasy builds is still available.
# Official Gyan & BtBn FFmpeg Builds of libvvenc support
Since 1st July 2024, Gyan added libvvenc support to FFmpeg.
Since 31st July 2024, Martin Eesmaa authored and BtBn committed to add libvvenc support, see the commit and my attempted pull request:
https://github.com/BtbN/FFmpeg-Builds/commit/9b364761580b399266172956eed9778211b094a8
https://github.com/BtbN/FFmpeg-Builds/pull/393
# Limitations of FFmpeg VVC encoder
Before encode to VVC video codec, see the limitations below.
Before encoding VVC video codec, see limitations below.
libvvenc (FFmpeg vvc version) works for:
FFmpeg-VVC (for libvvenc feature) works for:
- Pixel format ⚠️ (only pixel format 10 bit is default, but you can still encode 8 bit by using `-bitdepth8 1`)
- 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 ✅ (only works for stable if it's encoded VVC with MP4 or TS on FFmpeg and mp4box for muxing still works)
- Mux MP4/TS container from raw bitstream on FFmpeg ⚠️ (the first frame freezes may just print error messages for libvvdec when muxed and seeking in FFmpeg, use mp4box for recommendation)
- 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)
- Demux ✅
- Audio with encode VVC ✅
- Broadcasting ✅ (MPEG-TS)
- Streaming ✅ (MPEG-DASH)
- Bitrates ✅ (average (`-b:v`) and maximum bitrate (`-maxrate`) are only supported)
- Passes ⚠️ (you may need get passes using vvenc params on FFmpeg VVCEasy or use vvencapp, also it is only available to use bitrate for two passes, QP supports only one pass)
- Presets ✅
- QP ✅
- HDR
| Features | Notes |
--- | --- |
Pixel format | ⚠️ (only pixel format 10 bit is default, but you can still encode 8 bit by using vvenc params `-vvenc-params InternalBitDepth=8`)
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 | ✅ (only works for stable if it's encoded VVC with MP4 or TS on FFmpeg and mp4box for muxing still works)
Mux MP4/TS container from raw bitstream on FFmpeg | ⚠️ (the first frame freezes may just print error messages for libvvdec when muxed and seeking in FFmpeg, use mp4box for recommendation)
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)
Demux | ✅
Audio with encode VVC | ✅
Broadcasting | ✅ (MPEG-TS)
Streaming | ✅ (MPEG-DASH)
Bitrates | ✅ (average (`-b:v`) and maximum bitrate (`-maxrate`) are only supported)
Passes | ⚠️ (you may need get passes using vvenc params on FFmpeg VVCEasy or use vvencapp, also it is only available to use bitrate for two passes, QP supports only one pass)
Presets |
QP | ✅
HDR | ✅
Built in libvvenc for FFmpeg command:
@ -62,13 +88,13 @@ 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:
Additionally... you can convert to VVC video without taking a much space for vvencapp by using pipe for 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:
Converting from xHE-AAC to AAC audio:
```
ffmpeg -c:a libfdk_aac -i mymusic.m4a -c:a aac -b:a 128k mymusic.aac
@ -89,15 +115,15 @@ 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**
For Linux and Mac OS users: Type correctly `MP4Box` for execute binary, but no small or big lettercase letters.
# FFmpeg Downloads (xHE-AAC & VVC en/decoder plugin compiled by Martin Eesmaa)
[Windows x64](https://mega.nz/file/Wp0HULZZ#cwoeAihRm7nPBBuFtFG3miXwMP0oJrqhqLTKWp3F37Q)
[Windows (x64/x86/winarm64) & Linux (x64/arm64)](https://github.com/MartinEesmaa/FFmpeg-Builds/releases/tag/latest) - Automated builds every day at 12:00 (12 PM) UTC of FFmpeg VVCEasy custom builds.
[Mac OS x86_64](https://mega.nz/file/G1tEEDJa#xVytDb_KuRfNJoaoEeVevLEN3syVH4z6vDa-YJB5-sY)
[Mac OS x86_64](https://mega.nz/file/jo0RWZSC#PIGNsk1ak_W3vVJTNy09hTx0f2OoZgJd9MvXOoXGMAI)
[Linux x64](https://mega.nz/file/n1lBhI7J#euCBkKAY-r5olLNZYA99XtII90f9vhXjvEoPNebw-ZE)
[Mac OS arm64](https://mega.nz/file/e1FmATYA#WYSRWKJ8kE_60PhyitPDOUu8dxvD-RnQIdujcu4FjDE)
[FFmpeg-FixVVC archived old source code](https://mega.nz/file/G81QyT5S#jcbE1sYPEy1OMIDPCF8BPeAK-3KAGF50u23MVJzmBgw) (old)
@ -105,8 +131,38 @@ For Linux and Mac OS users: Replace **mp4box** by **gpac**
Also, please check changelog before you download the new version.
Since 15th October 2024, Windows and Linux custom builds of FFmpeg-VVC on my forked repo FFmpeg-Builds will turn from my manual time to automatic computer to save my time.
## Deprecated manual builds
Before automated builds started of Windows & Linux, here are the last links of manual pre-compiled builds:
[Windows x64](https://mega.nz/file/a80X2aRS#0wqGq88L4ar23HZAOtkok4zJiXsz9d8-1HZu3WH33nM)
[Linux x64](https://mega.nz/file/vlknXAKL#VoK400iQJPmrDsfbI5Nigr3MSgDudGe3P1cAlPrIOMc)
[Linux Arm64](https://mega.nz/file/al9kjBqL#W_WT-lNM8osAMsdQaKkpe6Ksd4fMO4GKXysMB5IjiJQ)
### Changelog
```
06/04/2025: Updated FFmpeg with latest, vvenc, vvdec and others. Sorry for six months. (macOS only)
16/10/2024: Added libgsm external feature to FFmpeg VVCEasy builds for Windows & Linux only.
15/10/2024: Fixed missing JPEG-XL demux MKTAG of MP4/MOV container format bug.
15/10/2024: Fix JPEG-XL MP4/MOV mux bug.
15/10/2024: Updated FFmpeg with latest nightly, vvenc, vvdec and others. Fix static VVC Matroska mux, added Dolby AC-4 experimental decoder back & support JPEG-XL of mux on MP4, MOV, MKV, TS & AVI, also VVC mux of AVI. Automatic builds are on way for Windows & Linux...
05/10/2024: Updated FFmpeg with up to 7.1 and latest nightly, vvenc, vvdec latest up to 3.0.0-rc2 and others.
25/09/2024: Updated FFmpeg with latest nightly, vvenc, vvdec and others. Added support of qrencode and quirc for QR-code encoding/decoding external filter for Windows & Linux builds only. (sorry for hiatus nearly three months)
30/06/2024: Updated FFmpeg with latest nightly, vvenc and others. Added support of SVT-HEVC and SVT-VP9 external libraries to FFmpeg VVCEasy builds for Windows & Linux x86_64 only.
28/06/2024: Updated FFmpeg with latest nightly, vvenc, vvdec and others. New Film Grain Synthesis (FGS) has added to vvenc (experimental) and vvdec.
22/06/2024: Updated FFmpeg with latest nightly, vvenc and others.
21/06/2024: Fix macOS x86_64 FFmpeg VVCEasy build from wrong architecture and added already support macOS FFmpeg VVCEasy arm64 build.
16/06/2024: Updated FFmpeg with latest nightly, officially new libvvenc feature to official FFmpeg, updated vvenc, vvdec and others.
06/06/2024: Updated FFmpeg with latest nightly, added experimental xHE-AAC native decoder, but I turned it off to avoid problems.
05/06/2024: Updated FFmpeg with latest nightly, vvenc, vvdec and others.
08/05/2024: Updated FFmpeg with latest nightly, vvdec and others.
29/04/2024: Updated FFmpeg with latest nightly and others. Added official VVC Matroska tag of V_MPEGI/ISO/VVC in libavformat/matroska.c.
24/04/2024: Updated FFmpeg with latest nightly, added SAC (State of the Art Codec) demuxer (code by Martin Eesmaa), aom, x264, x265, dav1d and others.
18/04/2024: New Linux Arm64 FFmpeg VVCEasy build. Updated FFmpeg, libopus and others.
09/04/2024: Updated FFmpeg with latest nightly and added early LC3 muxer & demuxer can encode, decode and play LC3 by liblc3 (Windows & Linux are already have liblc3) from FFmpeg patchwork.
06/04/2024: Updated FFmpeg up to 7.0 latest with nightly, others & added Google LC3 encoder/decoder using liblc3 feature to Windows and Linux.
31/03/2024: Updated FFmpeg, vvenc, libopus and others.
@ -182,13 +238,13 @@ Step 3: Click "Open" button, this does not hurt your computer.
Requirements:
Xcode
- Xcode
CMake
- CMake
NASM
- NASM
Homebrew
- Homebrew
Code to build FFmpeg VVC version:
@ -216,9 +272,9 @@ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
make -j
```
# Linux builders (Important for FFplay) (old)
# Linux builders (Important for FFplay) (old, deprecated)
You can build using [Linux script](libvvdecffmpeg.sh).
You can build using [Linux script](BuildFFmpeg.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.
@ -228,9 +284,79 @@ If compiling is success and finished, you can install FFmpeg VVC for using the c
mv ffmpeg ffmpeg_vvceasy
mv ffplay ffplay_vvceasy
mv ffprobe ffprobe_vvceasy
sudo cp ffmpeg_vvceasy ffplay_vvceasy ffprobe_vvceasy /usr/local/bin
sudo cp ff*_vvceasy /usr/local/bin
```
On Windows is also available to compile FFmpeg-VVC using MSYS2, but build of FFmpeg-VVC shell script is deprecated.
# Compile FFmpeg-Builds for Windows & Linux
If you want to compile by your own self FFmpeg with VVC support + xHE-AAC, here's what you need to do:
You may need:
- Any Linux distribution to cross-compile for Windows & Linux. Recommended architecture for x86_64 (amd64) to make faster compiling.
- Docker Engine (https://docs.docker.com/engine/install/)
- Git for clone repository to local computer.
- Network connection for downloading repositories.
**Tip:** If you don't want to compile, you can download my latest automated builds of Windows & Linux, [link here](https://github.com/MartinEesmaa/FFmpeg-Builds/releases/tag/latest) and also you can have look logs on Actions tab.
Anyway moving to Step 1 by compiling manually.
Step 1: You need to install Docker Engine and to use shell script on Linux or maybe possible Windows using MSYS2.
On Arch Linux, install: `sudo pacman -S docker`.
Step 2: After installing Docker Engine, clone the repository following by:
```
git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-Builds
cd FFmpeg-Builds
chmod +x *.sh
```
If you have not installed Git, please install Git on your package manager on your Linux distribution.
Step 3: Make image and build FFmpeg, example you can build one or two builds.
```
./makeimage.sh win64 nonfree && ./makeimage.sh linux64 nonfree
./build.sh win64 nonfree && ./build.sh linux64 nonfree
```
Non-free allows to enable Fraunhofer FDK feature, other licenses may not allow to bring Fraunhofer FDK feature to FFmpeg.
**Tip 2:**: If you don't want make image, Martin Eesmaa's pre-package of non-free feature is only available. It saves your time without making it.
```
./build.sh win64 nonfree && ./build.sh linux64 nonfree
```
This will download Martin Eesmaa's pre-package of non-free feature only. However only non-free pre-package is available, not others. If you would like want others than non-free, you can create an feature request to VVCEasy repo on GitHub.
Step 4: After making image and building FFmpeg, you can look `artifacts` folder by inside compressed files of Windows & Linux.
### Troubleshooting
1: If you tried to make image and you got permission denied after trying to run Docker as non-root user.
To fix the issue and make grant access permission Docker to your user:
```
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
```
After these commands, try again to build image again.
If it's still error, reboot the machine.
2: If the network connection is interrupted or disconnected while downloading repository and made timed out, it is recommended to cancel and retry again.
Press CTRL + C to cancel operation on your keyboard and try it again with make image or/and build FFmpeg command.
3: If that did not work for you, please create an issue to VVCEasy or join communities of Discord, Revolt or/and Matrix to solve your problem.
# Special thanks
VVC programmers of FFmpeg:

View File

@ -15,6 +15,28 @@ C:\Program Files\VideoLAN\VLC\plugins\demux
Step 3: Enjoy and play your h266 file into your VLC Media Player :).
### Explanation
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.
### For Linux users
Open terminal and copy code:

View File

@ -10,6 +10,8 @@ Original source code: https://github.com/Nevcairiel/LAVFilters
Changelog:
```
30/03/2025: Updated LAVFilters with new commits, FFmpeg, vvdec and others. Sorry long time and also sorry big DLL sizes.
01/10/2024: Updated LAVFilters with new commits, FFmpeg, vvdec and others. Added support VVC Matroska demux and also much better for shrinking DLL files down.
09/04/2024: Updated LAVFilters with new commits, FFmpeg and others.
30/03/2024: Updated LAVFilters with new commits, FFmpeg, vvdec and others, still uses libvvdec library and disabled VVC native decoder.
29/01/2024: Updated LAVFilters with new clsid2 commits, FFmpeg, vvdec and others.
@ -20,11 +22,11 @@ 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.
```
## MPC-HC 2.2.0 (VVC version)
## MPC-HC 2.3.5 (VVC version)
MPC-HC 2.2.0 comes with LAVFilters VVC installed and it is portable.
MPC-HC 2.3.5 comes with LAVFilters VVC installed and it is portable.
You can download via cloud link: https://mega.nz/file/X512UBwA#5HQ6Tj2ZfsNWimMitnR73SR3PcDAKCj4fdGIxELHu0I
You can download via cloud link: https://mega.nz/file/i5tnRBIQ#W342OZPr0E0iuOUCPB-Yd7ASKxlPF3J41p-7dlm-vww
After downloading, extract compressed file via [7-Zip](https://7-zip.org) and run `mpc-hc64.exe`. This program doesn't require administrator privileges.
@ -32,6 +34,7 @@ Original forked source code: https://github.com/clsid2/mpc-hc
Changelog:
```
01/10/2024: Updated MPC-HC, LAVFilters with new commits, FFmpeg, vvdec, yt-dlp and others. Added support VVC Matroska demux and also much better for shrinking DLL files down.
09/04/2024: Updated MPC-HC, LAVFilters with new commits, FFmpeg and others.
30/03/2024: Updated MPC-HC, LAVFilters with new commits, FFmpeg, MediaInfo, yt-dlp, vvdec and others, still uses libvvdec library and disabled VVC native decoder.
29/01/2024: Updated MPC-HC, LAVFilters with new clsid2 commits, FFmpeg, vvdec, Mediainfo, yt-dlp and others.
@ -40,4 +43,16 @@ Changelog:
05/08/2023: Uploaded MPC-HC 2.0.0 portable x64 VVCEasy version with LAVFilters64 installed.
```
## MPC-BE 1.7.0+ (Black Edition)
Since MPC-BE version 1.7.0 and later, it supports VVC (libvvdec) and USAC (libfdk_aac) decoding.
MPC-BE is Windows universal video and audio player improved similar and more external features added than MPC-HC.
Original forked source code: https://github.com/Aleksoid1978/MPC-BE
You can download binaries on GitHub releases: https://github.com/Aleksoid1978/MPC-BE/releases
Nightly builds: https://github.com/Aleksoid1978/MPC-BE/wiki/Nightly-builds
- Martin Eesmaa

Binary file not shown.

View File

@ -1,21 +1,25 @@
a420c1ac51177e52b5d6fc5ce8f295c12d4c92a578f3678027d944337ca6070e arm64/vvdecapp
1934aad8f16f54f9f97198617bf61d8e240ad85d23550f384e7c6919c0ced867 arm64/vvencapp
881864fd59cad0bd52a474e9f95b5e2cd274623ba09f51731b5e9e90b95ba34d arm64/vvencFFapp
06eff05455824e2fa038dbc5cd4c0b7d54ae9672ebe41a4052bf881cd29a88ef arm64/vvencinterfacetest
90e28323e4787636709bdf7fbe4d6f2449b8699a9b5c6cc29040f6d51502a383 arm64/vvenclibtest
5bc52459de5c282e5c118c3d2e0dc3f43033af107f15d2b1e4f8e5fd5ca5546d armv7/vvdecapp
3f7ec46b198d026d7ae84a0df5de236311da6aa933276019c2084998f7051922 armv7/vvencapp
b9c53ca98d81e1a713c5a6b83d14cdd568c0a2902121fa261d311eb7ee4d15f2 armv7/vvencFFapp
b1df774f659ef9f097b588ffdcbf6a6fceac9a13f15031f6cd5f248ae79485b2 armv7/vvencinterfacetest
b7e58496a48449707da596f0bd6a8c08c75475ad11753586c8f0cc05ad64af25 armv7/vvenclibtest
00ee3d9e087f80cd88a776608000b068ab4945984d9a55acd45e6b3dd95fe527 LinuxVVC.7z
4024697d2b94b18ff09595526aa7d20c5d5f123d1c64b758a2ddd7e340bf17ce x64/vvdecapp
185c093defad1f85857f90400bd75cf0b5a127eb2f2d2c8504490aa550cfb3fd x64/vvencapp
7f0079d853fbca6d6b81b1bbe71157c3e9b3dda4f07f30d757b8943278dc6a9f x64/vvencFFapp
1874c8a8def14b7a5c7b2b7e4013ceb9853aa37d4533687311486943af40f7f3 x64/vvencinterfacetest
c49f06adcd55e40dda9662e35d0db30648db500205fff3125eb666b84dcdbc52 x64/vvenclibtest
5bc52459de5c282e5c118c3d2e0dc3f43033af107f15d2b1e4f8e5fd5ca5546d x86/vvdecapp
3bf31f047d900602729936862dd38baebbe6c7317bf6cb47f8ebf9524d7390e1 x86/vvencapp
73314fc525d7e0cbf1a3e9b4cbd14d6cc890fc188707ce176f8f7ac332da4e09 x86/vvencFFapp
45fdca2580d9d769aa42b5e5063a381bd7e081515a108759794b229722b88e92 x86/vvencinterfacetest
b8ecf444121ecee6c200cdbe0fe01e5014bc7bc72f58e376ae207dfdbd3a1ea0 x86/vvenclibtest
10d026b94b28e0550b92a6f33972a13a5860e4ab2e542871c4e7db96f15e3ace arm64/vvdecapp
b5e9ad76c4e0a08c66177b5b6861ad04aee9d81fa3b4c698e4ba70eb675a2fb1 arm64/vvencapp
02c7b9f7f5a470ab936a48bf237131bfae1c447ca4ebf531e4d82901fa6a1e8a arm64/vvencFFapp
af215bec38884bbb1d84cfda6b498e9c19b39938651120093b051fe252549dab arm64/vvencinterfacetest
f960c2d20724a36013fccb0abfa2398d7bbfdeba488a13836b3cf361084d7bf2 arm64/vvenclibtest
13b47d4a53d8053039f5a854de9d5ec844537a2886ba5e62b973ad59e8885c53 arm64/vvenc_unit_test
e9e5b1535f1ae4bf106dc207d118d649c5ec8e148388085be23a13701b187054 armv7/vvdecapp
0f2298dfb3f0fecda57bfe3b3c560a36f0814288bade41075c85b576994a63af armv7/vvencapp
cf68db364b5c9550d38d54a18f89e38d0372d92630a205a92b13ea9f8f146cad armv7/vvencFFapp
c879451a850831d38083daf20569caa9d4d76684fe467873bda1ae964bcd2000 armv7/vvencinterfacetest
d0a4ae46beaa466f1b7e6594363ac818c0b376068f426213d76c3e22daea2492 armv7/vvenclibtest
3e0cda322329aabd93f266718941a79c1521c163d846ee2ed2b29e548d11d2df armv7/vvenc_unit_test
f6ebc2aff881a94e5380c7c12695b029d1ddaef85f4ad9e829dc62229a070da3 LinuxVVC.7z
00523a8d286f2b53665a8e0fe97f0665b82864f5ccb6bdc27dfaf0721031e7e4 x64/vvdecapp
dbfe46e6400337bbc8c5a2df277bdd7fd3d4182d39084cf73e0517ff8c95dbc4 x64/vvencapp
1328ed26c434261da8356315b68ec7f075797ad78e0cc608cefffc9cb3f0d4b4 x64/vvencFFapp
f424bc8b83ccff22919b53f78b32830fdc76a2fa8e1ff8760aa0403e2e3f844f x64/vvencinterfacetest
432dc6d4b5eb0ec4e5979042506a0b760071f9a5534363db338b018cb77a893d x64/vvenclibtest
44b7fa55efc6805a7e4a87c25d77c08cb6388828aecb50a1aa3ddb604afe0c3e x64/vvenc_unit_test
47e02af479e38d88f0a8994fa79d22da4be88ae94ce61a301c2d18ce3d0b4ae9 x86/vvdecapp
4269acf3a5bfec6b82ca4c677ec611b8f482db7707d0966f392b3f13f44da278 x86/vvencapp
a92b62073d7906ce2a79de06bbbe5944ea10cad6d92932acc5300190b3c62819 x86/vvencFFapp
806952c6962379f258152c4419e32c3a31781557493c5a9a5c2645e87a8c0444 x86/vvencinterfacetest
3993604e75244afcda2538b8fbea106033ddcc36c591ae26c901ae7fb29def52 x86/vvenclibtest
a0b8497f94394342a063ba0ba10f630bcdf13d574b31a155b8a24fbe22b17acd x86/vvenc_unit_test

34
MPV.md
View File

@ -14,23 +14,25 @@ Screenshot preview, see top-left information of toggle stats on Windows/Linux/An
# Download MPV Windows/Linux/Android Player (libvvdec + xHE-AAC plugin)
[Windows 7 and later x64](https://mega.nz/file/v5sy0arD#673X-XfbrQYqDViVzAe8YBPQblTXdxeYqxiRh5oip4A)
[Manual builds generated Windows x64 on GitHub Actions](https://github.com/MartinEesmaa/mpv-winbuild-cmake/releases)
[Windows MPV.NET VVCEasy version x64](https://mega.nz/file/D98jkBrY#_8A8wNkiH5dOxQeVCK4zi9rdF2gx2X-h0sYX7NH23A4)
[Windows 7 and later x64](https://mega.nz/file/20syxBgS#69Hs6eKFHJz1seJFVeP1bZ_Qv7Zb4ygCC90rQqfBY7o)
[Windows MPVLIB VVCEasy version x64](https://mega.nz/file/K912BbIB#q-7al1uTgejrA9m4jN6ZtYOpJER7yOkxB1fIIHw2zqY)
[Windows MPV.NET VVCEasy version x64](https://mega.nz/file/mgVCBAIb#cxLIN76oRacfnVLhHBEjieGwz2M0CeV9mI2mbHc6aFo)
[Windows MPVLIB VVCEasy version x64](https://mega.nz/file/Tl92DKzA#DuE3ZMBT4sd1wOO6YAOZXrj0tMLsGvlbCXlU7YsVWVE)
[Windows 7 and later x86_64-v3 native](https://mega.nz/file/u1l2zTYA#HmiZtkd46EMd9pqcTnhWGC-M3nCv3Y__jLN9T7jLc-c)
[Windows MPVLIB VVCEasy version x86_64-v3 native](https://mega.nz/file/24UggbYD#CsTqPGLa4nEfs_9UheV0auISenDXqFdu465PZfRqozY)
[Linux MPV VVCEasy version x64](https://mega.nz/file/P1cFSLBA#1puDExJEG-sQOvv-BzLpUzRhcQp78dkoB8lma1k6AcQ)
[Linux MPV VVCEasy version x64](https://mega.nz/file/roNhCRzA#0a4Gl4hcldnv034KlvRPdHgBy02I3TyUyPVv4SCTBN4)
[Arch Linux MPV VVCEasy version x64](https://mega.nz/file/2pFDTSzT#GwoVQ0u6RStUwjk3rc5LkIzLQgmSDMhgV1Xk8WMeQ-w)
[Android API 29 .APK Debug (Recommended)](https://mega.nz/file/r4cExARB#7-g9_vBlY2L0c59dM7xJ3SWP2Lm8D4rbQti4NMRVnsI)
[Android API 29 .APK Debug (Recommended)](https://mega.nz/file/DkswgKIT#rRhjtWR1TzwZU6yZECQsoPaWRLmnqgbWORZYi0RnlQI)
[Android API 29 .APK Release unsigned](https://mega.nz/file/j81yVKQJ#3tbBL2wHSlW-gvH1eKNPtwOoiqMwIoEx8dXijymb7iM)
[Android API 29 .APK Release unsigned](https://mega.nz/file/6gNRVLrR#cmgB7AaBFIm2XgG3spuAdGbzw9VCUHSLD5mPwSIIJok)
# Official MPV VVC native decoder implementation
@ -53,6 +55,16 @@ Switched native VVC decoder back to external VVC decoder of libvvdec after nativ
Please check the changelog before you download the new version.
```
01/04/2025 - Fixed Linux MPV VVCEasy build by removing shared object file of libstdc++ for some distributions.
28/03/2025 - Added manual automatic builds of Windows x64 inside GitHub actions on my forked repo.
19/03/2025 - After nine months, it is now updated MPV Linux VVCEasy build with latest version.
07/12/2024 - Updated Windows MPV/MPV.NET/MPV LIB VVCEasy build with FFmpeg latest, vvenc, vvdec, Mediainfo and others. Automatic builds will be soon for Windows, Linux and Android if possible.
07/10/2024 - Updated Windows MPV/MPV.NET/MPV LIB VVCEasy build with FFmpeg for up to 7.1, vvdec up to 3.0.0-rc2, Mediainfo and others.
20/06/2024 - Updated Windows MPV/MPV.NET/MPV LIB & Linux standalone AppImage VVCEasy build with FFmpeg, vvdec, MediaInfo and others.
17/06/2024 - Updated Android MPV VVCEasy latest build by replacing old FFmpeg by current new FFmpeg-VVC.
30/05/2024 - Updated Windows MPV/MPV.NET/MPV LIB VVCEasy build with FFmpeg, vvdec and others.
29/04/2024 - Updated Windows MPV/MPV.NET/MPV LIB & Linux standalone AppImage VVCEasy build with FFmpeg and others. Added official VVC Matroska tag of V_MPEGI/ISO/VVC, also still supports vvc1 fourcc on V_QUICKTIME tag.
28/04/2024 - Updated Windows MPV/MPV.NET/MPV LIB & Linux standalone AppImage VVCEasy build with FFmpeg, MediaInfo and others. Added support matroska VVC demux on MPV & SAC demuxer (code by Martin Eesmaa).
09/04/2024 - Removed unnecessary shared object files of libgbm, libm, libc and libgcc_s on Linux and Arch Linux AppImages, but now standard Linux AppImage works for all Linux distributions without segmentation fault and Arch Linux AppImage works for Arch based only.
08/04/2024 - Updated FFmpeg for up to 7.0 with nightly latest with MPV VVCEasy Linux latest version and others.
07/04/2024 - Fixed the bug of Android MPV VVCEasy builds by allowing & showing permission of Files and media since Android 13 to access all full of files, also older than Android 13 is still fine.
@ -135,12 +147,12 @@ On Windows, there is available MPV.NET custom build on this download. You can ha
```
ee5d8b2ebdda7e9bacfe4a9dd2ce199e96f2a16ac56a8840190a5c66d86e2471 MPV-VVCEasy-API29debug.apk
cc4ba84d91b91edda102bc0086fbfbfdee1a8b1dd9196bc76edd00101fdaff10 MPV-VVCEasy-API29release-unsigned.apk
0543c9819db08d777386a616ba7317ada11109ababee18a7b7ea526de7f4c69d MPV-VVCEasy-Windows-x64.7z
2aca485d75d4a300cb5ef50230f754f3737a1557565b058298061aa87a416b3c MPV.NET-VVCEasy-Windows-x64.7z
fb320719d3b524cb79cfdfc079a2a7c39136df5a8fbdd747006ca747cfc6a02d MPVLIB-VVCEasy-Windows-x64.7z
9044b7d67eaa020d5e59d437b3fc10dd2e6f60eedfff8034c4dd608145bff17d MPV-VVCEasy-Windows-x64.7z
486b8a1f6e3744935446a846f1ee69bbbca2b81752ea4ea1aae4dc2d479b7909 MPV.NET-VVCEasy-Windows-x64.7z
7cb80e644657e0447eea33c51517ae428ed841cdc7d0b4155f986ab5226c5894 MPVLIB-VVCEasy-Windows-x64.7z
8d486291a371c8663e7ddd1d9845cf54f81c316a9c795333a5b490f7621a6cb3 MPV-VVCEasy-Windows-NativeX64.7z
003dbdf1cd6639ff906c2c17dde69a16c1df7fa565cf310ba014ea24b5b330a5 MPVLIB-VVCEasy-Windows-NativeX64.7z
2ec70f79011e341c92f06485c752e56311107e575d9d3fda9866a6fdba141f4e MPV-VVCEasy-Linux-x64.7z
c477c0214221f706301b7be620f7442731bb4746d1b5719a890128769bc62767 MPV-VVCEasy-Linux-x64.7z
ab23b1928069bd3584297dae1d90a95fe2910f91936766ddfa5bdafd53c8a300 MPV-VVCEasy-ArchLinux-x64.7z
```
@ -181,7 +193,7 @@ 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.**
**TIP: You can edit script of vvdec.sh by your own choice.**
Continue follow instructions to build your own MPV build:

Binary file not shown.

View File

@ -1,11 +1,13 @@
1d8ca41eae7efa10965432100c501edec126c437a53553d45c472cdfcfaa22cd arm64/vvdecapp
ce25033eb1e6f9c0f139e0d44e148018661d276232135092b8af14a2fc12461a arm64/vvencapp
28a955a607738eb1004900ac80627fa6c8511dbf8a61df37a863f88cd6c6c009 arm64/vvencFFapp
7a651df54c2d68c26f91fe3c231693e4638c167af5d1b6b423e90c28c34cc9b4 arm64/vvencinterfacetest
747c0100df6b9ac8b1fadd85c8902b3c40e42235d7593019ea4acf6af3de80aa arm64/vvenclibtest
dee532c8515a8618d737342b3943ad28ac3826d1601ea1872f70de6db2007751 intel_x64/vvdecapp
5cfe37271b70a981af82a538c5ba271f41e5449c2e938cfd598b6d3ea24a9ae7 intel_x64/vvencapp
eb08377e040de5246bc0cf42d70247f88da727e78cc20c802cb905453d4f0754 intel_x64/vvencFFapp
dd7811fc878ea9195b2057d339f3e05eb9aab14098ca698b632b779a29c4fd1e intel_x64/vvencinterfacetest
d5323f8e9c77e5b0a1c5c703b894453de97cfd02fc2eda6fb1d97b9671989be5 intel_x64/vvenclibtest
646f6e3e517be5a39c3e2290d81c5e208d39dda02b7e2cb56863edf058beeb30 MacOSVVC.7z
720529bd0b1fa0e13824ba7b1e16ef0668c9ad1265786bfc1f3fa72b60bfe961 arm64/vvdecapp
fe4d0e5324cb42e23b0893c4f24a62b4342fceab5f9edfe95b3d27fce9fa62aa arm64/vvencapp
0af7444f73ecccaa2c68eec5f5b20232e6d2cf8375582a534e97cd1398be19f1 arm64/vvencFFapp
212f4e4e929587d40ea28cedc8b57184b754dec982757411db135968fe27a7d9 arm64/vvencinterfacetest
87b3b305e315ca88baa3e22c5292da7d2ee7c178b146b3433f16afb362acc59e arm64/vvenclibtest
bde62b283312782f84e5baa77bc81e9e2094674be627b66d9eaec18734dafbcf arm64/vvenc_unit_test
d68ac52a48d3b9938650c380250d6b0c1befa5f3410c369b73f7c71026e58a1c intel_x64/vvdecapp
1633c2f35d59c2e106416c6e713fb0d917c426074d5fa816d41e079f7195b3ac intel_x64/vvencapp
5d0ec4085e0f01a5019a7a8cd3331bbe0031ff210a5cd4cf7a863bb59f550349 intel_x64/vvencFFapp
b073c8aac08c4ee1f6ae96cf9625443456e2ae0d2a97cb3402fe55817fbf882e intel_x64/vvencinterfacetest
74103ac19b58ca92dfde5767bab2e010dd3594c877b37431423a17a2c54bed5a intel_x64/vvenclibtest
38bf06a7d89e117c102a4b2cd0ab59b135dbb456730cd5cb936854602ba729bd intel_x64/vvenc_unit_test
6dfaef724c7a2e803e75a1f76e1bddb7ebd7dc0b6660bad41b162d1a19b5eaa8 MacOSVVC.7z

View File

@ -1,4 +1,5 @@
using System.Net;
using System.Diagnostics;
namespace VVCEasy
{
@ -6,12 +7,12 @@ namespace VVCEasy
{
public static void Main()
{
string version = "v2.5.0";
string codeversion = "Pretty big greatest ever!";
string version = "v2.7.0";
string codeversion = "Martin Eesmaa at age 19, wow nice!";
string title = "Martin Eesmaa / VVCEasy";
bool exit = false;
Console.Title = title;
Console.WriteLine("Martin Eesmaa / VVCEasy\nWelcome to VVCEasy. (.NET Console Release Version, " + version + ")\nVersion codename: " + codeversion);
Console.WriteLine($"Martin Eesmaa / VVCEasy\nWelcome to VVCEasy (.NET Console Release Version, {version})\nVersion codename: {codeversion}");
Console.ReadLine();
do
{
@ -19,8 +20,9 @@ namespace VVCEasy
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.WriteLine("Copyright (C) Martin Eesmaa 2021-2024 (MIT License)");
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");
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 VVdec Web Player\n8. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)\n9. Install vvDecPlayer from BitMovin\n10. Install/Update VLC VTM Plugins (Windows/Linux x64 of VLC plugins by Inter Digital Inc)\n11. Install MPV Windows/Android (libvvdec plugin)\n12. Tests of VVC videos");
string input = Console.ReadLine();
@ -100,7 +102,7 @@ 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 2021-2022 Martin Eesmaa\n\nExiting program...");
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 (C) Martin Eesmaa 2021-2024 (MIT License)\n\nExiting program...");
Thread.Sleep(5000);
exit = true;
}
@ -142,25 +144,11 @@ namespace VVCEasy
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.WriteLine("Your favorite operating system is available on FFmpeg VVDec support.\n\nSee information on FFMPEGVVC.md or online GitHub to download FFmpeg custom build: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md\nPress enter to go back menu.\n");
Console.ReadLine();
}
}
else if (input == "7")
{
Console.Clear();
Console.Title = "ANACONDA";
Console.WriteLine("Welcome to Anaconda Quick Install. This will only one task for ffmpeg. Would you like to install? Y/N?");
string anacondaman = Console.ReadLine();
if (anacondaman == "Y")
{
Console.WriteLine("SUCCESS, going to back menu...");
Console.ReadLine();
}
}
else if (input == "8")
{
Console.Clear();
Console.Title = "VVdec Web Player.";
@ -180,14 +168,14 @@ namespace VVCEasy
Console.ReadLine();
}
}
else if (input == "9")
else if (input == "8")
{
Console.Clear();
Console.Title = "WindowsVVC.7z (decompressing)";
Console.WriteLine("Decompressing...\nSorry, the command is not ready yet...");
Console.ReadLine();
}
else if (input == "10")
else if (input == "9")
{
Console.Clear();
Console.Title = "Install vvDecPlayer from BitMovin";
@ -197,51 +185,57 @@ namespace VVCEasy
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");
Console.WriteLine("Installing vvDecPlayer from BitMovin on your computer...\nWhich operating system are you using?");
Console.WriteLine("Type W for Windows, M for Mac, L for Linux");
string installbitmovin1 = Console.ReadLine();
string osChoice = Console.ReadLine()?.ToUpper();
string fileName = string.Empty;
string fileUrl = string.Empty;
if (installbitmovin1 == "W")
while (string.IsNullOrEmpty(osChoice) || (osChoice != "W" && osChoice != "M" && osChoice != "L"))
{
Console.WriteLine("Installing vvDecPlayer from BitMovin for Windows...\nSorry, the C# console is not ready yet...");
osChoice = Console.ReadLine()?.ToUpper();
using (WebClient web1 = new())
web1.DownloadFile("", "");
switch (osChoice)
{
case "W":
fileName = "BitVVDecPlayerWIN.7z";
fileUrl = "https://www.dropbox.com/scl/fi/x4v1qb60u8zp505dtx8p6/BitVVDecPlayerWIN.7z?rlkey=gs9duytd6h1sos69o53rw8vyy";
break;
case "M":
fileName = "BitVVDecPlayerMAC.7z";
fileUrl = "https://www.dropbox.com/s/ilsoica7c8dh4hq/BitVVDecPlayerMAC.7z";
break;
case "L":
fileName = "BitVVDecPlayerLINUX.AppImage";
fileUrl = "https://www.dropbox.com/scl/fi/9jgibpwxe52zkkjijycdc/BitVVDecPlayerLINUX.AppImage?rlkey=jrqxsnwuqltc1xj9fevk9xb1f";
break;
case "X":
Console.WriteLine("Exiting installation. No changes made.");
return;
default:
Console.WriteLine("Invalid input. Please type W for Windows, M for Mac, L for Linux, or X to exit.");
osChoice = string.Empty;
break;
}
Console.WriteLine($"Installing vvDecPlayer for {osChoice}...");
DownloadWithWget(fileUrl, fileName);
Console.ReadLine();
}
else if (installbitmovin1 == "M")
if (osChoice != "L")
{
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")
{
ExtractWith7Zip(fileName, ".");
}
else
{
Console.WriteLine("You typed wrong input command, follow the commands instructions... type Back to go back menu...");
goto bitmovingotoinstall;
}
Console.WriteLine("Installation complete.");
Console.ReadLine();
}
}
}
else if (input == "11")
else if (input == "10")
{
Console.Clear();
Console.Title = "VLC VTM Plugins Install (Windows & Linux)";
@ -260,14 +254,14 @@ namespace VVCEasy
Console.ReadLine();
}
}
else if (input == "12")
else if (input == "11")
{
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")
else if (input == "12")
{
Console.Clear();
Console.Title = "Tests of VVC videos";
@ -277,5 +271,48 @@ namespace VVCEasy
}
while (exit == false);
}
public static void DownloadWithWget(string fileUrl, string outputFileName)
{
Process process = new Process();
process.StartInfo.FileName = "wget";
process.StartInfo.Arguments = $"{fileUrl} -q -O {outputFileName}";
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
process.WaitForExit();
if (!string.IsNullOrEmpty(output)) Console.WriteLine(output);
if (!string.IsNullOrEmpty(error)) Console.WriteLine("Error: " + error);
}
public static void ExtractWith7Zip(string archiveFile, string destinationFolder)
{
Process process = new Process();
process.StartInfo.FileName = "7z";
process.StartInfo.Arguments = $"x {archiveFile} -o\"{destinationFolder}\"";
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
process.WaitForExit();
Console.WriteLine("Extraction complete.");
if (!string.IsNullOrEmpty(output)) Console.WriteLine(output);
if (!string.IsNullOrEmpty(error)) Console.WriteLine("Error: " + error);
}
}
}

350
README.md
View File

@ -9,34 +9,39 @@ https://github.com/MartinEesmaa/VVCEasy/actions/workflows/dotnet.yml)
![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, macOS, Linux & Android) (by Martin Eesmaa)
<h1 align="center">VVCEasy by Martin Eesmaa</h1>
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, VLC o266player, VVDEC Web Player, Bitmovin VVDec Player, libvvdec and more.
It supports Windows, macOS, Linux, BSD, Android & WebAssembly for VVCEasy builds.
Installation: Go to the releases and download latest version.
From October 20, 2021, to June 23, 2022, VVCEasy was in pre-release and construction mode.
Windows source run (Batch-file): VVCEasy.bat
Since June 23, 2022, VVCEasy was initially released at version 1.0.0.
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.
VVCEasy comes with one easy command, utilizing FFmpeg-VVC, Fraunhofer HHI VVC binaries, uvg266, MPV, LAVFilters, and MPC-HC & MPC-BE, among other features.
Matrix chat: https://matrix.to/#/#vvceasy:matrix.org
Installation: Go to the releases and download the latest version.
Revolt: https://app.revolt.chat/invite/0Y10qHzP
Windows source run (Batch-file) (for encoding/decoding, it needs to be manually edit batchfile to modify video file name): [VVCEasy.bat](VVCEasy.bat)
Discord: https://discord.gg/t54cADTbWW
Windows/Mac/Linux source run (C#): Bin/Release or Debug/netX.x/VVCEasy.exe (after building the C# project), which requires VVCEasy.dll to run the console application.
Reddit's community: https://reddit.com/r/VVCEasy
### Community
Lemmy's community of VVC (lemmy.world & lemmy.ml): https://lemmy.world/c/vvc
| Communities | Link |
--- | --- |
Matrix chat ![Matrix](https://img.shields.io/matrix/vvceasy:matrix.org) | https://matrix.to/#/#vvceasy:matrix.org
Revolt | https://app.revolt.chat/invite/0Y10qHzP
Discord ![Discord](https://img.shields.io/discord/974611343237869619) | https://discord.gg/t54cADTbWW
Reddit | https://reddit.com/r/VVCEasy
lemmy.ml (c/VVC) | https://lemmy.ml/c/vvc
lemmy.ml (c/VVCEasy) | https://lemmy.ml/c/vvceasy
lemmy.world (c/VVC) | https://lemmy.world/c/vvc
lemmy.world (c/VVCEasy) | https://lemmy.world/c/vvceasy
https://lemmy.ml/c/vvc
Lemmy's community of VVCEasy (lemmy.world & lemmy.ml): https://lemmy.world/c/vvceasy
https://lemmy.ml/c/vvceasy
*Note: Please note for my first language is Estonian and not native with English language. Some my English words might be errors with incomprehensible.*
> [!NOTE]
> Please note my first language is Estonian and not native to the English language. Some English words may be incorrect and incomprehensible.
# All lists
@ -52,6 +57,8 @@ https://lemmy.ml/c/vvceasy
- [LAVFilters VVC version x64](#lavfilters-vvc-version-x64)
- [VVC binaries](#vvc-binaries)
- [Deprecated builds](#deprecated-builds)
- [Compile for VVCEasy](#compile-for-vvceasy)
@ -60,15 +67,13 @@ https://lemmy.ml/c/vvceasy
- [VVCEasy .NET Compile](#vvceasy-net-console-version-optional)
- [Encode/Decode easy](#encodedecode-easy)
- [Publish single .NET binary executable](#publish-single-net-binary-executable)
- [GUI applications easy](#gui-applications-easy)
- [Hard option](#without-vvceasy-experimental-option-for-professional-coders-other-developers-and-everyone-hard)
- [Hard option (deprecated)](#hard-option-deprecated)
- [VVEnc & VVDec compatibility test](#compatibility-results-vvenc-and-vvdec-tested-by-martin-eesmaa)
- [FAQ](#faq-known-as-frequently-asked-questions)
- [FAQ](#faq-frequently-asked-questions)
- [Credits & Licenses](#credits--licenses)
@ -91,7 +96,7 @@ EE511700017003558571
# Tests of VVC videos
You can test Martin Eesmaa's encoded movies of VVC video codec and follow README.txt instructions.
You can test Martin Eesmaa's encoded movies of VVC video codec and follow the instructions in README.txt.
[Tears of Steel VVC](https://mega.nz/folder/64swUYxI#WE5njn2aX6-6fxypNC3gtA)
@ -99,25 +104,9 @@ You can test Martin Eesmaa's encoded movies of VVC video codec and follow README
# 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...
VLC InterDigital VTM VVC Plugin is an external VVC decoder plugin from a third-party developer.
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.
See [INSTALLVLCPLUGIN folder](INSTALLVLCPLUGIN/README.md).
# FFmpeg VVENC/DEC & xHE-AAC support
@ -127,9 +116,9 @@ See [FFMPEGVVC.md](FFMPEGVVC.md).
# MPV libvvdec + xHE-AAC support (Windows x64/Linux/Android only)
MPV libvvdec & xHE-AAC supports only of Windows x64, Linux & Android.
MPV libvvdec & xHE-AAC support only Windows x64, Linux, and 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.
The VVC and MP4 mux with VVC codec can be played on MPV libvvdec + xHE-AAC version. Only MP4 files mixed with VVC support seeking.
MPV.NET is also only available for Windows.
@ -141,32 +130,35 @@ For more information about LAVFilters Windows VVC version.
See [LAVFilters folder](LAVFilters/README.md)
# VVC binaries
The Versatile Video Codec binaries include two tools, vvenc and vvdec, as well as uvg266.
See [VVC.md](VVC.md)
# Deprecated builds
Those deprecated builds were no new commits/codes after one year.
For Bitmovin VVDec Player, see [Bitmovin.md](Bitmovin.md).
For Bitmovin VVDec Player, see [Bitmovin.md](docs-old/Bitmovin.md).
For VLC o266player build, see [o266player.md](o266player.md).
For VLC o266player build, see [o266player.md](docs-old/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.
First, before compiling to VVCEasy Batchfile Version, you need to install Inno Setup to compile it.
Inno Setup link: https://jrsoftware.org/isdl.php
Step 1: Clone VVCEasy git and open VVCEasy_compiler.iss
Step 1: Clone VVCEasy git and open up VVCEasy_compiler.iss file
```
cd %userprofile%\Downloads
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're replaced of your username, press F9 to compile on your keyboard. After compiling, VVCEasy.exe (Installer) will be on your Downloads folder.
Step 2: Press F9 on your keyboard to compile. After compiling, VVCEasy.exe (Installer) can be found in the Install folder.
![VVCEasyclickblueplaybutton](https://user-images.githubusercontent.com/88035011/153736303-b0949f5a-5ac5-4123-92c5-305211a8aadc.png)
---
@ -181,7 +173,7 @@ Step 1: Clone git and cd VVCEasy
git clone --depth=1 https://github.com/MartinEesmaa/VVCEasy && cd VVCEasy
```
Step 2: Before you build, make sure to build it. Don't worry, when you build with .NET, it will restore project and build.
Step 2: When you build, this will restore the project first and it compiles.
```
dotnet build -c Release
```
@ -191,213 +183,55 @@ Step 3: Once building is done, the build folder directory is bin/Release
cd bin/Release
```
*Tip: You can run VVCEasy without building.*
> [!TIP]
> *You can run VVCEasy without building.*
```
dotnet run
```
# Encode/Decode (easy)
### Publish single .NET binary executable
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. From 21 October 2021 to 23 June 2022, VVCEasy was pre-release, but it's construction mode and you can have look with .BAT source code.
If you want to compile and publish it into a portable executable file, you can do so if you wish.
```
dotnet publish -c Release
```
Since 23 June 2022, VVCEasy was initial released on v1.0.0.
To encode/decode, please see the GUI applications.
- Martin Eesmaa
After that, it should be found for example at bin\Release\netX.x\win-x64\publish.
# GUI applications (easy)
If you're not familiar for using CLI, you can use GUI with application window for ease use and without typing commands on your terminal.
If you're not familiar with using the CLI, you can use a GUI with an application window for ease of use, eliminating the need to type commands in your terminal.
These VVC programs of encode/decode are listed:
These VVC programs for encoding/decoding are listed:
* [FastFlix](https://github.com/cdgriffith/FastFlix) (Note: You might need to download my custom FFmpeg builds for encoding/decoding VVC using external libraries, rename to ffmpeg.exe and ffprobe.exe from my custom names only, no ffplay executable file required) (created by Chris Griffith)
| Programs with website or GitHub link | Note | Creator
--- | --- | --- |
[Fastflix](https://github.com/cdgriffith/FastFlix) | You might need to download my custom FFmpeg builds for encoding/decoding VVC using external libraries, rename to ffmpeg.exe and ffprobe.exe from my custom names only, no ffplay executable file required | Chris Griffith
[VVC-GUI-Encoder](https://github.com/Disa-Kizonda/VVC-GUI-Encoder) | Only encoder | Disa Kizonda
[aVVCator](https://github.com/gianni-rosato/aVVCator) | Only encoder & Linux only | Gianni Rosato
[VVenCguiEx](https://github.com/rigaya/VVenCguiEx) | Original Japanese language only for instructions and application (you can still translate), only encoder & Windows only, requires Aviutl (this may be medium or hard) | rigaya
[VVConvert](https://vvconvert.app/) | Only encoder, encodes to VVC raw bitstream from any FFmpeg compatible video codecs, requires FFmpeg to open input video files | Alec Carter ([source code](https://github.com/alectr0/VVConvert))
[Av1ador](https://github.com/porcino/Av1ador) | This program allows to encode VVC while transcoding by preview and comparison from original video, includes other encoders as well. | porcino
* [VVC-GUI-Encoder](https://github.com/Disa-Kizonda/VVC-GUI-Encoder) (only encoder) (created by Disa Kizonda)
# Hard option (deprecated)
* [aVVCator](https://github.com/gianni-rosato/aVVCator) (only encoder & Linux only) (created by Gianni Rosato)
If you're looking for a hard option of document information, you can check out there: [docs-old/advanced.md](docs-old/advanced.md)
* [VVenCguiEx](https://github.com/rigaya/VVenCguiEx) (original Japanese language only for instructions and application (you can still translate), only encoder & Windows only, requires Aviutl) (this may be medium or hard) (created by rigaya)
# FAQ (Frequently Asked Questions)
* [VVConvert](https://vvconvert.app/) (only encoder, encodes to VVC raw bitstream from any FFmpeg compatible video codecs, requires FFmpeg to open input video files) (created by Alec Carter) ([source code](https://github.com/alectr0/VVConvert))
Before you ask any question, see the questions at table please.
# Without VVCEasy, experimental option for professional coders, other developers, and everyone (hard)
| Question | Answer
--- | --- |
**1:** Are you the real creator of VVCEasy? | Yes... But I'm not a real creator of VVC; I didn't build VVC. It was Fraunhofer HHI that built VVC.
**2:** Are you trying to build VVCEasy? | Well, yes... it takes a longer time to make VVCEasy easier, but VVCEasy is not yet finished until further update announcements. I don't have employees, so I'm the only worker.
**3:** Is it okay to bring my proof screenshots of errors? | Yes, you can include error screenshots as proof. More proof, it's easier to solve.
**4:** My question is not listed on the FAQ. Can I ask you any questions? | Sure, go to the Issues tab, ask questions, and give me your issue. I'd be happy to solve it :).
**5:** Do you know what skills you have in your programming? | I know about batch files and HTML programming. Some programming languages might be difficult for me. Update of 19th February 2022: Perhaps I should create a C# Console program, which will support Windows, Mac, and Linux.
You need 7-Zip (requires ffmpeg and ffplay), ffmpeg, ffplay, vvenc/vvdec(app).
If you have any questions or/any issues, please go to the Issues tab and create your issue.
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)
VVENC/VVDEC (Windows, Mac and Linux):
Windows: https://github.com/MartinEesmaa/VVCEasy/blob/master/WindowsVVC/WindowsVVC.7z
Mac: https://github.com/MartinEesmaa/VVCEasy/tree/master/MacOSVVC/MacOSVVC.7z
Linux: https://github.com/MartinEesmaa/VVCEasy/blob/master/LinuxVVC/LinuxVVC.7z
Before we start, you need to make path environments for ffmpeg, ffplay and vvenc/vvdec to make easily.
In Command Prompt (Windows):
```
set PATH=%PATH%;C:\Users\blah\Downloads\VVCEasy\Executables
```
Verify path using Windows Command Prompt/Windows Terminal (CMD):
```
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 -pix_fmt yuv420p inputtranscode.yuv
```
For Y4M transcode (lossless from uncompressed video files, only 8 bit):
```
ffmpeg -i input.mp4 -pix_fmt yuv420p inputtranscode.y4m
```
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 inputtranscode.yuv -video_size 1280x720
```
Default pixel format of ffplay for yuv and y4m is yuv420p without `-pix_fmt` command.
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)
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
```
**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
```
For Apple macOS and Linux terminal users: Command with `./vvencapp`
For Windows Users using Windows PowerShell: Command with `.\vvencapp`
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 the ending word of -o EXTREME.266.
Note to 8-bit Y4M users: It's only from input video (8-bit) to Y4M (8 bit)
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.
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.
# 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)
Mac (./vvencapp):
![MacOSterminal12](https://user-images.githubusercontent.com/88035011/146367066-1fbfcf2a-8e1f-470c-8701-c3ec8c2b9701.png)
Linux (./vvencapp):
![UbuntuVVENCDEC](https://user-images.githubusercontent.com/88035011/145812781-9a270e03-0dc0-47e6-95ad-4316757d3435.png)
# FAQ (known as Frequently Asked Questions)
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 the only one worker.
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 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.
Or you can chat us: https://matrix.to/#/#vvceasy:matrix.org
Or you can join and chat with us in our community: [Link for communities at top](#community)
- Martin Eesmaa
# Credits & Licenses
@ -406,7 +240,7 @@ Or you can chat us: https://matrix.to/#/#vvceasy:matrix.org
License: MIT
© 2021-2024 [Martin Eesmaa](https://github.com/MartinEesmaa) (All rights reserved)
© 2021-2025 [Martin Eesmaa](https://github.com/MartinEesmaa) (All rights reserved)
---
@ -418,7 +252,7 @@ License: MIT
License: BSD 3-Clause Clear License (all of three repositories)
© 2018-2024, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVC Authors. (All rights reserved)
© 2018-2025, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVC Authors. (All rights reserved)
GitHub: [Fraunhoferhhi](https://github.com/fraunhoferhhi)
@ -430,9 +264,9 @@ GitHub: [Fraunhoferhhi](https://github.com/fraunhoferhhi)
License: GPL Version 2 (VLC Original version) & LGPL-2.1 (VLC VTM Decoder Plugin)
© 2000-2024 [VLC Media Player](https://code.videolan.org/) Developers (All rights reserved)
© 2000-2025 [VLC Media Player](https://code.videolan.org/) Developers (All rights reserved)
© 2021-2023 [Inter Digital Inc](https://github.com/InterDigitalInc) (All rights reserved)
© 2021-2024 [Inter Digital Inc](https://github.com/InterDigitalInc) (All rights reserved)
---
@ -440,7 +274,7 @@ License: GPL Version 2 (VLC Original version) & LGPL-2.1 (VLC VTM Decoder Plugin
License: BSD 3-Clause License
© 2021-2023, Tampere University, ITU/ISO/IEC, project contributors (All rights reserved)
© 2021-2025, Tampere University, ITU/ISO/IEC, project contributors (All rights reserved)
---
@ -458,9 +292,9 @@ VVC developers & forkers: [Christian Lehmann](https://github.com/lehmann-c), [tb
License: LGPL-2.1+ & GPL-2.0+
For my custom build configuration license is LGPL-2.1.
For my custom build configuration license is GPL-3.0+ with nonfree (fdk-aac) for FFmpeg.
© 2000-2024 [FFmpeg developers](https://github.com/FFmpeg) (All rights reserved)
© 2000-2025 [FFmpeg developers](https://github.com/FFmpeg) (All rights reserved)
---
@ -468,7 +302,7 @@ For my custom build configuration license is LGPL-2.1.
License: None
© 2012-2023 [Martin Storsjö](https://github.com/mstorsjo) (All rights reserved)
© 2012-2025 [Martin Storsjö](https://github.com/mstorsjo) (All rights reserved)
---
@ -478,17 +312,17 @@ License: LGPL-2.1+ & GPL-2.0+
For my custom build license: GPL-3.0+ with nonfree (fdk-aac) for FFmpeg
© 2013-2024 [Vincent Lang, MPlayer, mplayer2 & MPV developers](https://github.com/mpv-player) (All rights reserved)
© 2013-2025 [Vincent Lang, MPlayer, mplayer2 & MPV developers](https://github.com/mpv-player) (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)
VVC forkers: [tbiat](https://github.com/tbiat) & [Martin Eesmaa](https://github.com/MartinEesmaa/mpv-android-vvc)
License: MIT
© 2016-2024 Ilya Zhuravlev, sfan5 & mpv developers (All rights reserved)
© 2016-2025 Ilya Zhuravlev, sfan5 & mpv developers (All rights reserved)
---
@ -496,7 +330,7 @@ License: MIT
License: LGPL-2.1
© 2003-2024 [Jean Le Feuvre](https://github.com/jeanlf) & [GPAC developers/contributors](https://github.com/gpac/gpac/graphs/contributors) (All rights reserved)
© 2003-2025 [Jean Le Feuvre](https://github.com/jeanlf) & [GPAC developers/contributors](https://github.com/gpac/gpac/graphs/contributors) (All rights reserved)
---
@ -504,17 +338,21 @@ License: LGPL-2.1
License: None
© 2010-2023 [Hendrik Leppkes](https://github.com/Nevcairiel) (All rights reserved)
© 2010-2025 [Hendrik Leppkes](https://github.com/Nevcairiel) (All rights reserved)
---
[MPC-HC](https://github.com/clsid2/mpc-hc/) - Media Player Classic (forked by clsid2)
[MPC-BE](https://github.com/Aleksoid1978/MPC-BE) - Media Player Black Edition (forked by Aleksoid1978)
License: GPL-3.0
© 2007-2018 [MPC-HC Community Forum & contributors](https://github.com/mpc-hc) (Original) (All rights reserved)
© 2018-2024 [clsid2](https://github.com/clsid2) (forked) (All rights reserved)
© 2018-2025 [clsid2](https://github.com/clsid2) (forked of MPC-HC) (All rights reserved)
© 2012-2025 [Alexander Vodiannikov](https://github.com/Aleksoid1978) (forked of MPC-BE) (All rights reserved)
---
@ -524,7 +362,7 @@ Official website: https://7-zip.org
License: LGPL-2.1-or-later with unRAR restriction & LZMA SDK in the public domain
© 1999-2023 Igor Pavlov (All rights reserved)
© 1999-2025 Igor Pavlov (All rights reserved)
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 763 KiB

After

Width:  |  Height:  |  Size: 661 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 KiB

After

Width:  |  Height:  |  Size: 742 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View File

@ -14,4 +14,8 @@ See the lists:
- Thanks, Artem! [VVCEasy thread](https://forum.doom9.org/showthread.php?p=1974413#post1974413)
- Thanks, Mark Litwintschik! [VVC encoding](https://tech.marksblogg.com/vvc-encoding.html)
- And to thank you all for using VVCEasy of prebuilt binaries, custom builds and more!
- Martin Eesmaa (@MartinEesmaa)

83
VVC.md Normal file
View File

@ -0,0 +1,83 @@
![vvc](https://upload.wikimedia.org/wikipedia/en/b/ba/Versatile_Video_Coding_%28logo%29.svg)
# Versatile Video Codec binaries
Versatile Video Codec binaries has available two tools for you to choose.
## Fraunhofer HHI (vvenc/vvdec)
Fraunhofer HHI VVC binaries is just standard easy tool, which allows to encode & decode with arguments and also encodes good quality for slow preset, but it may be slow...
* C++14 programming language
* Supports Windows, macOS, Linux, BSD, Android, iOS (library only with new app or non-signed binary executable on jailbroken device) & WebAssembly.
* SIMDE: SCALAR, SSE4.1, SSE4.2, AVX, AVX2, AVX512 (unsupported yet), NEON (arm only) and WASM (Web browsers only).
* Faster depends speeding up for newer computer machine of CPUs.
* Presets can be used from faster to slower.
* Includes advanced tool of encode (vvencFFapp)
* Two-pass control of bitrate is only allowed.
* Default encoding pixel format is 10-bit.
* For decoding, it can output to YUV, Y4M or pipe.
* Lossless encoding (only for vvencFFapp with CostMode argument)
Old screenshots in 2021 of three desktop operating systems:
Windows:
![WindowsVVENCDEC](https://user-images.githubusercontent.com/88035011/145812753-eddf04c5-1a10-4892-9118-7478735b1475.png)
Mac:
![MacOSterminal12](https://user-images.githubusercontent.com/88035011/146367066-1fbfcf2a-8e1f-470c-8701-c3ec8c2b9701.png)
Linux:
![UbuntuVVENCDEC](https://user-images.githubusercontent.com/88035011/145812781-9a270e03-0dc0-47e6-95ad-4316757d3435.png)
## uvg266 (VVC Scalable encoder tool)
uvg266 is only scalable encoder which helps to make it faster for older & newer computers, but still a bit good quality than vvenc, seems okay.
* C99 programming language
* Supports Windows, macOS, Linux, BSD, Android & iOS (library only with new app or non-signed binary executable on jailbroken device).
* SIMDE: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, NEON & AltiVec (PowerPC only).
* Can only encode 8-bit VVC output for rest operating system supported, but for 10-bit needs compiled with definition, this only works for Android users.
* Faster encoding scalable of old & new computers than vvenc.
* Supports presets from ultrafast to placebo like x264 presets, however it is recommended to use from faster to slower to avoid VVC decoding fail issue.
* Lossless encoding is not recommended due decoding fail.
### Minimum requirements
**vvenc/vvdec**:
- Windows XP and later (requires Visual C++ Redistributable for Visual Studio 2019 installed)
- macOS 10.13 and later (arm64 since macOS 11.0)
- Linux kernel 3.2.0 and later (eg. Ubuntu 12.04 LTS and later)
- BSD (FreeBSD & x64 only)
- Android 4.1 (API 16, Jelly Bean) and later (arm64 & x86_64 since Android 5.0)
**uvg266**:
- Windows Vista and later (requires Visual C++ Redistributable)
- macOS 10.13 and later (arm64 since macOS 11.0)
- Linux kernel 3.2.0 and later (eg. Ubuntu 12.04 LTS and later)
- BSD (FreeBSD & x64 only)
- Android 4.3 (API 18, Jelly Bean) and later (arm64 & x86_64 since Android 5.0)
### Downloads
NOTE: uvg266 compiled by same architectures supported of vvenc & vvdec.
All compiled builds are compressed files on 7-Zip.
| OS | vvenc & vvdec | uvg266 |
--- | --- | --- |
Windows | [x64/x86](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/WindowsVVC/WindowsVVC.7z) | [Download](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/uvg266/Windows/uvg266-Windows.7z)
macOS | [Arm64/x64](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/MacOSVVC/MacOSVVC.7z) | [Download](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/uvg266/macOS/uvg266-macOS.7z)
Linux | [x86_64/x86/arm64/armv7a](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/uvg266/Linux/uvg266-Linux.7z) | [Download](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/uvg266/Linux/uvg266-Linux.7z)
BSD | [x86_64](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/BSDVVC/BSDVVC.7z) | [Download](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/uvg266/BSD/uvg266-BSD.7z)
Android | [x86_64/x86/arm64/armv7a](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/AndroidVVC/AndroidVVC.7z) | [Download](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/AndroidVVC/AndroidUVG266-8bit.7z) or [10-bit build](https://github.com/MartinEesmaa/VVCEasy/raw/refs/heads/master/AndroidVVC/AndroidUVG266.7z)
## Comparisions between vvenc/vvdec and uvg266
If you're using newer computer or/and you wanted it to encode 10-bit with fast encoding to get good quality, use vvenc recommended.
If you're using older computer or/and more faster encoding of 8-bit than vvenc, use uvg266 recommended.
Also for decoding, use vvdec and also it is faster decoding for older (possible) & newer computers.

View File

@ -1,11 +1,33 @@
echo off
set welcometitle=Martin Eesmaa / VVCEasy
set version=v2.5.0
set versionname=Pretty big greatest ever!
set vvceasydate=11 April 2024
set version=v2.7.0
set versionname=Martin Eesmaa at age 19, wow nice!
set vvceasydate=23 June 2024
set copyrightinfo=Copyright (C) Martin Eesmaa 2021-2025 (MIT License)
for /f "tokens=2*" %%A in ('reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v "PROCESSOR_ARCHITECTURE"') do set ProcessorArchitecture=%%B
if /i "%ProcessorArchitecture%"=="AMD64" (
set bit=x64
) else if /i "%ProcessorArchitecture%"=="ARM64" (
set bit=arm64
) else (
set bit=Win32
)
pushd "%~dp0"
set sevenzip=%~dp07-Zip\%bit%\7z.exe
cls
ver | find "DOS" > nul
if %errorlevel% equ 0 (
goto doserror
) else (
ver | find "95" > nul | goto error
ver | find "98" > nul | goto error
ver | find "Millennium" > nul | goto error
ver | findstr /i "5\.0\." > nul && goto error
)
REM === check and get the UAC for administrator privilege ===
REM === code from https://sites.google.com/site/eneerge/scripts/batchgotadmin
:: BatchGotAdmin
@ -18,7 +40,7 @@ if '%errorlevel%' NEQ '0' (
if '%1' EQU '1' (
echo Cannot elevate administrator privilege
echo Please try again with "Run as Administrator"
echo Installation failed.
echo Permission denied.
pause
exit /B
) else (
@ -40,38 +62,31 @@ if '%errorlevel%' NEQ '0' (
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 Welcome to VVCEasy!
echo VVCEasy (Batchfile Release Version, %version%, %vvceasydate%)
echo Version codename: %versionname%
echo Current system architecture: %bit%
echo %copyrightinfo%
echo.
echo What would you like to do to encode/decode of VVC?
echo 1. Encode
echo 2. Decode
echo What would you like to do to encode/decode VVC?
echo 1. Encode (too old, deprecated)
echo 2. Decode (too old, deprecated)
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
echo 5. Install/Test path environment. (deprecated)
echo 6. Install/Update VVdec Web Player (requires Python and pull for git)
echo 7. Install Windows VVC binaries (Windows XP and later)
echo 8. Install vvDecPlayer from BitMovin
echo 9. Install/Update VLC VTM Plugins (Windows/Linux x64 of VLC plugins by Inter Digital Inc)
echo 10. Install FFmpeg/MPV external VVC support.
echo 11. Tests of VVC videos
echo 12. Build vvenc and vvdec by yourself from sources
set /p VVCSTART=Number:
if "%VVCSTART%" == "1" goto encodestart
@ -79,14 +94,13 @@ 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
if "%VVCSTART%" == "6" goto installvvdecweb
if "%VVCSTART%" == "7" goto decompresswin7z
if "%VVCSTART%" == "8" goto installbitmovin
if "%VVCSTART%" == "9" goto vlcvtmplugininstall
if "%VVCSTART%" == "10" goto installvvdecffmpegmpvnow
if "%VVCSTART%" == "11" goto testsofvideo
if "%VVCSTART%" == "12" goto main123
echo Invalid input. Please enter a number between 1 and 13.
pause
goto start
@ -94,39 +108,45 @@ goto start
:encodestart
title Encode to VVC
cls
echo Welcome to VVC encoder.
echo Welcome to the 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 1. Lossy (example YouTube videos, Web videos, lossy compressed videos, and other web)
echo 2. Lossless (example XIPH Media, Camera uncompressed RAW video, 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
echo Invalid input. Please enter a number between 1 and 3.
pause
goto encodestart
: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 If you do not have Y4M, your instruction will go to the 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 If you don't have Y4M already... You need to transcode the 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.
echo Only 8-bit uncompressed movies are input to Y4M.
set /p doyouhavey4mvvencquestion3=Number:
if "%doyouhavey4mvvencquestion3%" == 1 goto startlosslessvvenc2
if "%doyouhavey4mvvencquestion3%" == 2 goto encodestart
echo Invalid input. Please enter a number 1 or 2.
pause
goto losslessvvenc2
: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 Before we start encoding from your Y4M file to VVC file, I'm afraid I cannot do it automatically for you.
echo You must manually encode it to VVC, as the batch file 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 YOU HAVE TO REPLACE THE 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
@ -136,51 +156,54 @@ 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 If you do not have YUV, your instruction will go to the 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 If you don't have Y4M already... You need to transcode the 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
echo Invalid input. Please enter a number 1 or 2.
pause
goto lossyvvenc2
: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 Before we start encoding from your YUV file to VVC file, I'm afraid I cannot do it automatically for you.
echo You must manually encode it to VVC, as the batch file 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 HAVE TO REPLACE THE 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
if not exist "transcodedback" mkdir transcodedback
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 Do you want to transcode back from VVC to YUV or Y4M? Which did you choose for the settings? Choosing settings will transcode back.
echo You need to copy from your VVC file to C:\Program Files\VVCEasy\WindowsVVC\. Windows Explorer will open automatically.
echo After copying your VVC file into the VVCEasy folder, rename it 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 Portable won't work probably, you need to copy from your Downloads folder\VVCEasy into Program Files\VVCEasy.
echo 1. YUV (lossy video VVC)
echo 2. Y4M (lossless video VVC)
echo 2. Y4M (lossless video VVC, recommended)
set /p decodestart1=Number:
if "%decodestart1%" == 1 goto DECODESTARTFROMVVCTOYUV
if "%decodestart1%" == 2 goto DECODESTARTFROMVVCTOY4M
echo Invalid input. Please enter a number 1 or 2.
pause
goto decodestart
: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"
move VVCTOYUV.yuv ..\transcodedback
echo FINISHED. Going back to the menu...
timeout 3
goto start
@ -188,12 +211,9 @@ 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"
move VVCTOYUV.y4m ..\transcodedback
echo FINISHED. Going back to the menu...
timeout 3
goto start
@ -201,57 +221,56 @@ 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.
echo Martin Eesmaa is testing your paths, where you installed programs in PATH. If you're unsure, what is the path?
echo You can go there for a link at https://stackoverflow.com/questions/4910721/python-on-cmd-path
echo Also search "What is PATH in Windows?" in DuckDuckGo, Google, SearX or your favorite search engine.
echo Are you ready to test? (Y/N) Or type "I" to install the 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
if /I "%readytestbefore%"=="Y" goto nowtestingtime
if /I "%readytestbefore%"=="N" goto start
if /I "%readytestbefore%"=="I" goto installpath
echo Invalid input. Please enter a valid letter of Y, N or I.
pause
goto test
:nowtestingtime
title Testing time...
7z
title Testing installed programs...
ffmpeg
ffplay
wget
git
echo You need exit in Python for typing "exit()".
python
python --version
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
if /I "%testdidworkq%"=="Y" goto youdidworktest
if /I "%testdidworkq%"=="N" goto ahhdidnotwork
echo Invalid input. Please enter a valid letter of Y or N.
pause
goto nowtestingtime
:youdidworktest
title Great!
echo Great, your PATHS working now. Now back to the menu...
echo Great, your PATH environment is working. Going 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.
echo Sorry, your path environment did not work. Make sure to follow the steps that need to be added to the path's installation, like Python.
echo Still not working? You can ask questions on 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.
echo Other programs should need a manual, but Python, FFmpeg, wget and git must be installed manually and the paths to their environments must be added automatically.
echo Do you want to patch 7-Zip on your path environment so that 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 the 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
if /I "%installpath1%"=="Y" goto installingpath
if /I "%installpath1%"=="N" goto test
echo Invalid input. Please enter a valid letter of Y or N.
pause
goto installpath
:installingpath
title INSTALLING 7-ZIP on your path environments...
@ -264,9 +283,9 @@ goto test
:exit
cls
title Have a wonderful day!
echo Have a wonderful day! Thank you for using VVCEasy. :)
::: _ _ _
title Have a nice day!
echo Have a nice day! Thank you for using VVCEasy! :)
::: _ _ _
::: | | | | | |
::: | |_| |__ __ _ _ __ | | ___ _ ___ _ _
::: | __| '_ \ / _` | '_ \| |/ / | | |/ _ \| | | |
@ -294,44 +313,29 @@ 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 %copyrightinfo%
echo.
echo ------------ END OF THE PROGRAM ----------------
echo ------------ END OF WINDOWS BATCHFILE 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?
echo Here is a 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.
echo Step 1: Run on VVCEasy.bat. When you see the screen: "Welcome to VVCEasy. You can press any key to continue to the main menu."
echo Step 2: Here is the list of main menus, where you must type any number to go in the direction, like the (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?
echo If you have any problems that you do not understand VVCEasy. Please get in touch with Martin Eesmaa by creating issues for questions and/or problems.
echo Do you want to start over with the help instructions? If yes, then it will go back to the beginning. If no, go back to the 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
if /I "%helper%"=="Y" goto help
if /I "%helper%"=="N" goto start
echo Invalid input. Please enter a valid letter of Y or N.
pause
goto help
:installvvdecweb
cls
@ -339,32 +343,31 @@ 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 When you agree to install, it will clone the VVDec Web Player repository using git. After git, we will copy from the VVDECWEBINSTALL files into the vvdecWebPlayer/bin folder.
echo After that, it will run Python to start the web server on your localhost port 8000.
If you have already installed VVDec Web Player, you can type "U" to update the 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
if /I "%okletsdoit%"=="Y" goto installnowplayer
if /I "%okletsdoit%"=="N" goto start
if /I "%okletsdoit%"=="U" goto updatevvdecwebplayer
echo Invalid input. Please enter a valid letter of Y, N or U.
pause
goto installvvdecweb
:installnowplayer
cls
title INSTALLING VVDEC WEB PLAYER...
git clone https://github.com/fraunhoferhhi/vvdecWebPlayer.git
git clone https://github.com/fraunhoferhhi/vvdecWebPlayer
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.
copy ..\VVCEasy.266 dummy_raw_bitstream.266
echo Note: If you want to go back to the menu, press CTRL + C on your keyboard in Windows Terminal/CMD and type "Y" to terminate the server, and this will go back to the main menu options.
echo The Python file is running on port 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.
echo Thanks for trying out VVDEC Web Player. If you want to run on your VVDEC Web Player Server, go to the folder called vvdecWebPlayer and double click the file wasm_test-server.py.
echo Press any key to go back to the menu.
timeout 10
goto start
@ -372,31 +375,41 @@ goto start
cls
title UPDATING VVDEC WEB PLAYER...
echo UPDATING VVDEC WEB PLAYER...
cd vvdecWebPlayer
git pull
cd ../
echo Your up to date is now latest.
git -C vvdecWebPlayer pull
echo vvdecWebPlayer is now updated.
echo Returning to main menu...
timeout 3
goto start
:decompresswin7z
cls
title Decompress Windows VVC?
echo Would you like to decompress Windows VVC binaries? Y/N?
set /p decompwinvvc=Answer:
if /I "%decompwinvvc%"=="Y" goto decompresswin7z1
if /I "%decompwinvvc%"=="N" goto start
echo Invalid input. Please enter a valid letter of Y or N.
pause
goto decompresswin7z
:decompresswin7z1
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.
%sevenzip% x WindowsVVC.7z -i!%bit% -aoa
certutil -hashfile %bit%\vvdecapp.exe SHA256
certutil -hashfile %bit%\vvencapp.exe SHA256
certutil -hashfile %bit%\vvencFFapp.exe SHA256
certutil -hashfile %bit%\vvencinterfacetest.exe SHA256
certutil -hashfile %bit%\vvenclibtest.exe SHA256
type WindowsVVC.sha256 | findstr %bit%
cd ../
echo Please double-check that it needs to be the same hash. If it matches the hash, it is the same as the .exe of WindowsVVC.sha256 and CertUtil. This means good.
echo If the hashes are not matched correctly, please try it again or manually extract the compressed file using 7-Zip.
echo.
echo Otherwise, please create an issue to Martin Eesmaa/VVCEasy on GitHub for your problem.
pause
echo Thank you for decompressing WindowsVVC.7z... Now back to the menu.
echo Thank you for decompressing Windows VVC binaries. Now, back to the menu.
timeout 3
goto start
@ -404,44 +417,43 @@ goto start
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.
echo Windows for W, Mac OS for M and Linux for L, Main Menu for N.
set installmessage=Installing BitVVDecPlayer from BitMovin...
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
if /I "%installbitmovind%"=="W" goto installbitmovin1windows
if /I "%installbitmovind%"=="M" goto installbitmovin1macos
if /I "%installbitmovind%"=="L" goto installbitmovin1linux
if /I "%installbitmovind%"=="N" goto start
echo Invalid input. Please enter a valid letter of W, M, L or N.
pause
goto installbitmovin
:installbitmovin1windows
title Installing BitVVDecPlayer from BitMovin...
echo Installing BitVVDecPlayer from BitMovin...
mkdir BitVVDecPlayerWIN
title %installmessage%
echo %installmessage%
if not exist "BitVVDecPlayerWIN" 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
wget -q https://www.dropbox.com/scl/fi/x4v1qb60u8zp505dtx8p6/BitVVDecPlayerWIN.7z?rlkey=gs9duytd6h1sos69o53rw8vyy -o BitVVDecPlayerWIN.7z
%sevenzip% x BitVVDecPlayerWIN.7z -aoa
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 Successfully running on BitVVDecPlayer, if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
echo If you received error about MSVCP140.DLL is missing, you need to 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.
echo Or contact Bitmovin at https://www.bitmovin.com or create issue to VVCEasy.
goto downloadbitmovinvvcsample
:installbitmovin1macos
title Installing BitVVDecPlayer from BitMovin...
echo Installing BitVVDecPlayer from BitMovin...
mkdir BitVVDecPlayerMAC
title %installmessage%
echo %installmessage%
if not exist "BitVVDecPlayerMAC" 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
wget -q https://www.dropbox.com/s/ilsoica7c8dh4hq/BitVVDecPlayerMAC.7z
%sevenzip% x BitVVDecPlayerMAC.7z -aoa
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 Download completed, please put on macOS and run it, 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.
@ -449,113 +461,116 @@ echo For more information, see Bitmovin.md.
goto downloadbitmovinvvcsample
:installbitmovin1linux
title Installing BitVVDecPlayer from BitMovin...
echo Installing BitVVDecPlayer from BitMovin...
mkdir BitVVDecPlayerLINUX
title %installmessage%
echo %installmessage%
if not exist "BitVVDecPlayerLINUX" 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.
wget -q https://www.dropbox.com/scl/fi/9jgibpwxe52zkkjijycdc/BitVVDecPlayerLINUX.AppImage?rlkey=jrqxsnwuqltc1xj9fevk9xb1f -o BitVVDecPlayerLINUX.AppImage
echo Download completed, please execute and run on your Linux machine, if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
echo Note, this is AppImage format to run universal Linux distros.
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 If vvDecPlayer won't work probably, please install fuse2 on your Linux distro or/and it does not support for old operating systems.
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
if /I "%vvcsampleyeah%"=="Y" goto downloadvvcnowbit
if /I "%vvcsampleyeah%"=="N" goto start
echo Invalid input. Please enter a valid letter of Y or N.
pause
goto downloadbitmovinvvcsample
:downloadvvcnowbit
title Downloading VVC sample files and Coffee Run JSON & Sprite Fright JSON... from Bitmovin
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"
wget -q 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
%sevenzip% x vvcBlogPostDemo.7z -aoa
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...
echo Press any key, when you done editing JSON files.
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.
echo Okay, you configured manually success. Please run vvDecPlayer on your computer.
echo Go to File tab, then Open JSON manifest in BitVVDecPlayer...
echo Select JSON file to play VVC movie and enjoy it.
echo Still not working? Please create the new issue on GitHub or join community available with Discord, Revolt and Matrix.
pause
goto start
:vlcvtmplugininstall
if /i "%bit%" == "x64" (
echo.
) else (
echo Sorry, VLC VTM Plugins is only available for x64/amd64 architecture
pause
goto start
)
cls
title VLC VTM Plugins Install (Windows & Linux)
title VLC VTM Plugins Install (Windows and 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 Windows XP can't load VTM plugins, but other plugins works.
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 Available: VLC 3.0.9.2 and later (it will work same latest version 3 only)
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
if /I "%vlcvtmyesorno%"=="Y" goto installvlcvtmpluginnow
if /I "%vlcvtmyesorno%"=="N" goto start
echo Invalid input. Please enter a valid letter of Y or N.
pause
goto vlcvtmplugininstall
: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
:installingvlcvtmplugins
if exist "%programfiles%\VideoLAN\VLC" (
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
) else (
:tryagainafterinvalidvlc
echo Please make sure your VLC is installed on your computer.
echo After that, please try again.
echo.
echo 1: Try again
echo 2: Go back to main menu
set /p vlcnotexisttryagain=Answer:
if "%vlcnotexisttryagain%" == "1" goto installingvlcvtmplugins
if "%vlcnotexisttryagain%" == "2" goto start
echo Invalid input. Please enter a number 1 or 2.
pause
goto tryagainafterinvalidvlc
)
cd ../
taskkill /im vlc.exe
tasklist /fi "imagename eq vlc.exe" | find /i "vlc.exe" >nul
if not errorlevel 1 taskkill /im vlc.exe >nul
echo Three dll files are patched to your VLC Media Player.
echo Restarting and starting VLC Media Player...
echo Restarting 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.
echo For more information, please go to at https://github.com/InterDigitalInc/VTMDecoder_VLCPlugin
echo Once you're finished, you don't have to patch again. You can continue VLC Media Player next time after patch.
"%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.
:installvvdecffmpegmpvnow
echo It is available of FFmpeg and MPV VVC support. Please copy or open 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 Download link for FFmpeg: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md#ffmpeg-downloads-xhe-aac--vvc-endecoder-plugin-compiled-by-martin-eesmaa
echo Download link for MPV: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md#downloads-for-mpv-android-vvc-support
echo.
echo See information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md
echo For FFmpeg, see information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md
echo For MPV, see information on MPV.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.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
@ -569,3 +584,61 @@ echo Press enter to go back menu.
pause
goto start
:main123
title Build vvenc and vvdec by yourself from sources
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: To start build. No: To go back to the main menu.
echo Y/N?
set /p main1234= Answer:
if /I "%main1234%"=="Y" goto installmain123
if /I "%main1234%"=="N" goto start
echo Invalid input. Please enter a valid letter of Y or N.
pause
goto main123
:installmain123
title Building time...
echo Building time...
echo Cloning vvenc and vvdec from Fraunhofer HHI on GitHub...
git clone --depth=1 https://github.com/fraunhoferhhi/vvenc
git clone --depth=1 https://github.com/fraunhoferhhi/vvdec
cd vvenc
cmake -S . -B build
cmake --build build --config Release
cd ../vvdec
cmake -S . -B build
cmake --build build --config Release
cd ..
goto successnow
:successnow
echo.
echo.
echo.
echo Success build of vvenc and vvdec on Windows.
echo Copying executable files to build\%bit%
if not exist build\%bit% mkdir build\%bit%
copy /y "vvenc\bin\release-static\*.exe" "build\%bit%"
copy /y "vvdec\bin\release-static\*.exe" "build\%bit%"
echo Cleaning up of build, lib and bin folders of both dependencies...
rmdir /s /q vvenc\bin vvenc\lib vvenc\build vvdec\bin vvdec\bin vvdec\lib vvdec\build
echo Done! Press Enter to go back the menu.
pause
goto start
:error
echo Your Windows version is unsupported and outdated which does not work to run with VVC binaries and others too.
echo This batchfile script requires Windows XP and later.
pause
exit
:doserror
echo DOS is unsupported and outdated, which does not work to run with VVC binaries and others too.
echo MS-DOS, DOSBox and FreeDOS were not supported.
echo This batchfile script requires Windows XP and later.
pause
exit

View File

@ -5,6 +5,14 @@
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Product>VVCEasy</Product>
<Version>2.7.0</Version>
<Authors>Martin Eesmaa</Authors>
<Copyright>© 2021-2024 Martin Eesmaa</Copyright>
<Description>VVCEasy is easy VVC, that no need to compile.</Description>
<PublishSingleFile>true</PublishSingleFile>
<EnableCompressionInSingleFile>true</EnableCompressionInSingleFile>
<PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
</Project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 91 KiB

BIN
VVCEasy.pptx Normal file

Binary file not shown.

View File

@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "VVCEasy"
#define MyAppVersion "2.5.0"
#define MyAppVersion "2.7.0"
#define MyAppPublisher "Martin Eesmaa"
#define MyAppURL "https://github.com/MartinEesmaa/VVCEasy"
@ -19,10 +19,10 @@ AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DefaultGroupName={#MyAppName}
LicenseFile=C:\Users\User\Downloads\VVCEasy\LICENSE
LicenseFile=LICENSE
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=C:\Users\User\Downloads
OutputDir=Install
OutputBaseFilename=VVCEasy
Compression=lzma2/ultra64
SolidCompression=yes
@ -34,6 +34,20 @@ CompressionThreads=1
Name: "english"; MessagesFile: "compiler:Default.isl"
[Files]
Source: "C:\Users\User\Downloads\VVCEasy\*"; DestDir: "{win}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "WindowsVVC\WindowsVVC.7z"; DestDir: "{app}\WindowsVVC"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "uvg266\Windows\uvg266-Windows.7z"; DestDir: "{app}\uvg266\Windows"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "LAVFilters\LAVFilters-0.79.2-x64-VVCEasy.7z"; DestDir: "{app}\LAVFilters"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "VVCEasy.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "wget.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "7-Zip\7z.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "7-Zip\7z.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "INSTALLVLCPLUGIN\libvtmdec.dll"; DestDir: "{app}\INSTALLVLCPLUGIN"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "INSTALLVLCPLUGIN\libvvcdecoder_plugin.dll"; DestDir: "{app}\INSTALLVLCPLUGIN"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "INSTALLVLCPLUGIN\libvvctsdemux_plugin.dll"; DestDir: "{app}\INSTALLVLCPLUGIN"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\VVCEasy"; Filename: "{app}\VVCEasy.bat"; WorkingDir: "{app}"; Comment: "Run VVCEasy"
[Run]
Filename: "{app}\VVCEasy.bat"; Description: "Launch VVCEasy"; Flags: nowait postinstall skipifdoesntexist

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -1,11 +1,19 @@
fb914c803bea599771118695d0746180eee4374b16e220dc8bb1a10138af6958 Win32/vvdecapp.exe
752d8f3cbf00c1f90a24e2054d6f40214f58d83b165a801d1f9b9ff92520de30 Win32/vvencapp.exe
52649207d1574ec7c9004dbc51a8ceb9c74fec50205d2be6218cd7fbe0c9ef35 Win32/vvencFFapp.exe
cbe45af12631c8f8952b6b0f0ae4fd03b2d4610619dee8c2ac4aa0152e700868 Win32/vvencinterfacetest.exe
9583f13c9dc31ad8a27b7883ce50d8d56551fde97a5b4d541575ee5de17bcbbe Win32/vvenclibtest.exe
81ae4c9df313a49d55d2a56cf6bfcfbf2fd16dfba2a02b5fc73ae15be58af2a5 WindowsVVC.7z
dc3eb2c5a60e31a138bbcb066b4ceedcb84b1b91e007eacddc95264b43c46870 x64/vvdecapp.exe
0daa9582151661f7e760606ed3f7611fc5fa2f405873918de7856839f773663d x64/vvencapp.exe
3bbe2c5162f5a7cc4c39a5816bd86c7553528d6a7bf4694a2b9f49fc70c480a1 x64/vvencFFapp.exe
f0fa799cda88bc2236de003c976c1ee80beae65c599cefe5107c2471db0e86a6 x64/vvencinterfacetest.exe
7a6b39f7247b3b932abb658d745b0a4cc0491127ade82ed39dbc223558bd1590 x64/vvenclibtest.exe
5a010d98367043a54d46347699c675c58d6a0d3de970d304301dce072e8191d6 arm64/vvdecapp.exe
e7e2d3e5106df424a834c11ea9e17f03b61741da733cb3230579343a9c85ed18 arm64/vvencapp.exe
7cbdb38d6033769b4df7bd45260ff2eb31f16dc4faa64ab7f013f4971e3f0798 arm64/vvencFFapp.exe
67f133a738d280fa6b6fb74ce7e6ef222378a76fdc0ab817c627e3abba76cb9e arm64/vvencinterfacetest.exe
887ed59af896bd65753457b3fd9514a0651108610c57af459a103c45117127cc arm64/vvenclibtest.exe
c30f625ac46eed0c9f709a0b488d902a6c34e41f8f182ef423e868e3cdb6922d arm64/vvenc_unit_test.exe
06609da2dcb559aba42b955b06cf29bb5910281795f763edb22ef78b2c159d53 Win32/vvdecapp.exe
9dbc9a81055cc01d50ecf3fc4d9a9b81476970a758b678144a263ceceec19084 Win32/vvencapp.exe
27f2f9e381e6a8985ca26ba07aed280f691aa58057e61710e9e9eaba7b85323b Win32/vvencFFapp.exe
6c99691b45eff0db775f945a0fc0be9e5995b6061101170ed08fee98360e02fd Win32/vvencinterfacetest.exe
7b77e6b05718ca36ef74b712f8c9f96a2ed4be359d740b328ec0a4d42e4dcede Win32/vvenclibtest.exe
bf70320b2b3242ce99744092de78d34961e456b854efdee2afecee470986c028 Win32/vvenc_unit_test.exe
dc511432df88ed18ecfdf189b9cd9d7330c49e287f1222636255a7e0a72d0b91 WindowsVVC.7z
b1261036d1b8d67b6de643fe9f07e72b4c1a08dd0ba226f16f422f8f0e14d709 x64/vvdecapp.exe
728e16b7d73f306bc417363988b1cd7b968f3165e26e5a54cd2e1385324998c9 x64/vvencapp.exe
b9bd702219b2592d4008feb5d68c7a940f0ffaea7ea21f74f6de404973296cf4 x64/vvencFFapp.exe
fc994617ab146324004e35e40ff424a0f0f8bf4a79d9911ac89a21bae836b630 x64/vvencinterfacetest.exe
b136035b86849138dc7c5d2665a3abda5e410e34b66b700cb3e9c53e49ccd6eb x64/vvenclibtest.exe
3b4b2e66924b0581fc76e7fe91bd1c256d9a168bc5de06bf66cb8a0f428565d6 x64/vvenc_unit_test.exe

View File

@ -44,25 +44,25 @@ JSON:
# Bitmovin VVDec Player Downloads (including build instructions):
[Windows Pre-Builded](https://www.dropbox.com/s/75ouoeadcr2cl53/BitVVDecPlayerWIN.7z)
[Windows Pre-Builded](https://www.dropbox.com/scl/fi/x4v1qb60u8zp505dtx8p6/BitVVDecPlayerWIN.7z?rlkey=gs9duytd6h1sos69o53rw8vyy)
[Mac OS Pre-Builded](https://www.dropbox.com/s/ilsoica7c8dh4hq/BitVVDecPlayerMAC.7z)
[Linux Pre-Builded](https://www.dropbox.com/s/bihm3pyh21lcvte/BitVVDecPlayerLINUX.7z)
[Linux Pre-Builded](https://www.dropbox.com/scl/fi/9jgibpwxe52zkkjijycdc/BitVVDecPlayerLINUX.AppImage?rlkey=jrqxsnwuqltc1xj9fevk9xb1f)
Want to build VVDec (.dll (Windows)/.dylib (Mac OS)/.so (Linux)) yourself?
Here is a code:
```
git clone https://github.com/fraunhoferhhi/vvdec.git
git clone https://github.com/fraunhoferhhi/vvdec
cd vvdec
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=1 ..
cmake --build . --config Release
```
The build files might be vvdec/bin/release-shared
The build files can be located at vvdec/bin/release-shared
Windows: vvdec.dll
@ -74,42 +74,38 @@ Linux: libvvdecLib.so
# System requirements
### Windows
Operating System: Windows 7 / Windows Server 2012 and earlier versions
This program requires architecture of x86_64/AMD64.
System type: x64
### Windows
Operating System: Windows 7 / Windows Server 2012 and later versions
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
Offline availability for local segments
---
### Mac OS
Operating System: macOS 10.15 and earlier versions.
System type: x64
Operating System: macOS 10.15 and later versions.
Requirements to run program: Qt framework (version 5) and libvvdec.dylib
Internet required to download segments for Bitmovin streams.
Offline availability for segments
Offline availability for local segments
---
### Linux
Operating System: Linux (Ubuntu 18.04 and earlier versions)
System type: x64
Operating System: Linux 3.20+ (Ubuntu 12.04 LTS and later versions)
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
Offline availability for local segments
# Bitmovin VVDec Player (Test compatibility)

135
docs-old/advanced.md Normal file
View File

@ -0,0 +1,135 @@
# Without VVCEasy, experimental option for professional coders, other developers, and everyone (hard, deprecated)
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)
VVENC/VVDEC (Windows, Mac and Linux):
Windows: https://github.com/MartinEesmaa/VVCEasy/blob/master/WindowsVVC/WindowsVVC.7z
Mac: https://github.com/MartinEesmaa/VVCEasy/tree/master/MacOSVVC/MacOSVVC.7z
Linux: https://github.com/MartinEesmaa/VVCEasy/blob/master/LinuxVVC/LinuxVVC.7z
Before we start, you need to make path environments for ffmpeg, ffplay and vvenc/vvdec to make easily.
In Command Prompt (Windows):
```
set PATH=%PATH%;C:\Users\blah\Downloads\VVCEasy\Executables
```
Verify path using Windows Command Prompt/Windows Terminal (CMD):
```
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 -pix_fmt yuv420p inputtranscode.yuv
```
For Y4M transcode (lossless from uncompressed video files, only 8 bit):
```
ffmpeg -i input.mp4 -pix_fmt yuv420p inputtranscode.y4m
```
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 inputtranscode.yuv -video_size 1280x720
```
Default pixel format of ffplay for yuv and y4m is yuv420p without `-pix_fmt` command.
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)
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
```
**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
```
For Apple macOS and Linux terminal users: Command with `./vvencapp`
For Windows Users using Windows PowerShell: Command with `.\vvencapp`
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 the ending word of -o EXTREME.266.
Note to 8-bit Y4M users: It's only from input video (8-bit) to Y4M (8 bit)
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.
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.

View File

@ -41,6 +41,8 @@ Reminder: Some operating systems are working to load VVC video format in Virtual
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)
[Download Windows VLC 3.0.11.1 o266player version](https://www.dropbox.com/s/hs7yoa9hkxa6ugd/vlc-3.0.11.1-w64.7z)
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)

View File

@ -1,117 +0,0 @@
#!/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-VVC ]; 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 -b SDL2
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 zimg ]; then
git clone --depth=1 https://github.com/sekrit-twc/zimg
git -C zimg submodule update --init --recursive --depth 1
wget https://raw.githubusercontent.com/m-ab-s/mabs-patches/master/zimg/0001-libm_wrapper-define-__CRT__NO_INLINE-before-math.h.patch
else
git -C zimg pull
git -C zimg submodule update --init --recursive --depth 1
fi
if [ ! -d soxr ]; then
git clone --depth=1 https://github.com/chirlu/soxr
else
git -C soxr pull
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 ../../ && \
cd zimg && autoreconf -if && ./configure --disable-shared --prefix=$PREFIX && sudo make install -j $nproc && \
cd .. && \
mkdir soxr/build && cd soxr/build && cmake -D{WITH_LSR_BINDINGS,BUILD_TESTS,WITH_OPENMP}=off -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -Wno-dev .. && \
sudo cmake --build . -j $nproc --target install && \
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-libzimg --enable-libvmaf --enable-libsoxr --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

BIN
uvg266/BSD/uvg266-BSD.7z Normal file

Binary file not shown.

View File

@ -0,0 +1,2 @@
649899cac63befbe3254dcf525fb93ab41cdd71ae536a64498c2002b9f337f72 uvg266
ff4e88cebff2d77ca5d5ed8e1e612fe11ed504fc5c812f3eb32801ead3002981 uvg266-BSD.7z

Binary file not shown.

View File

@ -0,0 +1,5 @@
b9a59b2bd24742a07205f017acdbc7ac6ee8a2f60d1bae55f597134db59093d0 arm64/uvg266
67a2ac41c5145f2b5a2d1c1e9f83c13219f3f64a2c9b58b15e54e2f79ff83cad armv7/uvg266
c400d11d25ea9561cc6ac6857703f982c2abc128535cc0d8ade13d4af7894b6d uvg266-Linux.7z
274d2281e0dcdd9161c4c774081a3fef2fe5b7c96a0ccfc8419d3896dd466c0f x64/uvg266
d9ca36109551ac43bacba8a849c7e6949eed522f6ffd957b24d9f90c1680630c x86/uvg266

Binary file not shown.

View File

@ -0,0 +1,3 @@
eef3c3c2d671802ba87c730809394327153680c395f620971cfc2f718a736b52 uvg266-Windows.7z
7a379633acf366581cffe6160fb6e15a87749b4122311fb1b29b2e21f8e33482 Win32/uvg266.exe
4ea5ee7aed1a614562ce10e369b4453c96645216bf46bd44c1bb786352d03bfd x64/uvg266.exe

Binary file not shown.

View File

@ -0,0 +1,3 @@
50017ea31da559a9733d2c9d65bc54f1bcb8c50062396cf70c54a8e37dc7a39b arm64/uvg266
bf9673dc65592aace76f2d3b35345041be4e33b4d8deed7f6f305f5c9277e2b9 intel_x64/uvg266
4c0f0a3f98706c614e0bb2aa82542da1fc86d7c6b2b70bf92e14b8eabd022a9c uvg266-macOS.7z

View File

@ -1,20 +0,0 @@
#!/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

@ -1,19 +0,0 @@
#!/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

@ -1,93 +0,0 @@
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