Files
FFmpeg/libavcodec
Michael Niedermayer 9ddab572c0 avcodec/h264_mb: Fix tmp_cr for arm
When decoding a bitstream with weighted-bipred enabled,
the results on ARM and x86 platforms may differ.

The reason for the inconsistency is that the value of
STRIDE_ALIGN differs between platforms. And STRIDE_ALIGN
is set to the buffer stride of temporary buffers for U
and V components in mc_part_weighted.

If the buffer stride is 32 or 64 (as on x86 platforms),
the U and V pixels can be interleaved row by row without
overlapping, resulting in correct output.
However, on ARM platforms where the stride is 16,
the V component did overwrite part of the U component's pixels,
leading to incorrect predicted pixels.

The bug can be reproduced by the following bitstream.

https://trac.ffmpeg.org/attachment/ticket/11357/inter_weighted_bipred2.264

Fixes: ticket 11357
Commit-msg-mostly-by: Bin Peng <pengbin@visionular.com>
Reviewed-by: Bin Peng <pengbin@visionular.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 74fd2c3ddb)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-06-11 17:29:47 +02:00
..
2024-09-02 11:56:53 +02:00
2024-08-14 18:21:01 +02:00
2024-09-17 21:12:31 +02:00
2025-01-23 01:20:11 +01:00
2024-07-12 22:42:18 +02:00
2024-09-06 13:59:28 +02:00
2024-07-12 22:42:20 +02:00
2024-09-24 15:37:17 +02:00
2025-06-11 17:29:47 +02:00
2025-01-23 01:20:11 +01:00
2024-07-23 23:21:17 +02:00
2024-07-12 22:42:28 +02:00
2024-09-24 15:37:19 +02:00
2024-07-12 22:42:40 +02:00
2024-07-12 22:42:42 +02:00
2025-06-11 17:29:42 +02:00
2024-08-09 13:40:26 +08:00
2024-06-20 18:58:39 +02:00
2024-09-24 15:37:19 +02:00
2025-01-03 18:28:44 +01:00
2024-09-24 15:37:20 +02:00