Message ID | GV1P250MB0737CE8445548756C108D3CD8F3C2@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM |
---|---|
State | Accepted |
Commit | e54696bcaa0819674e2f9bc7c9a4c87383675091 |
Headers | show |
Series | [FFmpeg-devel] avcodec/ppc/h264dsp: Fix left shifts of negative numbers | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Andreas Rheinhardt: > PPC equivalent of c756b3fca240df75ffa28e75f2eb34834c10294d. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > libavcodec/ppc/h264dsp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/ppc/h264dsp.c b/libavcodec/ppc/h264dsp.c > index f50f2553a2..0650768d7b 100644 > --- a/libavcodec/ppc/h264dsp.c > +++ b/libavcodec/ppc/h264dsp.c > @@ -663,7 +663,7 @@ void weight_h264_W_altivec(uint8_t *block, int stride, int height, > DECLARE_ALIGNED(16, int32_t, temp)[4]; > LOAD_ZERO; > > - offset <<= log2_denom; > + offset *= 1 << log2_denom; > if(log2_denom) offset += 1<<(log2_denom-1); > temp[0] = log2_denom; > temp[1] = weight; > @@ -712,7 +712,7 @@ void biweight_h264_W_altivec(uint8_t *dst, uint8_t *src, int stride, int height, > DECLARE_ALIGNED(16, int32_t, temp)[4]; > LOAD_ZERO; > > - offset = ((offset + 1) | 1) << log2_denom; > + offset = ((offset + 1) | 1) * (1 << log2_denom); > temp[0] = log2_denom+1; > temp[1] = weights; > temp[2] = weightd; Will apply so that this makes it into 7.0. - Andreas
diff --git a/libavcodec/ppc/h264dsp.c b/libavcodec/ppc/h264dsp.c index f50f2553a2..0650768d7b 100644 --- a/libavcodec/ppc/h264dsp.c +++ b/libavcodec/ppc/h264dsp.c @@ -663,7 +663,7 @@ void weight_h264_W_altivec(uint8_t *block, int stride, int height, DECLARE_ALIGNED(16, int32_t, temp)[4]; LOAD_ZERO; - offset <<= log2_denom; + offset *= 1 << log2_denom; if(log2_denom) offset += 1<<(log2_denom-1); temp[0] = log2_denom; temp[1] = weight; @@ -712,7 +712,7 @@ void biweight_h264_W_altivec(uint8_t *dst, uint8_t *src, int stride, int height, DECLARE_ALIGNED(16, int32_t, temp)[4]; LOAD_ZERO; - offset = ((offset + 1) | 1) << log2_denom; + offset = ((offset + 1) | 1) * (1 << log2_denom); temp[0] = log2_denom+1; temp[1] = weights; temp[2] = weightd;
PPC equivalent of c756b3fca240df75ffa28e75f2eb34834c10294d. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/ppc/h264dsp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)