[FFmpeg-devel] [PATCH v3 0/2] Add support for H266/VVC encoding

Christian Bartnik chris10317h5 at gmail.com
Tue May 14 18:09:34 EEST 2024


This patchset is based on the latest patchset from Thomas Siedel
(thomas.ff at spin-digital.com).
Since almost all changes from the patchset but libvvenc and libvvdec has been
merged this patch only implements the libvvenc and libvvdec wrapper
implementation.
As ffmpeg already has it´s own vvc decoder, feel free to cherry pick libvvenc
only.
The libvvdec patch has been cleaned up by removing the extradata parsing files
and using existing code from cbs_h266.

The libvvenc patch only has been cleaned up with following changes:
- add defaults struct vvenc_defaults
- fix: init qp value (typo)
- cleanup init function (move code into sub functions)
- cleanup verbosity
- add check for payload allocation
- vvenc-params return error for invalid options or values
- add support for capped CRF mode (QP + subj.Optimization + max. bitrate) if vvenc version >= 1.11.0
- add vvenc documentation in doc/encoders.texi

Christian Bartnik (2):
  avcodec: add external enc libvvenc for H266/VVC
  avcodec: add external dec libvvdec for H266/VVC

 configure              |   9 +
 doc/encoders.texi      |  65 +++++
 libavcodec/Makefile    |   2 +
 libavcodec/allcodecs.c |   2 +
 libavcodec/libvvdec.c  | 617 +++++++++++++++++++++++++++++++++++++++++
 libavcodec/libvvenc.c  | 566 +++++++++++++++++++++++++++++++++++++
 6 files changed, 1261 insertions(+)
 create mode 100644 libavcodec/libvvdec.c
 create mode 100644 libavcodec/libvvenc.c

--
2.34.1


More information about the ffmpeg-devel mailing list