ffmpeg/libavcodec/vvc
Nuo Mi 3d2fafa229 avcodec/vvcdec: fix potential deadlock in report_frame_progress
Fixes:
https://fate.ffmpeg.org/report.cgi?slot=x86_64-archlinux-gcc-tsan&time=20240823175808

Reproduction steps:
./configure --enable-memory-poisoning --toolchain=gcc-tsan --disable-stripping && make fate-vvc

Root cause:
We hold the current frame's lock while updating progress for other frames,
which also requires acquiring other frame locks. This could potentially lead to a deadlock.
However, I don't think this will happen in practice because progress updates are one-way, with no cyclic dependencies.
But we need this patch to make FATE happy.
2024-09-03 21:32:27 +08:00
..
cabac.c avcodec: use the renamed av_zero_extend 2024-06-13 20:36:09 -03:00
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 avcodec/vvc_parser: move avctx->has_b_frames initialization to dec 2024-08-15 20:50:24 +08:00
dec.h avcodec/vvcdec: split ctu table to zero init and no zero init parts 2024-08-15 20:19:45 +08:00
dsp.c avcodec/vvcdec: bdof, do not pad sources and gradients to simplify the code 2024-08-31 13:57:51 +08:00
dsp.h avcodec/vvcdec: bdof, do not pad sources and gradients to simplify the code 2024-08-31 13:57:51 +08: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
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
inter_template.c avcodec/vvcdec: bdof, do not pad sources and gradients to simplify the code 2024-08-31 13:57:51 +08:00
intra.c avcodec/vvc/dsp: prefix TxType and TxSize with VVC 2024-08-15 20:52:14 +08:00
intra.h
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
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 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/vvcdec: fix potential deadlock in report_frame_progress 2024-09-03 21:32:27 +08:00
refs.h
thread.c avcodec/vvcdec: fix potential deadlock in report_frame_progress 2024-09-03 21:32:27 +08:00
thread.h avcodec/vvcdec: move frame tab memset from the main thread to worker threads 2024-08-15 20:33:57 +08:00