diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-08-12 03:05:34 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-04-19 13:18:04 +0200 |
commit | 0ba058579f332b3060d8470a04ddd3fbf305be61 (patch) | |
tree | f5aa0659b36595a4fe82fb00e10b470a29d7a2c6 /MAINTAINERS | |
parent | 7bd3b7371632250a2fbc38bee6597b0aa189346a (diff) | |
download | ffmpeg-0ba058579f332b3060d8470a04ddd3fbf305be61.tar.gz |
avcodec/vp9: Fix race when attaching side-data for show-existing frame
When outputting a show-existing frame, the VP9 decoder simply
created a reference to said frame and returned it immediately to
the caller, without waiting for it to have finished decoding.
In case of frame-threading it is possible for the frame to
only be decoded while it was waiting to be output.
This is normally benign.
But there is one case where it is not: If the user wants
video encoding parameters to be exported, said side data
will only be attached to the src AVFrame at the end of
decoding the frame that is actually being shown. Without
synchronisation adding said side data in the decoder thread
and the reads in av_frame_ref() in the output thread
constitute a data race. This happens e.g. when using the
venc_data_dump tool with vp90-2-10-show-existing-frame.webm
from the FATE-suite.
Fix this by actually waiting for the frame to be output.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'MAINTAINERS')
0 files changed, 0 insertions, 0 deletions