[FFmpeg-devel] [PATCH v9 13/13] vvcdec: add vvc decoder
James Almer
jamrial at gmail.com
Sat Jan 6 19:47:09 EET 2024
On 1/1/2024 11:12 AM, Nuo Mi wrote:
> vvc decoder plug-in to avcodec.
> split frames into slices/tiles and send them to vvc_thread for further decoding
> reorder and wait for the frame decoding to be done and output the frame
>
> Features:
> + Support I, P, B frames
> + Support 8/10/12 bits, chroma 400, 420, 422, and 444 and range extension
> + Support VVC new tools like MIP, CCLM, AFFINE, GPM, DMVR, PROF, BDOF, LMCS, ALF
> + 295 conformace clips passed
> - Not support RPR, IBC, PALETTE, and other minor features yet
>
> Performance:
> C code FPS on an i7-12700K (x86):
> BQTerrace_1920x1080_60_10_420_22_RA.vvc 93.0
> Chimera_8bit_1080P_1000_frames.vvc 184.3
> NovosobornayaSquare_1920x1080.bin 191.3
> RitualDance_1920x1080_60_10_420_32_LD.266 150.7
> RitualDance_1920x1080_60_10_420_37_RA.266 170.0
> Tango2_3840x2160_60_10_420_27_LD.266 33.7
>
> C code FPS on a M1 Mac Pro (ARM):
> BQTerrace_1920x1080_60_10_420_22_RA.vvc 58.7
> Chimera_8bit_1080P_1000_frames.vvc 153.3
> NovosobornayaSquare_1920x1080.bin 150.3
> RitualDance_1920x1080_60_10_420_32_LD.266 105.0
> RitualDance_1920x1080_60_10_420_37_RA.266 133.0
> Tango2_3840x2160_60_10_420_27_LD.266 21.7
>
> Asm optimizations still working in progress. please check
> https://github.com/ffvvc/FFmpeg/wiki#performance-data for the latest
>
> Thank you for reporting issues and providing performance reports:
> Łukasz Czech <lukaszcz18 at wp.pl>
> Xu Fulong <839789740 at qq.com>
>
> Thank you for providing review comments:
> Ronald S. Bultje <rsbultje at gmail.com>
> James Almer <jamrial at gmail.com>
> Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>
> Co-authored-by: Xu Mu <toxumu at outlook.com>
> Co-authored-by: Frank Plowman <post at frankplowman.com>
> Co-authored-by: Shaun Loo <shaunloo10 at gmail.com>
> Co-authored-by: Wu Jianhua <toqsxw at outlook.com>
> ---
> Changelog | 1 +
> configure | 1 +
> libavcodec/allcodecs.c | 1 +
> libavcodec/version.h | 2 +-
> libavcodec/vvc/Makefile | 3 +-
> libavcodec/vvc/vvcdec.c | 1017 +++++++++++++++++++++++++++++++++++++++
> 6 files changed, 1023 insertions(+), 2 deletions(-)
> create mode 100644 libavcodec/vvc/vvcdec.c
There's a bunch of use of uninitialized values reported by valgrind
http://fate.ffmpeg.org/report.cgi?slot=x86_64-archlinux-gcc-valgrind&time=20240105201935
More information about the ffmpeg-devel
mailing list