fraunhoferhhi / vvdec

VVdeC, the Fraunhofer Versatile Video Decoder
https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc.html
BSD 3-Clause Clear License
462 stars 95 forks source link
codec decoder h266 video vvc

VVdeC

VVdeC Logo

VVdeC, the Fraunhofer Versatile Video Decoder, is a fast software H.266/VVC decoder implementation supporting all features of the VVC Main10 profile.

Supported architectures

Windows Linux MacOS X Android iOS Browser (WASM)
Win32 :white_check_mark: x86 :white_check_mark: Edge :white_check_mark:
x64 :white_check_mark: x86_64 :white_check_mark: x64 :white_check_mark: Firefox :white_check_mark:
armv7 :x: armv7 :white_check_mark: armv7 :white_check_mark: armv7 :black_square_button: Chrome :white_check_mark:
aarch64 :white_check_mark: aarch64 :white_check_mark: arm64 :white_check_mark: aarch64 :white_check_mark: arm64 :black_square_button: Safari :x:

:white_check_mark: tested and works :black_square_button: needs testing (might already work) :x: does not work

Other architectures and platforms might work, see the Wiki.

Information

See the Wiki-Page for more information:

Build

VVdeC 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, convenience Makefile is provided to simplify the build process. To build using GNU Make please run the following:

make install-release <options>

Use the option enable-bitstream-download=1 in the make command to download the VVC conformance bitstreams for testing.

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 VVdeC in literature:

@InProceedings{VVdeC,
  author    = {Wieckowski, Adam and Hege, Gabriel and Bartnik, Christian and Lehmann, Christian and Stoffers, Christian and Bross, Benjamin and Marpe, Detlev},
  booktitle = {Proc. IEEE International Conference on Image Processing (ICIP)},
  date      = {2020},
  title     = {Towards A Live Software Decoder Implementation For The Upcoming Versatile Video Coding (VVC) Codec},
  doi       = {10.1109/ICIP40778.2020.9191199},
  pages     = {3124-3128},
}

Contributing

Feel free to contribute. To do so:

License

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

For more information, please contact: vvc@hhi.fraunhofer.de

Copyright (c) 2018-2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. & The VVdeC Authors.

All rights reserved.

VVdeC® is a registered trademark of the Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.