ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinha...@outlook.com> | Fri Mar 29 02:45:51 2024 +0100| [3ed23dab98a1c6246e9b3cf575ec29d245e39f94] | committer: Andreas Rheinhardt
avfilter/vf_spp: Fix left-shift of negative value Affected the vf-spp FATE-test (on x86 only when MMX is disabled). Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3ed23dab98a1c6246e9b3cf575ec29d245e39f94 --- libavfilter/vf_spp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_spp.c b/libavfilter/vf_spp.c index 48911b296a..d6c7297985 100644 --- a/libavfilter/vf_spp.c +++ b/libavfilter/vf_spp.c @@ -172,7 +172,7 @@ static void store_slice_c(uint8_t *dst, const int16_t *src, int y, x; #define STORE(pos) do { \ - temp = ((src[x + y*src_linesize + pos] << log2_scale) + d[pos]) >> 6; \ + temp = (src[x + y*src_linesize + pos] * (1 << log2_scale) + d[pos]) >> 6;\ if (temp & 0x100) \ temp = ~(temp >> 31); \ dst[x + y*dst_linesize + pos] = temp; \ @@ -203,7 +203,7 @@ static void store_slice16_c(uint16_t *dst, const int16_t *src, unsigned int mask = -1<<depth; #define STORE16(pos) do { \ - temp = ((src[x + y*src_linesize + pos] << log2_scale) + (d[pos]>>1)) >> 5; \ + temp = (src[x + y*src_linesize + pos] * (1 << log2_scale) + (d[pos]>>1)) >> 5; \ if (temp & mask ) \ temp = ~(temp >> 31); \ dst[x + y*dst_linesize + pos] = temp; \ _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".