mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
vvcdec: add vvc decoder
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 Contributors (based on code merge order): Nuo Mi <nuomi2021@gmail.com> Xu Mu <toxumu@outlook.com> Frank Plowman <post@frankplowman.com> Shaun Loo <shaunloo10@gmail.com> Wu Jianhua <toqsxw@outlook.com> Thank you for reporting issues and providing performance reports: Łukasz Czech <lukaszcz18@wp.pl> Xu Fulong <839789740@qq.com> Thank you for providing review comments: Ronald S. Bultje <rsbultje@gmail.com> James Almer <jamrial@gmail.com> Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Co-authored-by: Xu Mu <toxumu@outlook.com> Co-authored-by: Frank Plowman <post@frankplowman.com> Co-authored-by: Shaun Loo <shaunloo10@gmail.com> Co-authored-by: Wu Jianhua <toqsxw@outlook.com>
This commit is contained in:
parent
e7ef457d6b
commit
301ed950d1
@ -16,6 +16,7 @@ version <next>:
|
||||
- qrencode filter and qrencodesrc source
|
||||
- quirc filter
|
||||
- lavu/eval: introduce randomi() function in expressions
|
||||
- VVC decoder
|
||||
|
||||
version 6.1:
|
||||
- libaribcaption decoder
|
||||
|
1
configure
vendored
1
configure
vendored
@ -3029,6 +3029,7 @@ vp6f_decoder_select="vp6_decoder"
|
||||
vp7_decoder_select="h264pred videodsp vp8dsp"
|
||||
vp8_decoder_select="h264pred videodsp vp8dsp"
|
||||
vp9_decoder_select="videodsp vp9_parser vp9_superframe_split_bsf"
|
||||
vvc_decoder_select="cabac golomb videodsp"
|
||||
wcmv_decoder_select="inflate_wrapper"
|
||||
webp_decoder_select="vp8_decoder exif"
|
||||
wmalossless_decoder_select="llauddsp"
|
||||
|
@ -389,6 +389,7 @@ extern const FFCodec ff_vp9_rkmpp_decoder;
|
||||
extern const FFCodec ff_vp9_v4l2m2m_decoder;
|
||||
extern const FFCodec ff_vqa_decoder;
|
||||
extern const FFCodec ff_vqc_decoder;
|
||||
extern const FFCodec ff_vvc_decoder;
|
||||
extern const FFCodec ff_wbmp_decoder;
|
||||
extern const FFCodec ff_wbmp_encoder;
|
||||
extern const FFCodec ff_webp_decoder;
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#include "version_major.h"
|
||||
|
||||
#define LIBAVCODEC_VERSION_MINOR 36
|
||||
#define LIBAVCODEC_VERSION_MINOR 37
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
|
@ -1,7 +1,8 @@
|
||||
clean::
|
||||
$(RM) $(CLEANSUFFIXES:%=libavcodec/vvc/%)
|
||||
|
||||
OBJS-$(CONFIG_VVC_DECODER) += vvc/vvcdsp.o \
|
||||
OBJS-$(CONFIG_VVC_DECODER) += vvc/vvcdec.o \
|
||||
vvc/vvcdsp.o \
|
||||
vvc/vvc_cabac.o \
|
||||
vvc/vvc_ctu.o \
|
||||
vvc/vvc_data.o \
|
||||
|
1017
libavcodec/vvc/vvcdec.c
Normal file
1017
libavcodec/vvc/vvcdec.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user