mirror of https://git.ffmpeg.org/ffmpeg.git
png: set AVFrame flags/fields before calling setup_finished().
Fixes tsan warnings in fate-apng: WARNING: ThreadSanitizer: data race (pid=51230) Read of size 4 at 0x7d50000042fc by main thread (mutexes: write M1000): #0 frame_copy_props frame.c:302 (ffmpeg:x86_64+0x1019a35d6) [..] Previous write of size 4 at 0x7d50000042fc by thread T1 (mutexes: write M997): #0 decode_idat_chunk pngdec.c:708 (ffmpeg:x86_64+0x100f5562a)
This commit is contained in:
parent
de9c93bf53
commit
eff2861a75
|
@ -701,12 +701,12 @@ static int decode_idat_chunk(AVCodecContext *avctx, PNGDecContext *s,
|
||||||
if ((ret = ff_thread_get_buffer(avctx, &s->previous_picture, AV_GET_BUFFER_FLAG_REF)) < 0)
|
if ((ret = ff_thread_get_buffer(avctx, &s->previous_picture, AV_GET_BUFFER_FLAG_REF)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
ff_thread_finish_setup(avctx);
|
|
||||||
|
|
||||||
p->pict_type = AV_PICTURE_TYPE_I;
|
p->pict_type = AV_PICTURE_TYPE_I;
|
||||||
p->key_frame = 1;
|
p->key_frame = 1;
|
||||||
p->interlaced_frame = !!s->interlace_type;
|
p->interlaced_frame = !!s->interlace_type;
|
||||||
|
|
||||||
|
ff_thread_finish_setup(avctx);
|
||||||
|
|
||||||
/* compute the compressed row size */
|
/* compute the compressed row size */
|
||||||
if (!s->interlace_type) {
|
if (!s->interlace_type) {
|
||||||
s->crow_size = s->row_size + 1;
|
s->crow_size = s->row_size + 1;
|
||||||
|
|
Loading…
Reference in New Issue