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
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_template.c avcodec/vvc/dsp: prefix TxType and TxSize with VVC 2024-08-15 20:52:14 +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
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/vvcdec: bdof, do not pad sources and gradients to simplify the code 2024-08-31 13:57:51 +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/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