1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
FFmpeg/libavcodec/vvc
Nuo Mi 846fbc395b avcodec/vvc: simplify priority logical to improve performance for 4K/8K
For 4K/8K video processing, it's possible to have over 1,000 tasks pending on the executor.
In such cases, O(n) and O(log(n)) insertion times are too costly.
Reducing this to O(1) will significantly decrease the time spent in critical sections

clip                                                        | before | after  | delta
------------------------------------------------------------|--------|--------|-------
VVC_HDR_UHDTV2_OpenGOP_7680x4320_50fps_HLG10.bit            |    24  |   27   |  12.5%
VVC_HDR_UHDTV2_OpenGOP_7680x4320_50fps_HLG10_HighBitrate.bit|    12  |   17   |  41.7%
tears_of_steel_4k_8M_8bit_2000.vvc                          |    34  |  102   | 200.0%
VVC_UHDTV1_OpenGOP_3840x2160_60fps_HLG10.bit                |   126  |  128   |   1.6%
RitualDance_1920x1080_60_10_420_37_RA.266                   |   350  |  378   |   8.0%
NovosobornayaSquare_1920x1080.bin                           |   341  |  369   |   8.2%
Tango2_3840x2160_60_10_420_27_LD.266                        |    69  |   70   |   1.4%
RitualDance_1920x1080_60_10_420_32_LD.266                   |   243  |  259   |   6.6%
Chimera_8bit_1080P_1000_frames.vvc                          |   420  |  392   |  -6.7%
BQTerrace_1920x1080_60_10_420_22_RA.vvc                     |   148  |  144   |  -2.7%
2024-10-04 21:58:42 +08:00
..
cabac.c
cabac.h
ctu.c lavc/vvc: Fix assertion bound on qPy_{a,b} 2024-09-03 20:57:52 +08:00
ctu.h avcodec/vvcdec: split ctu table to zero init and no zero init parts 2024-08-15 20:19:45 +08:00
data.c
data.h
dec.c lavc/vvc: Remove experimental flag 2024-09-06 22:14:52 +08:00
dec.h avcodec: make a local copy of executor 2024-10-04 21:58:42 +08:00
dsp_template.c avcodec/vvc/dsp: prefix TxType and TxSize with VVC 2024-08-15 20:52:14 +08:00
dsp.c lavc/vvc_mc: R-V V avg w_avg 2024-09-24 20:04:51 +03:00
dsp.h lavc/vvc_mc: R-V V avg w_avg 2024-09-24 20:04:51 +03:00
filter_template.c
filter.c avcodec/vvcdec: format, fix indent for vvc_deblock_bs 2024-08-31 14:16:19 +08:00
filter.h
inter_template.c avcodec/vvc: Don't use large array on stack 2024-10-01 11:30:22 +08:00
inter.c avcodec/vvcdec: split ctu table to zero init and no zero init parts 2024-08-15 20:19:45 +08:00
inter.h
intra_template.c
intra_utils.c
intra.c avcodec/vvc/dsp: prefix TxType and TxSize with VVC 2024-08-15 20:52:14 +08:00
intra.h
itx_1d.c
itx_1d.h
Makefile
mvs.c avcodec/vvcdec: do not zero frame msf mmi table 2024-08-15 20:33:57 +08:00
mvs.h
ps.c lavc/vvc: Prevent OOB access in subpic_tiles 2024-08-31 15:05:23 +08:00
ps.h
refs.c avcodec/vvc: Fix output and unref a frame which isn't decoding yet 2024-09-15 16:42:14 +08:00
refs.h
thread.c avcodec/vvc: simplify priority logical to improve performance for 4K/8K 2024-10-04 21:58:42 +08:00
thread.h avcodec: make a local copy of executor 2024-10-04 21:58:42 +08:00