[FFmpeg-devel] [PATCH 00/14] add vvc decoder c code
Nuo Mi
nuomi2021 at gmail.com
Sun May 21 16:03:05 EEST 2023
Hi Gurus:
Please help review vvc decoder
You can comment on maling list or github link:
https://github.com/ffvvc/FFmpeg/pull/79
thank you
Features:
+ C code only
+ Support I, P, B frames, 8/10 bits, chroma 400, 420, 422, and 444,
+ Support VVC new tools like MIP, CCLM, AFFINE, GPM, DMVR, PROF, BDOF, LMCS, ALF
+ 211 conformace clips passed
- Not support RPR, IBC, PALETTE, and other minor features yet.
Performance on i7-12700:
RitualDance_1920x1080_60_10_420_37_RA.266 122 FPS
Tango2_3840x2160_60_10_420_27_LD.266 23 FPS
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 at gmail.com>
Xu Mu <toxumu at outlook.com>
frankplow <post at frankplowman.com>
Nuo Mi (14):
vvcdec: add thread executor
vvcdec: add vvc decoder stub
vvcdec: add sps, pps, sh parser
vvcdec: add cabac decoder
vvcdec: add reference management
vvcdec: add motion vector decoder
vvcdec: add inter prediction
vvcdec: add inv transform 1d
vvcdec: add intra prediction
vvcdec: add LMCS, Deblocking, SAO, and ALF filters
vvcdec: add dsp init and inv transform
vvcdec: add CTU(Coding Tree Unit) parser
vvcdec: add CTU thread logical
vvcdec: add full vvc decoder
configure | 1 +
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c | 1 +
libavcodec/vvc/Makefile | 17 +
libavcodec/vvc/vvc_cabac.c | 2423 ++++++++++++++++++
libavcodec/vvc/vvc_cabac.h | 126 +
libavcodec/vvc/vvc_ctu.c | 2202 +++++++++++++++++
libavcodec/vvc/vvc_ctu.h | 406 ++++
libavcodec/vvc/vvc_data.c | 3295 +++++++++++++++++++++++++
libavcodec/vvc/vvc_data.h | 69 +
libavcodec/vvc/vvc_executor.c | 193 ++
libavcodec/vvc/vvc_executor.h | 73 +
libavcodec/vvc/vvc_filter.c | 1356 +++++++++++
libavcodec/vvc/vvc_filter.h | 70 +
libavcodec/vvc/vvc_filter_template.c | 1216 +++++++++
libavcodec/vvc/vvc_inter.c | 1051 ++++++++
libavcodec/vvc/vvc_inter.h | 50 +
libavcodec/vvc/vvc_inter_template.c | 1510 ++++++++++++
libavcodec/vvc/vvc_intra.c | 763 ++++++
libavcodec/vvc/vvc_intra.h | 49 +
libavcodec/vvc/vvc_intra_template.c | 1018 ++++++++
libavcodec/vvc/vvc_itx_1d.c | 712 ++++++
libavcodec/vvc/vvc_itx_1d.h | 51 +
libavcodec/vvc/vvc_mvs.c | 1807 ++++++++++++++
libavcodec/vvc/vvc_mvs.h | 46 +
libavcodec/vvc/vvc_ps.c | 3379 ++++++++++++++++++++++++++
libavcodec/vvc/vvc_ps.h | 811 +++++++
libavcodec/vvc/vvc_refs.c | 498 ++++
libavcodec/vvc/vvc_refs.h | 44 +
libavcodec/vvc/vvc_thread.c | 761 ++++++
libavcodec/vvc/vvc_thread.h | 72 +
libavcodec/vvc/vvcdec.c | 1195 +++++++++
libavcodec/vvc/vvcdec.h | 314 +++
libavcodec/vvc/vvcdsp.c | 316 +++
libavcodec/vvc/vvcdsp.h | 183 ++
libavcodec/vvc/vvcdsp_template.c | 119 +
36 files changed, 26198 insertions(+)
create mode 100644 libavcodec/vvc/Makefile
create mode 100644 libavcodec/vvc/vvc_cabac.c
create mode 100644 libavcodec/vvc/vvc_cabac.h
create mode 100644 libavcodec/vvc/vvc_ctu.c
create mode 100644 libavcodec/vvc/vvc_ctu.h
create mode 100644 libavcodec/vvc/vvc_data.c
create mode 100644 libavcodec/vvc/vvc_data.h
create mode 100644 libavcodec/vvc/vvc_executor.c
create mode 100644 libavcodec/vvc/vvc_executor.h
create mode 100644 libavcodec/vvc/vvc_filter.c
create mode 100644 libavcodec/vvc/vvc_filter.h
create mode 100644 libavcodec/vvc/vvc_filter_template.c
create mode 100644 libavcodec/vvc/vvc_inter.c
create mode 100644 libavcodec/vvc/vvc_inter.h
create mode 100644 libavcodec/vvc/vvc_inter_template.c
create mode 100644 libavcodec/vvc/vvc_intra.c
create mode 100644 libavcodec/vvc/vvc_intra.h
create mode 100644 libavcodec/vvc/vvc_intra_template.c
create mode 100644 libavcodec/vvc/vvc_itx_1d.c
create mode 100644 libavcodec/vvc/vvc_itx_1d.h
create mode 100644 libavcodec/vvc/vvc_mvs.c
create mode 100644 libavcodec/vvc/vvc_mvs.h
create mode 100644 libavcodec/vvc/vvc_ps.c
create mode 100644 libavcodec/vvc/vvc_ps.h
create mode 100644 libavcodec/vvc/vvc_refs.c
create mode 100644 libavcodec/vvc/vvc_refs.h
create mode 100644 libavcodec/vvc/vvc_thread.c
create mode 100644 libavcodec/vvc/vvc_thread.h
create mode 100644 libavcodec/vvc/vvcdec.c
create mode 100644 libavcodec/vvc/vvcdec.h
create mode 100644 libavcodec/vvc/vvcdsp.c
create mode 100644 libavcodec/vvc/vvcdsp.h
create mode 100644 libavcodec/vvc/vvcdsp_template.c
--
2.25.1
More information about the ffmpeg-devel
mailing list