• Stars
    star
    943
  • Rank 48,467 (Top 1.0 %)
  • Language
    C++
  • License
    BSD 3-Clause Clea...
  • Created about 4 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

VVenC, the Fraunhofer Versatile Video Encoder

Fraunhofer Versatile Video Encoder (VVenC)

The Fraunhofer Versatile Video Encoder (VVenC) is a fast and efficient H.266/VVC encoder implementation with the following main features:

  • Easy to use encoder implementation with five predefined quality/speed presets;
  • Perceptual optimization to improve subjective video quality, based on the XPSNR visual model;
  • Extensive frame-level and task-based parallelization with very good scaling;
  • Frame-level single-pass and two-pass rate control supporting variable bit-rate (VBR) encoding;
  • Expert mode encoder interface available, allowing fine-grained control of the encoding process.

Information

See the Wiki-Page for more information:

Build

VVenC uses CMake to describe and manage the build process. A working CMake installation is required to build the software. In the following, the basic build steps are described. Please refer to the Wiki for the description of all build options.

How to build using CMake?

To build using CMake, create a build directory and generate the project:

mkdir build
cd build
cmake .. <build options>

To actually build the project, run the following after completing project generation:

cmake --build .

For multi-configuration projects (e.g. Visual Studio or Xcode) specify --config Release to build the release configuration.

How to build using GNU Make?

On top of the CMake build system, convinence Makefile is provided to simplify the build process. To build using GNU Make please run the following:

make install-release <options>

Other supported build targets include configure, release, debug, relwithdebinfo, test, and clean. Refer to the Wiki for a full list of supported features.

Citing

Please use the following citation when referencing VVenC in literature:

@InProceedings{VVenC,
  author    = {Wieckowski, Adam and Brandenburg, Jens and Hinz, Tobias and Bartnik, Christian and George, Valeri and Hege, Gabriel and Helmrich, Christian and Henkel, Anastasia and Lehmann, Christian and Stoffers, Christian and Zupancic, Ivan and Bross, Benjamin and Marpe, Detlev},
  booktitle = {Proc. IEEE International Conference on Multimedia Expo Workshops (ICMEW)},
  date      = {2021},
  title     = {VVenC: An Open And Optimized VVC Encoder Implementation},
  doi       = {10.1109/ICMEW53276.2021.9455944},
  pages     = {1-2},
}

Contributing

Feel free to contribute. To do so:

  • Fork the current-most state of the master branch
  • Apply the desired changes
  • For non-trivial contributions, add your name to AUTHORS.md
  • Create a pull-request to the upstream repository

License

Please see LICENSE.txt file for the terms of use of the contents of this repository.

For more information, please contact: [email protected]

Copyright (c) 2019-2023, Fraunhofer-Gesellschaft zur FΓΆrderung der angewandten Forschung e.V. & The VVenC Authors.

All rights reserved.

More Repositories

1

vvdec

VVdeC, the Fraunhofer Versatile Video Decoder
C++
454
star
2

neural-deferred-shading

Multi-View Mesh Reconstruction with Neural Deferred Shading (CVPR 2022)
Python
250
star
3

omaf.js

HTML5 MSE Playback of MPEG 360 VR Tiled Streaming
JavaScript
117
star
4

Self-Organizing-Gaussians

[ECCV '24] Compressing 3D Gaussian Splats by placing their parameters into a 2D grid with local smoothness
Python
110
star
5

QuaDRiGa

QuaDRiGa, short for QUAsi Deterministic RadIo channel GenerAtor, is used for generating realistic radio channel impulse responses for system-level simulations of mobile radio networks.
MATLAB
92
star
6

X-maps

[CVPRW '23] Real-time depth estimation with an event camera and a laser projector
Python
74
star
7

nncodec

Fraunhofer Neural Network Encoder/Decoder (NNCodec)
Python
68
star
8

DeepCABAC

C++
58
star
9

gaussian_gan_decoder

[CVPRW '24] Turning the output of NeRF based 3D GANs into 3DGS scenes in a single forward pass.
Python
54
star
10

D-NeuS

Recovering Fine Details for Neural Implicit Surface Reconstruction (WACV2023)
Python
48
star
11

vvdecWebPlayer

A minimal proof-of-concept VVC player for the web using WebAssembly
JavaScript
37
star
12

casapose

CASAPose: Class-Adaptive and Semantic-Aware Multi-Object Pose Estimation (BMVC 2022)
Python
32
star
13

xpsnr

A filter plug-in adding support for Extended Perceptually Weighted Peak Signal-to-Noise Ratio (XPSNR) measurements in FFmpeg
C
28
star
14

spvloc

[ECCV 2024] SPVLoc: Semantic Panoramic Viewport Matching for 6D Camera Localization in Unseen Environments
Python
22
star
15

pred6dof

Code for our ACMM'20 paper "Kalman Filter-based Head Motion Prediction for Cloud-based Mixed Reality"
TeX
20
star
16

BerlinV2X

Support code and documentation for the Berlin V2X dataset
Jupyter Notebook
18
star
17

pytorch2tikz

Generate Tikz figures from pytorch models
Python
13
star
18

PLAS

Parallel Linear Assignment Sorting - Sorting multi-dimensional data into locally smooth 2D grids.
Python
11
star
19

ai4mobile-industrial

Support code and documentation for the AI4Mobile industrial datasets: iV2V and iV2I+
Jupyter Notebook
5
star
20

BTSeg

BarlowTwin Segementation
Python
4
star
21

DistSensIQE

Models for our paper on "Estimation of distortion sensitivity for visual quality prediction using a convolutional neural network".
Python
3
star
22

CuriouslyEffectiveIQE

Reference implementation for our paper "Curiously Effective Features for Image Quality Prediction"
Python
1
star
23

SOLOPlanes

Python
1
star
24

sidelink-mcs-measurements

Measurement data for the paper "From Empirical Measurements to Augmented Data Rates: A Machine Learning Approach for MCS Adaptation in Sidelink Communication"
1
star
25

libapsm

Cuda
1
star