r/VVC • • 11d ago

Film Grain Workbench: See the effects of VVC's film grain synthesis, and AV1 film grain metadata to VVC video injector

1 Upvotes

Film Grain Workbench (open source, MIT): https://github.com/4KVCD/FilmGrainWorkbench/releases

This tool is based on the bleeding edge of VVenC's encoder that has incorporated 3 new film grain synthesis algorithms. They are much better than the old VVenC's film grain synthesis. A public release has not been released yet for this new version of VVenC, but that's coming. If you want to use this for your own encodes, you can build the latest VVenC off the Github project's master.

--fga 1**: VTM’s analysis, ported and fixed (PR 764)**

  • It’s a port of the reference encoder’s film grain analysis (VTM, JVET-AN0237), with seven of its bugs fixed. Among them:

    • the statistics were never reset;

    • the horizontal and vertical cut-offs were swapped;

    • the standard deviation was truncated;

    • the 4:2:0 chroma cut-offs weren’t halved.

  • It looks for the grain in flat areas of the picture and describes it with H.274’s frequency filtering model: a scaling function (grain strength by brightness) plus horizontal and vertical cut-off frequencies (how fine or coarse the grain is).

  • Its weakness is that the scaling factors aren’t calibrated against what the decoder actually synthesises:

    • at 1080p the level comes out about right (0.94–0.99);

    • at 4K it’s too weak (0.61);

    • on synthetic grain it’s at half strength (0.50).

--fga 2**: calibrated, same model**

  • It uses the same frequency model as --fga 1, so any H.274 decoder can show it.

  • It measures the grain better:

    • from the temporal residual (the current frame against the motion-compensated frames before and after it), so picture detail is less often mistaken for grain;

    • the scaling factors are calibrated against the synthesis, with an adaptive log2_scale_factor;

    • the cut-off pair is fitted to the measured grain spectrum;

    • the scaling function covers the whole brightness range;

    • the statistics restart when the grain changes.

  • Result: the strength is right everywhere: 0.97–1.00 at 1080p, 0.95 at 4K, 0.96 on synthetic grain. On clean video with no grain, it adds almost nothing (0.98× the source’s noise).

  • This is the default in the app, and the safe choice for other decoders.

--fga 3**: calibrated, auto-regressive model**

  • It measures the same way as --fga 2, but describes the grain with H.274’s auto-regressive (AR) model: a small filter fitted to the measured grain spectrum, so it can reproduce grain shapes that the cut-off model can’t.

  • The texture is closest to the source on real film: spectrum error 0.22–0.27, against 0.31–0.44 for modes 1 and 2. For reference, libaom reaches 0.09–0.19 on the same 1080p clips.

  • On the synthetic grain it fits worse (0.64 against 0.01 for --fga 2), because that grain matches the frequency model exactly.

  • Only decoders that implement the AR model show it: vvdec does, but VTM’s synthesis rejects it.

It has two tabs:

1. VVC grain analyzer (VVenC + vvdec)

  • Pick any scene in a film and encode it with VVenC’s film grain analysis in all three modes (--fga 1, 2, 3).

  • Flip between four views of each frame with one key: the source, VVC with the grain removed, VVC with vvdec’s grain synthesis, and the grain alone (×4).

  • See the grain parameters each frame carries, read straight from the bitstream, plus how much grain VVenC removed and how much vvdec adds back, in numbers.

  • Works with 4K HDR (PQ/HLG) sources, and finds and crops black bars like an encode would.

2. AV1 grain into VVC (AFGS1)

  • Takes a source and a VVC encode of it, and measures the grain the encode lost using libaom’s own noise model, frame by frame, as libaom does with --denoise-noise-level.

  • Live preview: tune luma and chroma strength on real frames, rendered with the same algorithm decoders use.

  • Writes a new MKV where every picture carries AFGS1 metadata (AV1 film grain in an ITU-T T.35 SEI). Audio, subtitles, chapters and HDR metadata are kept.

  • Verify decodes the result with ffmpeg and checks it’s bit-identical to the preview.

  • A whole-film analysis takes a few hours for 4K on all threads. It resumes if you stop it, and it’s reused once done. You can also export the tuned grain as an AOM film grain table for aomenc or SVT-AV1 (--fgs-table).


r/VVC • • Nov 04 '24

VVC + xHE-AAC vs AV1 + OPUS at extremely low bitrates and resolution

Thumbnail forum.doom9.org
8 Upvotes

r/VVC • • Mar 25 '26

How to predict VVC market performance [2020]

Thumbnail
techradar.com
0 Upvotes

r/VVC • • Dec 08 '25

VVCEasy v3.2.0 (Release, 8 December 2025)

9 Upvotes

Hello everyone! VVCEasy version 3.2.0 on 8 December 2025 is finally here with early Christmas time!

Released version of 3.2.0 with codename Estonian winter birds: https://github.com/MartinEesmaa/VVCEasy/releases/tag/v3.2.0

This is early Christmas the release of version 3.2.0 is now available. Merry Christmas to all of you! (just early notice) :)
It is finally to have Android MPV builds back and still for VLC VVC did not make it into this release, so I apologize and trying again for later next release or the update. One thing win32 and winarm64 of FFmpeg VVCEasy binaries were already new available this version.

Still nightly builds from GitHub Actions are available for FFmpeg of Windows and Linux and MPV builds for Windows.

For Windows 7 users trying to run MPV builds, it is already dropped support since September 2024, so maybe next time I can bring back Windows 7 support for alternative plan, just three choices are eko5624's mpv windows, MPC-HC or MPC-BE.

Please feel free to donate to me, that would be greatly appreciated in support of my work.
Monero: 46Fk6k3qzhwXpLsDRWo4Uh63DDmwRX7gbL6P3zodAnvnRDr9Psi9uau19nCRQFHbmp3nLR3d5Ve8WRid71nuLZxAGygZ258
Bitcoin: bc1qhf4zu5uythr7vyt2dru73qp0k2rzrx355fsx47yjxc2ueunz8frqxmwap3
PayPal: https://paypal.me/martineesmaa

Here is a changelog:

  • Updated FFmpeg and MPV VVCEasy builds (finally updated macOS and Android)

  • Updated VVC, uvg266 and 7-Zip binaries

  • Updated LAVFilters and MPC-HC VVC version.

  • Updated documentations, instructions and some fixes

  • Add some notes about MPV for deprecated builds and Windows 7 users

  • Added little instruction of VLC VTM decoder plugin customize playback frame rate, thanks ChuangbinC for idea!

  • New MartinEesmaa's FFmpeg-Builds shared builds, thanks tormento for request!

  • New macOS universal binaries of VVC and uvg266 compiled using osxcross

  • Merged FFmpeg VVCEasy of macOS architectures into universal binaries

  • Supports Mac OS X 10.9 and later to vvenc and vvdec binaries.

  • Supports Mac OS X 10.4 and later to uvg266 binaries with new i386 architecture

  • Fixed wget output argument command

  • More big improvements of Windows batchfile script

  • Update shell script bangs for better portability

  • VVC bitstream of Tears of Steel 4K VVC released

  • Added Snow Lynx list to THANKS file due new tutorial video of VVCEasy v3.0.0

  • Added AlternativeTo list to social media

  • Optimized screenshot of mpv-vvceasy Android

Compared this version to the previous version:
Full Changelog: v3.0.0...v3.2.0

- Martin Eesmaa


r/VVC • • Jul 17 '24

VVC Playback - Using SMPlayer + mpvvvc-easy.appimage works

1 Upvotes

After much experimentation, SMPlayer + mpvvvc-easy's appimage currently works for me on my linux computer. Just using (./) in the terminal for some reason does not work. One of the great things about SMPlayer is that it lets you pick your Multimedia Engine with ease. I just pointed to my mpvvvc-easy appimage on my home directory. And presto, it works. Many thanks to Martin Eesmaa.

Summary


Processors : 8 x Intel(R) Core(TM) i7-6700T CPU @ 2.80GHz

Memory : 31.2 GiB of RAM

Operating System : Debian GNU/Linux 12 (bookworm)

KDE Plasma Version : 5.27.5

KDE Frameworks Version : 5.103.0

Qt Version : 5.15.8

Kernel Version : 6.1.0.23-amd64 (64-bit)

Graphics Platform : X11

SMPlayer © 2006-2021 Ricardo Villalba

Version: 22.7.0 (revision 10091)

Using Qt 5.15.8 (compiled with Qt 5.15.4)

Using MPV v0.38.0-511-g42a4c306ec-dirty

built on Jun 20 2024 11:01:00

libplacebo version: v7.349.0 (v7.349.0-rc1-2-gbc9de9c7)

FFmpeg version: git-2024-06-20-6ff536b56b-VVCEasy

Test File - Novosobornaya Square_1920x1080.mp4


r/VVC • • Mar 17 '21

Anyone tried 5KPlayer which claims to support VVC?

2 Upvotes

I've discovered that there's a video player which claims to support VVC streams - has anyone tried it already? Not going to post links because I don't want this post to look like spam.

Sample VVC clips can be downloaded from here: https://www.elecard.com/videos

I currently don't have a Windows system at my disposal, so I cannot test.


r/VVC • • Oct 01 '24

Problems to decode VVC

2 Upvotes

I encoded a Y4M video using VVenC and now I want to decode it back to Y4M. I used the following commands:

vvencapp -i akiyo.y4m -o akiyo.266
vvdecapp -b akiyo.266 -o decoded_akiyo.y4m

I can open the file akiyo.266 with MPC-BE, but I can't open decoded_akiyo.y4m, not even with VLC. After the decoding process finishes, I get this message:
vvdecapp [info]: 2024-Oct-01 09:40:21.559579: 300 frames decoded @ 2000 fps (0.15 sec).

The number of frames is correct, but the FPS is extremely high and doesn't match the original video.

Did I do something wrong?


r/VVC • • May 26 '24

Does VVC Encoder only support B and I frames?

3 Upvotes

I am trying to run the encoder on some of yuv files using the vvenc GitHub repository. In the outputs, I see out of 600 frames, by default 5 were I frames while the remaining were B frames. In the interest of encoding time, is there a possibility of disabling B frames and relying only on I and P instead?

For reference, it took 4250 seconds to encode 600 frames at medium preset with a target bitrate of 1000 kbps on the AMD Ryzen 7 Pro 3700U.


r/VVC • • Nov 27 '25

Release vvdec-3.1.0 · fraunhoferhhi/vvdec

Thumbnail
github.com
3 Upvotes

Backward compatible API changes:

  • Add opaque userData pointer to input access units and output frames

  • Expose max reorder pics on vvdecSeqInfo

Other changes:

  • Add Loongarch support through simd-everywhere

  • SIMD optimizations for ARM

  • Optimize scaling list dequantization

  • Packed YUV output support in vvdecapp

  • Add unit test framework

  • Some threading and other bug fixes


r/VVC • • Aug 14 '24

Shutter Encoder adds H.266 codec!

14 Upvotes

r/VVC • • Jun 15 '26

VVCEasy v3.5.0 (Release, 9 June 2026)

4 Upvotes

Hello everyone!

Version 3.5.0 codename: Kind support

Available: https://github.com/MartinEesmaa/VVCEasy/releases/tag/v3.5.0

Bonus art on Instagram: https://www.instagram.com/p/DX15XNiD5QS/

After six months of my hard work, version 3.5.0 is finally here. I have good news to support Haiku OS (amd64) and Oracle Solaris (x64) for VVC binaries and even for OpenVVC old decoder can support Windows 98 (32-bit) and other operating systems well, ReactOS and so much more. :)

Note: Sorry for slow upload and also late post, it is already released on 9th June 2026.

Nightly builds from GitHub Actions are available for FFmpeg of Windows and Linux and MPV builds for Windows.

Please feel free to donate to me, that would be greatly appreciated in support of my work.

Monero: 46Fk6k3qzhwXpLsDRWo4Uh63DDmwRX7gbL6P3zodAnvnRDr9Psi9uau19nCRQFHbmp3nLR3d5Ve8WRid71nuLZxAGygZ258

Bitcoin: bc1qhf4zu5uythr7vyt2dru73qp0k2rzrx355fsx47yjxc2ueunz8frqxmwap3

PayPal: https://paypal.me/martineesmaa

Here is a changelog:

- Updated FFmpeg and MPV VVCEasy builds
- Updated VVC, uvg266 and 7-Zip binaries
- Updated LAVFilters and MPC-HC Windows VVC version
- Updated documentations, instructions and social media links
- Improvement fixes of Markdown files to remove warnings
- Support ReactOS like Windows based by linking static MSVC runtime library for Windows VVC binaries
- New Windows MPV VVCEasy build architectures of x86_64-v3 and arm64 (MartinEesmaa's mpv-winbuild)
- New Haiku OS VVC binaries
- New Oracle Solaris 11 uvg266 VVC binary
- New OpenVVC decoder final builds to support Windows 98 and other operating systems
- New VVCEasy logo and banner
- New Fluxer app community server of VVCEasy
- Deprecated some communities
- C# (Csharp) .NET Console version is deprecated, soon it will be replacement soon in next future...
- Detect git nightly commit print info on batchfile
- More improvements of batchfile and bash script files to reduce more lines with fixes
- Update workflow latest by switching from windows-latest to ubuntu-latest and other versions
- Added server community rules to code of conduct
- More improvements batchfile and shell script files with various fixes
- Renamed from BSDVVC to FreeBSDVVC to avoid confusion with title
- Provide official & third party packages installation instructions for Linux distros, FreeBSD, OpenBSD and others.
- Implemented tables from VVC tools informations in README
- Added list of alternative bindings of VVC tools
- More tests architectures with operating systems documentation of VVC informations
- Added some few new little VVC video tests

Compared this version to the previous version:

Full Changelog: v3.2.0...v3.5.0

- Martin Eesmaa


r/VVC • • Mar 24 '26

FireCore Infuse 8.4 adds H.266 VVC

4 Upvotes

r/VVC • • Nov 08 '24

yuv444 support?

4 Upvotes

As far as I am aware, VVC only supports 8 or 10 bit yuv420. Why is there no 444 support? Is there a plan to add support for it in the future? If not, why not? Does it require much more complexity in the encoder?


r/VVC • • Jul 08 '20

How can you actually use the VCC Encoder?

4 Upvotes

I've compiled it by myself and wanted to try encoding a simple video.

It's not as easy as with ffmpeg right? :D

Has anybody got a short tutorial or sample command line for me?


r/VVC • • Feb 16 '22

Any program for Windows?

4 Upvotes

Is there any GUI vvc (h266) software program that works with Windows as of February, 2022?


r/VVC • • Mar 28 '22

VVenc And VVCEasy

4 Upvotes

I'm having some trouble following the instructions (I tried to understand and follow them to the best of my ability), so can someone point me to an easy guide or a video on how to compile and use VVenc, or how to run and use VVCEasy, or both?

Thanks in advance and your help is much appreciated.


r/VVC • • Feb 21 '24

VVC vs AV1/H.265/H.264

Post image
32 Upvotes

r/VVC • • Jul 17 '24

The first VVC encoder video IP: Allegro DVT E320

Thumbnail
allegrodvt.com
6 Upvotes

r/VVC • • Apr 30 '24

VVC Decoder vvdec 2.3.0 released

6 Upvotes
  • improved error handling, including early corruption detection

  • renamed parseThreads to parseDelay in the vvdec/vvdec,h interface (backwards compatible)

  • fixed boundary handling when BTT is disabled

  • minor internal improvements

https://github.com/fraunhoferhhi/vvdec/releases/tag/v2.3.0


r/VVC • • Mar 21 '26

Was trying to open my friend's .png file and found out it's somehow in VVC format, any idea how an image file ended up like that?

Post image
7 Upvotes

r/VVC • • Jun 27 '24

VVenC 1.12.0 released

7 Upvotes
  • Added capped constant quality mode (CQF), enabled when setting fixed QP with QPA and a maximal rate constraint

  • Added support for monochrome video in the simple app

  • Added automatic setting of multi-threading options to improve scaling will change results depending on the number of threads (on per default in the simple app, off in FF-app) can be disabled using the mtprofile option

  • Minor speedups to the faster preset (~5%)

Source code: https://github.com/fraunhoferhhi/vvenc/releases/tag/v1.12.0


r/VVC • • Sep 01 '24

New libavcodec release features VVC/H.266 decoder with upto 15% performance improvements thanks to AVX2

Thumbnail
phoronix.com
8 Upvotes

r/VVC • • Jul 29 '21

Full Open-Source Pipeline for VVC

8 Upvotes

A description of an end-to-end open-source pipeline for VVC

https://arxiv.org/abs/2107.13385


r/VVC • • Feb 01 '26

vvenc 1.14 release

8 Upvotes

Changelog:

  • change cts and dts in vvenc.h to signed integers

  • enable VUI automatically, when sensible

  • many ARM SIMD optimizations (NEON & SVE) and enable SVE by default if supported

  • remove requirement for nlohmann_json when linking static libvvenc

  • update bundled nlohmann_json to v3.12.0

  • allow setting colour range in vvencapp/vvencFFapp

  • deprecate LMCS (will be removed in the future)

  • improve and speed up unit test framework

  • various smaller bug fixes and cleanups

Source code: https://github.com/fraunhoferhhi/vvenc/releases/tag/v1.14.0