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 avcodec: use the renamed av_zero_extend 2024-06-13 20:36:09 -03:00
cabac.h avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
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 avcodec/vvcdec: add vvc inter filters for RPR 2024-05-21 20:20:25 +08:00
data.h avcodec/vvcdec: add vvc inter filters for RPR 2024-05-21 20:20:25 +08:00
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.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
dsp_template.c avcodec/vvc/dsp: prefix TxType and TxSize with VVC 2024-08-15 20:52:14 +08:00
filter.c avcodec/vvcdec: format, fix indent for vvc_deblock_bs 2024-08-31 14:16:19 +08:00
filter.h avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
filter_template.c avcodec/vvc: Remove write-only assignments in alf_filter_chroma 2024-07-17 21:23:41 +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 avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
inter_template.c avcodec/vvc: Don't use large array on stack 2024-10-01 11:30:22 +08:00
intra.c avcodec/vvc/dsp: prefix TxType and TxSize with VVC 2024-08-15 20:52:14 +08:00
intra.h avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
intra_template.c avcodec: use the renamed av_zero_extend 2024-06-13 20:36:09 -03:00
intra_utils.c avcodec: use the renamed av_zero_extend 2024-06-13 20:36:09 -03:00
itx_1d.c avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
itx_1d.h avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
Makefile avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
mvs.c avcodec/vvcdec: do not zero frame msf mmi table 2024-08-15 20:33:57 +08:00
mvs.h lavc/vvc: Validate IBC block vector 2024-06-27 20:38:34 +08:00
ps.c lavc/vvc: Prevent OOB access in subpic_tiles 2024-08-31 15:05:23 +08:00
ps.h avcodec/vvcdec: ps, derive virtual boundaries 2024-06-25 19:32:17 +08:00
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 avcodec/vvc: Rename vvc_?foo->foo 2024-04-04 16:45:00 +02:00
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