[FFmpeg-devel] [PATCH v2 00/14] add vvc decoder
Nuo Mi
nuomi2021 at gmail.com
Fri Jul 7 17:05:26 EEST 2023
Major changes since v1:
* 12 bits and range extension support added. Thanks to GSOC contributor frankplow.
* Make parser and inter prediction blockless to improve performance on high core count CPU.
Fixed following review comment since v1:
* Rename vvc prefix for executor, thanks to Lynne and Rémi
* Remove ff_vvc_executor_wakeup and ThreadInfo.idx, thanks to Rémi
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 parser
vvcdec: add CTU thread logical
vvcdec: add full vvc decoder
configure | 1 +
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c | 1 +
libavcodec/executor.c | 182 ++
libavcodec/executor.h | 67 +
libavcodec/vvc/Makefile | 17 +
libavcodec/vvc/vvc_cabac.c | 2483 +++++++++++++++++++
libavcodec/vvc/vvc_cabac.h | 126 +
libavcodec/vvc/vvc_ctu.c | 2457 ++++++++++++++++++
libavcodec/vvc/vvc_ctu.h | 421 ++++
libavcodec/vvc/vvc_data.c | 3295 ++++++++++++++++++++++++
libavcodec/vvc/vvc_data.h | 69 +
libavcodec/vvc/vvc_filter.c | 1330 ++++++++++
libavcodec/vvc/vvc_filter.h | 70 +
libavcodec/vvc/vvc_filter_template.c | 1088 ++++++++
libavcodec/vvc/vvc_inter.c | 992 ++++++++
libavcodec/vvc/vvc_inter.h | 42 +
libavcodec/vvc/vvc_inter_template.c | 1473 +++++++++++
libavcodec/vvc/vvc_intra.c | 771 ++++++
libavcodec/vvc/vvc_intra.h | 49 +
libavcodec/vvc/vvc_intra_template.c | 1018 ++++++++
libavcodec/vvc/vvc_itx_1d.c | 713 ++++++
libavcodec/vvc/vvc_itx_1d.h | 52 +
libavcodec/vvc/vvc_mvs.c | 1803 ++++++++++++++
libavcodec/vvc/vvc_mvs.h | 46 +
libavcodec/vvc/vvc_ps.c | 3436 ++++++++++++++++++++++++++
libavcodec/vvc/vvc_ps.h | 828 +++++++
libavcodec/vvc/vvc_refs.c | 502 ++++
libavcodec/vvc/vvc_refs.h | 51 +
libavcodec/vvc/vvc_thread.c | 804 ++++++
libavcodec/vvc/vvc_thread.h | 73 +
libavcodec/vvc/vvcdec.c | 1204 +++++++++
libavcodec/vvc/vvcdec.h | 314 +++
libavcodec/vvc/vvcdsp.c | 323 +++
libavcodec/vvc/vvcdsp.h | 182 ++
libavcodec/vvc/vvcdsp_template.c | 119 +
36 files changed, 26403 insertions(+)
create mode 100644 libavcodec/executor.c
create mode 100644 libavcodec/executor.h
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_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