[FFmpeg-devel] [PATCH 1/4] avcodec/dirac_dwt_template: Fix signedness regression in interleave()
James Darnley
james.darnley at gmail.com
Fri Jul 13 20:59:43 EEST 2018
On 2018-07-13 19:26, Michael Niedermayer wrote:
> Found-by: <jdarnley>
>
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/dirac_dwt_template.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/dirac_dwt_template.c b/libavcodec/dirac_dwt_template.c
> index 528fc7e9e7..2369c8d15b 100644
> --- a/libavcodec/dirac_dwt_template.c
> +++ b/libavcodec/dirac_dwt_template.c
> @@ -57,8 +57,8 @@ static av_always_inline void RENAME(interleave)(TYPE *dst, TYPE *src0, TYPE *src
> {
> int i;
> for (i = 0; i < w2; i++) {
> - dst[2*i ] = (src0[i] + (unsigned)add) >> shift;
> - dst[2*i+1] = (src1[i] + (unsigned)add) >> shift;
> + dst[2*i ] = ((int)(src0[i] + (unsigned)add)) >> shift;
> + dst[2*i+1] = ((int)(src1[i] + (unsigned)add)) >> shift;
> }
> }
>
>
This does fix the failure I saw. I will submit a patch for more fate
tests which happen to cover this piece of code.
More information about the ffmpeg-devel
mailing list