Quoting Andreas Rheinhardt (2024-04-08 22:13:44) > 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.rheinha...@outlook.com> > --- > libavcodec/vp9.c | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-)
LGTM, though it'd be nice of someone more familiar with this decoder looked at it. -- Anton Khirnov _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".