1
0
mirror of https://git.ffmpeg.org/ffmpeg.git synced 2026-10-24 02:09:03 +03:00

avcodec/rv34: do not copy an unused reference line in the edge emulation

The luma interpolation filters read two lines above and three lines
below a block, so rv34_mc() needs 8 * height + 5 reference lines, but it
had emulated_edge_mc() copy one more.

Fixes: data race between rv40_loop_filter() and rv34_mc() under frame threading
This commit is contained in:
Michael Niedermayer
2026-09-06 22:19:01 +02:00
committed by michaelni
parent 9e17d6c9f1
commit 709f8fecec

View File

@@ -755,7 +755,7 @@ static inline void rv34_mc(RV34DecContext *r, const int block_type,
srcY -= 2 + 2*s->linesize;
s->vdsp.emulated_edge_mc(s->sc.edge_emu_buffer, srcY,
s->linesize, s->linesize,
(width << 3) + 6, (height << 3) + 6,
(width << 3) + 6, (height << 3) + 5,
src_x - 2, src_y - 2,
s->h_edge_pos, s->v_edge_pos);
srcY = s->sc.edge_emu_buffer + 2 + 2*s->linesize;