[FFmpeg-devel] [PATCH 1/2] avcodec/g729postfilter: Fix left shift of negative value
Paul B Mahol
onemda at gmail.com
Thu Oct 17 13:28:18 EEST 2019
lgtm
On 10/17/19, Michael Niedermayer <michael at niedermayer.cc> wrote:
> Fixes: Ticket8176
>
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/g729postfilter.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libavcodec/g729postfilter.c b/libavcodec/g729postfilter.c
> index ef4fec4c95..fc9a8d54cc 100644
> --- a/libavcodec/g729postfilter.c
> +++ b/libavcodec/g729postfilter.c
> @@ -346,7 +346,7 @@ static int16_t long_term_filter(AudioDSPContext *adsp,
> int pitch_delay_int,
> L_temp1 = gain_long_num * gain_long_num;
> L_temp1 = MULL(L_temp1, gain_den, FRAC_BITS);
>
> - tmp = ((sh_gain_long_num - sh_gain_num) << 1) - (sh_gain_long_den -
> sh_gain_den);
> + tmp = ((sh_gain_long_num - sh_gain_num) * 2) - (sh_gain_long_den -
> sh_gain_den);
> if (tmp > 0)
> L_temp0 >>= tmp;
> else
> @@ -367,7 +367,7 @@ static int16_t long_term_filter(AudioDSPContext *adsp,
> int pitch_delay_int,
> /* Rescale selected signal to original value. */
> if (shift > 0)
> for (i = 0; i < subframe_size; i++)
> - selected_signal[i] <<= shift;
> + selected_signal[i] *= 1 << shift;
> else
> for (i = 0; i < subframe_size; i++)
> selected_signal[i] >>= -shift;
> @@ -464,7 +464,7 @@ static int16_t get_tilt_comp(AudioDSPContext *adsp,
> int16_t *lp_gn,
> speech[i] = (speech[i] * temp + 0x4000) >> 15;
> }
>
> - return -(rh1 << 15) / rh0;
> + return -(rh1 * (1 << 15)) / rh0;
> }
>
> /**
> --
> 2.23.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list