Log in

View Full Version : uvg266 VVC encoder released


Pages : [1] 2

Fador
29th April 2022, 13:45
We have been converting our Kvazaar HEVC encoder to VVC for couple of years already, but finally we have good enough version to release for public:
https://github.com/ultravideo/uvg266

The conversion process for Intra part is described in our open-access paper:
https://ieeexplore.ieee.org/document/9690938

Hackernews (https://news.ycombinator.com/item?id=31204330) post about uvg266

We are still missing many VVC specific features but they are being worked on ;)

PCU
29th April 2022, 17:47
Thanks.
Do you also develop plugins for Premiere Pro and Adobe Media Encoder?

Fador
29th April 2022, 18:11
Thanks.
Do you also develop plugins for Premiere Pro and Adobe Media Encoder?

Unfortunately we are already quite busy working with uvg266 and we don't have expertise to build any plugins for Adobe software.

Additionally you would have to include some VVC decoder which we don't have =)

I would also say that our software is not actually "production ready" at the moment, we still need to add features and improve compression efficiency.

benwaggoner
29th April 2022, 21:39
I don't know that Adobe has any codec plug-in model anymore. They used to be able to use DirectShow and QuickTime components, but the current suite doesn't let me access any codecs other than the ones Adobe explicitly supports.

poisondeathray
30th April 2022, 01:04
There is a voukoder connector for Adobe, Resolve, Vegas...
https://www.voukoder.org/

It supports codecs from libavcodec/ffmpeg such as libx265, libx264, ffv1, svt-av1, utvideo etc... ; if uvg266 makes it into libavcodec then theoretically it could be supported too

PCU
30th April 2022, 08:40
I don't know that Adobe has any codec plug-in model anymore. They used to be able to use DirectShow and QuickTime components, but the current suite doesn't let me access any codecs other than the ones Adobe explicitly supports.

Supports only: Media Foundation and Premiere Pro/After Effects/Adobe Media Encoder's SDKs: Go to Microsoft Store and download all codec extensions that Microsoft developed:
Media Foundation Codecs For Windows 10 and 11
These codecs are for example used by the following applications:

Movies&TV / Films&TV
Windows Media Player (legacy) (can also use DirectShow codecs)
Windows Media Player (new Windows 11 version)
Windows Photo Viewer
Windows Explorer (for thumbnails)
Adobe Premiere
Vegas Pro
DeoVR

https://www.microsoft.com/en-us/p/hevc-video-extensions/9nmzlz57r3t7
https://www.microsoft.com/en-us/p/vp9-video-extensions/9n4d0msmp0pt
https://www.microsoft.com/en-us/p/av1-video-extension/9mvzqvxjbq9v
https://www.microsoft.com/en-us/p/mpeg-2-video-extension/9n95q1zzpmh4
https://www.microsoft.com/en-us/p/heif-image-extensions/9pmmsr1cgpwg
https://www.microsoft.com/en-us/p/webp-image-extensions/9pg2dk419drg
https://www.microsoft.com/en-us/p/raw-image-extension/9nctdw2w1bh8
https://www.microsoft.com/en-us/p/web-media-extensions/9n5tdp8vcmhs

The Media Foundation is slowly replacing DirectShow!

Just Google: Premiere Pro codecs plugins and you'll see lots of 3rd party codecs plugins! (Even Apple developed the official ProRes plugin for Windows!):
Compatible Applications
• Adobe After Effects
• Adobe Media Encoder
• Adobe Premiere Pro
• Adobe Premiere Rush

https://support.apple.com/kb/dl2033?locale=en_US

PCU
30th April 2022, 08:44
There is a voukoder connector for Adobe, Resolve, Vegas...
https://www.voukoder.org/

It supports codecs from libavcodec/ffmpeg such as libx265, libx264, ffv1, svt-av1, utvideo etc... ; if uvg266 makes it into libavcodec then theoretically it could be supported too

Daniel, (the Voukoder dev) said he only supports FFmpeg codecs and he is working on a successor for Voukoder. (He refused Fraunhofer's official H.266 SDK and I know he only accept: x266!)

benwaggoner
4th May 2022, 20:53
The Media Foundation is slowly replacing DirectShow!
Funny enough, that's exactly what they told me when I joined Microsoft.

In 2005 ;)!

It's been a long slow trip from VfW, the deprecation of which was announced more than 25 years ago.

benwaggoner
4th May 2022, 21:11
Supports only: Media Foundation and Premiere Pro/After Effects/Adobe Media Encoder's SDKs: Go to Microsoft Store and download all codec extensions that Microsoft developed:
Media Foundation Codecs For Windows 10 and 11
These codecs are for example used by the following applications:

Movies&TV / Films&TV
Windows Media Player (legacy) (can also use DirectShow codecs)
Windows Media Player (new Windows 11 version)
Windows Photo Viewer
Windows Explorer (for thumbnails)
Adobe Premiere
Vegas Pro
DeoVR

https://www.microsoft.com/en-us/p/hevc-video-extensions/9nmzlz57r3t7
https://www.microsoft.com/en-us/p/vp9-video-extensions/9n4d0msmp0pt
https://www.microsoft.com/en-us/p/av1-video-extension/9mvzqvxjbq9v
https://www.microsoft.com/en-us/p/mpeg-2-video-extension/9n95q1zzpmh4
https://www.microsoft.com/en-us/p/heif-image-extensions/9pmmsr1cgpwg
https://www.microsoft.com/en-us/p/webp-image-extensions/9pg2dk419drg
https://www.microsoft.com/en-us/p/raw-image-extension/9nctdw2w1bh8
https://www.microsoft.com/en-us/p/web-media-extensions/9n5tdp8vcmhs

I have all of those installed, and I can't get VP9 or AV1 export from the 2022 Adobe CC products. For decades any VfW codec installed would show up, and there were generic AVI and QuickTime export options where any installed codec could be used.

But those have been gone for a few years now. The only AVI codec is DV. QuickTime is mainly ProRes variations plus CineForm and DV. No WebM at all. Full Windows Media support is still in there, inducing waves of nostalgia.

PCU
6th May 2022, 12:35
I have all of those installed, and I can't get VP9 or AV1 export from the 2022 Adobe CC products. For decades any VfW codec installed would show up, and there were generic AVI and QuickTime export options where any installed codec could be used.

But those have been gone for a few years now. The only AVI codec is DV. QuickTime is mainly ProRes variations plus CineForm and DV. No WebM at all. Full Windows Media support is still in there, inducing waves of nostalgia.

Try this plugin for Adobe CC: Voukoder (VP8/9/AV1/UT/FFV1 and other codecs: free and open-source (Exporter only))

https://www.voukoder.org/forum/thread/783-downloads-instructions/

https://github.com/Vouk/voukoder/releases/download/11/voukoder-11.msi
https://github.com/Vouk/voukoder-connectors/blob/master/premiere/premiere-connector-1.11.1.msi?raw=true

LigH
27th May 2022, 15:10
uvg266 0.2.3 ga23f1c7 (https://www.mediafire.com/file/dsk35esppmi31ww/uvg266_0.2.3_ga23f1c7.7z/file) [GNU 12.1.0] 2022-05-27

LigH
6th June 2022, 21:21
:thanks: media-autobuild suite supports uvg266 now!

uvg266 0.2.3-be90897 (https://www.mediafire.com/file/36btfwroylgjff8/uvg266_0.2.3_be90897.7z/file) [GNU 12.1.0] 2022-06-06

kolak
7th June 2022, 13:59
I don't know that Adobe has any codec plug-in model anymore. They used to be able to use DirectShow and QuickTime components, but the current suite doesn't let me access any codecs other than the ones Adobe explicitly supports.

It has. You can write plugin and do proper integration. Anything like DirectShow is suboptimal. Problem with pixels formats, performance, hidden/inaccurate conversions etc.

LigH
8th June 2022, 16:54
Please note: uvg266 does not strictly require AVX2. It runs e.g. on an AMD FX too.

Regarding playback: The InterDigital VTM VVC Plugin for VideoLAN VLC player works quite well; VVCEasy (https://github.com/MartinEesmaa/VVCEasy) ships a set of binaries and helps installing them (if VLC is in the default installation directory).

Brazil2
9th June 2022, 12:06
Regarding playback: The InterDigital VTM VVC Plugin for VideoLAN VLC player works quite well; VVCEasy (https://github.com/MartinEesmaa/VVCEasy) ships a set of binaries and helps installing them (if VLC is in the default installation directory).
It's not working for me, I have copied the plugins into the required folders of VLC 3.0.17.4 but it's not playing the two sample files I have, the Elecard ones from this post: https://forum.doom9.org/showthread.php?p=1970053#post1970053

Do you have another sample file which works for you ?

LigH
10th June 2022, 08:00
It works for raw VVC video I created with uvg266. Unfortunately it does not work for VVC in MP4, because VLC's current MP4 splitter does not know VVC streams yet (https://code.videolan.org/videolan/vlc/-/issues/27055).

Compare foreman_cif_pal.266 (https://www.ligh.de/tmp/foreman_cif_pal.266) with foreman_cif_pal.266.mp4 (https://www.ligh.de/tmp/foreman_cif_pal.266.mp4).

Brazil2
10th June 2022, 10:59
OK I can play raw VVC videos, better than nothing :)
But when these plugins are installed VLC crashes as soon as I try to open any live stream :scared: I suppose it's because of the demuxer.

LigH
10th June 2022, 11:13
So, a little patience ... you can alternatively try bitmovin player, or an early patched ffmpeg / ffplay, and this or next week we may have integration of VVenC / VVdeC via media-autobuild suite. I'm looking forward with confidence.

Brazil2
10th June 2022, 22:18
Yes the VVCEasy ffplay version can play all samples I have: the raw 266 files, your MP4 and the Elecard webm files so it's OK for me at the moment :)

Fador
16th June 2022, 10:48
uvg266 v0.3.0 was released fixing many small bugs:

https://github.com/ultravideo/uvg266/releases/tag/v0.3.0

LigH
17th June 2022, 09:49
They may need someone using Linux to update the man page. The shell script in /tools did not work under MSYS2, seems to be unable to redirect the output of the Windows application executed in backticks.

Ah, someone did.

Fador
20th June 2022, 08:23
Ah, someone did.

Yes I actually had to fix something in the script, but Windows Subsystem for Linux also works nicely 😁

It's not really a tool you normally need to run so it's not that big of a problem if it's not working in MSYS2, but I might take a look later.

vjs
15th July 2022, 15:18
There seems to be an issue with too many threads with uvg266. While testing uvg266 I noticed that contrary to expectations encoding the same file with exactly the same parameters does not produce the same output file. Even the file sizes differ.

I used the newest 0.4.1 release and on linux and macos I did compile it myself, but on windows I used @Barough's precompiled binary. However specifying "--threads 8" does fix this issue and then uvg does produce same bitstream every time. Seems that 32 threads with Ryzen 5950x is too many for uvg, this should be fixed. If you need help, I can provide some time & effort for testing.

MartinEesmaa
26th July 2022, 10:19
I built Windows MPV Player (libvvdec support), it works on AMD and Intel to play VVC, even mp4 file too.

See documentation: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md#download-mpv-windowsandroid-player-libvvdec-plugin

See top-left information of the image:

https://user-images.githubusercontent.com/88035011/176990209-4c6bcc0d-ef14-4e4c-8738-edfbb9a6e1c1.png

- Martin Eesmaa

LigH
27th July 2022, 20:40
:thanks:

and welcome on the doom9 board. :D



Just the generic VVC thread is that one (https://forum.doom9.org/showthread.php?t=174940), this here is for the uvg266 encoder, specifically.

LigH
30th July 2022, 21:22
New upload:

uvg266 0.4.1-cd2d406 (https://www.mediafire.com/file/ecwfol66yhsnpxc/uvg266_0.4.1-cd2d406.7z/file) [GNU 12.1.0] 2022-07-30

edison
9th September 2022, 07:13
I built Windows MPV Player (libvvdec support), it works on AMD and Intel to play VVC, even mp4 file too.

See documentation: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md#download-mpv-windowsandroid-player-libvvdec-plugin

See top-left information of the image:


- Martin Eesmaa

"On Windows, you can copy mpv-2.dll, mpv-vvceasy and mpv-vvceasy of DLL to mpv.net of https://github.com/stax76/mpv.net"

Where is the .dll files can I find ?

MartinEesmaa
10th September 2022, 02:47
Hi, edison. Sorry, I forgot to add libmpv.dll on it, but I need static link with my Visual Studio, because my MSYS2 static links only file type with .a. Visual Studio links with .dll. I'll might try as possible to build libmpv.dll static.

EDIT: It worked with --enable-libmpv-shared with --enable-static-build, but it did not link of two files containing: libgcc_s_seh-1.dll & libwinpthread-1.dll.

- Martin Eesmaa

MartinEesmaa
10th September 2022, 06:48
edison, I released my mpv.net latest build to include mpv-2.dll of VVC + xHE-AAC support.

https://github.com/MartinEesmaa/VVCEasy/commit/78e911826f4cd8f407034ea548d0509fbd6c3806

LigH
10th September 2022, 11:41
Again:

This is the thread for the uvg266 VVC encoder only.

For general VVC content, please use this thread (https://forum.doom9.org/showthread.php?t=174940). :thanks:

birdie
10th September 2022, 13:55
Again:

This is the thread for the uvg266 VVC encoder only.

For general VVC content, please use this thread (https://forum.doom9.org/showthread.php?t=174940). :thanks:

I guess EasyVVC warrants a separate topic.

The existing H.266 topic is about the codec issues/development/future in general.

Barough
29th September 2022, 20:59
uvg266 VVC v0.4.1-c6764df
Built on September 29, 2022, GCC 12.2.0

https://github.com/ultravideo/uvg266/commits/master


DL :
https://www.mediafire.com/file/d1gpm4q748gj50d

benwaggoner
1st October 2022, 04:19
Any changelog?

LigH
1st October 2022, 15:43
Only few new commits in commits/master (https://github.com/ultravideo/uvg266/commits/master) (sufficient to read for me).

LigH
23rd February 2023, 01:05
New upload:

uvg266 0.4.1-c6764df (https://www.mediafire.com/file/5ssgjq2trofskz0/uvg266_0.4.1-c6764df.7z/file) [GNU 12.2.0]


No panic, I am just late :rolleyes:

Barough
28th September 2023, 00:24
uvg266 VVC v0.8.0-e5e32d6
Built on September 27, 2023, GCC 13.2.0

https://github.com/ultravideo/uvg266/tree/master
https://github.com/ultravideo/uvg266/releases/tag/v0.8.0


DL :
https://www.mediafire.com/file/jwcc02lvwqym3gm

LigH
1st March 2024, 21:46
New upload:

uvg266 0.8.0-63da667 (https://www.mediafire.com/file/zzuap5m04ikeuto/uvg266_0.8.0-63da667.7z/file) [GNU 14.1.0]

LigH
19th July 2024, 20:41
New upload:

uvg266 0.8.1-d008a00 (https://www.mediafire.com/file/7lpysegxkqqnp5o/uvg266_0.8.1-d008a00.7z/file) [GNU 14.1.0]

LigH
3rd August 2024, 11:08
I saw that Jamaika was able to add uvg266 to ffmpeg; but it seems to require a source patch. And not only to enable the encoder library, but also to match some color space interna.

LigH
8th September 2024, 10:46
New upload:

uvg2660.8.1-6999e44 (https://www.mediafire.com/file/5c3uwglg8k5k5nm/uvg266_0.8.1-6999e44.7z/file) [GNU 14.2.0]

New features: 10 bit color depth

Jamaika
1st December 2024, 12:12
There's nothing special but AVX2 support is added.

uvg266 8/10bit 2d2301c
https://www.sendspace.com/file/i18xdt

ffmpeg.exe -y -i "input.mp4" -f yuv4mpegpipe -vf scale=1920:1080:in_range=full:_out_range=full,format=yuv420p10le -frames:v 100 -strict -1 111.y4m
uvg266_10bit_avx2.exe -i 111.y4m -o 112.vvc --input-file-format y4m --input-res 1920x1080 --input-format P420 --input-bitdepth 10 --preset medium --input-fps 30000/1001 --bitrate 6000000 --vps-period 256 --no-info --threads auto --range pc

https://imgur.com/a/84bpDri

LigH
7th December 2024, 12:14
New upload:

uvg266 0.8.1-9c29121 (https://www.mediafire.com/file/4wj4ln2gqctoekn/uvg266_0.8.1-9c29121.7z/file) [GNU 14.2.0]

LigH
20th March 2025, 19:43
New upload:

uvg266 0.8.1-cf31e82 (https://www.mediafire.com/file/jzcyopfprqej4n0/uvg266_0.8.1-cf31e82.7z/file) [GNU 14.2.0]

LigH
5th April 2025, 09:20
New upload:

uvg266 0.8.1-6a3a42a (https://www.mediafire.com/file/99ueks2acxb3jpv/uvg266_0.8.1-6a3a42a.7z/file) [GNU 14.2.0]

LigH
11th May 2025, 14:55
New upload:

uvg266 0.8.1-391a564 (https://www.mediafire.com/file/qxwabit366io7w7/uvg266_0.8.1-391a564.7z/file) [GNU 15.1.0]

a.ok.in
24th May 2025, 20:27
There's nothing special but AVX2 support is added.

uvg266 8/10bit 2d2301c
https://www.sendspace.com/file/i18xdt

ffmpeg.exe -y -i "input.mp4" -f yuv4mpegpipe -vf scale=1920:1080:in_range=full:_out_range=full,format=yuv420p10le -frames:v 100 -strict -1 111.y4m
uvg266_10bit_avx2.exe -i 111.y4m -o 112.vvc --input-file-format y4m --input-res 1920x1080 --input-format P420 --input-bitdepth 10 --preset medium --input-fps 30000/1001 --bitrate 6000000 --vps-period 256 --no-info --threads auto --range pc

https://imgur.com/a/84bpDri

Sendspace link is down. (Or at least it doesnt work for me idk)
Could anyone share a new 10bit build of uvg266 (and kvazaar btw)?

LigH
24th May 2025, 20:33
Don't you like mine? Okay, it was not compiled for AVX2 specifically, but most of the really tight routines should be in Assembler anyway. According to the help text, it should support
--input-bitdepth <int> : 8-16 [8]

And kvazaar: New versions of free software used in the GUI's (https://forum.doom9.org/showthread.php?p=2018835#post2018835)

a.ok.in
25th May 2025, 01:46
Don't you like mine? Okay, it was not compiled for AVX2 specifically, but most of the really tight routines should be in Assembler anyway. According to the help text, it should support
--input-bitdepth <int> : 8-16 [8]

And kvazaar: New versions of free software used in the GUI's (https://forum.doom9.org/showthread.php?p=2018835#post2018835)

That Kvazaar build is fine, 10-bit support works (idk if Kvazaar can encode more bits, since it doesn't even have support for 422/444 sampling... if it actually doesn't support it's basically the same as SVT-AV1, YUV420 8/10-bit [edit: it seems nobody tested thorougly, anyway i understood it would require some changes in code or something, to get 12-16 bits with Kvazaar, as probably the 422/444 sampling; this situation might be the same with uvg266; whatever i must say i'm not any expert, and these details don't really matter as there are quite few use cases that require more than 10 bits for final encoding, still images is another question).

But your uvg266 builds don't have 10-bit support enabled:
https://files.catbox.moe/bg6q9k.png

update: i tested a lot of builds, none of them seems to be compiled for 10-bit encoding. iirc that one build that was on sendspace is the only one that had 10 bit support.

Jamaika
25th May 2025, 07:20
update: i tested a lot of builds, none of them seems to be compiled for 10-bit encoding. iirc that one build that was on sendspace is the only one that had 10 bit support.
kvaazar and uvg266 are just unfinished commercials for me. Very few updates and it is not known whether this is the end of the initiative. They do not work well as static ffmpeg add-ons because they are 10-bit codecs.
Using preset medium: --rd=0 --pu-depth-intra=1-4 --pu-depth-inter=0-3 --me=hexbs --gop=16 --ref=4 --bipred=1 --deblock=0:0 --signhide=0 --subme=4 --sao=full --rdoq=1 --rdoq-skip=0 --transform-skip=0 --mv-rdo=0 --full-intra-search=0 --cu-split-termination=zero --me-early-termination=on --intra-rdo-et=0 --early-skip=1 --fast-residual-cost=0 --max-merge=6 --cclm=0 --dual-tree=0 --jccr=0 --mip=0 --mrl=0 --mts=off --dep-quant=0
uvg266 0.8.1-d753f74 [GCC: (GNU) 15.1.0] 20241129
Compiled: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX AVX2
Detected: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX AVX2
Available: sse42(2)
In use: sse42(2)
--owf=auto value set to 3.
--threads=auto value set to 20.
https://www.sendspace.com/file/ypsray

LigH
25th May 2025, 07:39
You are right, I only build the binaries occasionally, but hardly used them all in thorough tests or even practical projects.

I created a request for M-AB-S (https://github.com/m-ab-s/media-autobuild_suite/issues/2928) to possibly get two uvg binaries with 8 and 10 bit depth support, hopefully Jamaika can add some experience about quirks in the implementation.

By the way, the bit depth (think of it as "precision of frequency values after transforming pixel values to a spectrum") is not related to the chroma subsampling support, they are independent. And either of them will need support for a whole encoding "Profile", which possibly means more changes in the bitstream of the encoded video than just a few flags.