[FFmpeg-trac] #11357(avcodec:closed): Inconsistent when decoding an H.264 bitstream with bi-prediction weighted prediction enabled on ARM and x86 devices
FFmpeg
trac at avcodec.org
Tue May 13 02:52:12 EEST 2025
#11357: Inconsistent when decoding an H.264 bitstream with bi-prediction weighted
prediction enabled on ARM and x86 devices
-------------------------------------+-------------------------------------
Reporter: Bin Peng | Owner: Michael
| Niedermayer <michael@…>
Type: defect | Status: closed
Priority: normal | Component: avcodec
Version: git-master | Resolution: fixed
Keywords: H264 | Blocked By:
decoder arm |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Changes (by Michael Niedermayer <michael@…>):
* owner: (none) => Michael Niedermayer <michael@…>
* resolution: => fixed
* status: new => closed
Comment:
In [changeset:"74fd2c3ddbaf1fef5c4777784aa72b5747ad389c/ffmpeg"
74fd2c3d/ffmpeg]:
{{{#!CommitTicketReference repository="ffmpeg"
revision="74fd2c3ddbaf1fef5c4777784aa72b5747ad389c"
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 at visionular.com>
Reviewed-by: Bin Peng <pengbin at visionular.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11357#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list