From eafa17ffd3cb3d7cfcfd05fd454ee478c63f957a Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sun, 7 Apr 2024 21:20:45 +0200 Subject: [PATCH] avcodec/flacenc: Avoid shift where possible Signed-off-by: Andreas Rheinhardt Signed-off-by: Paul B Mahol --- libavcodec/flacenc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c index 045795b7ea..6aa4481e42 100644 --- a/libavcodec/flacenc.c +++ b/libavcodec/flacenc.c @@ -525,11 +525,10 @@ static void copy_samples(FlacEncodeContext *s, const void *samples) { int i, j, ch; FlacFrame *frame; - int shift = av_get_bytes_per_sample(s->avctx->sample_fmt) * 8 - - s->avctx->bits_per_raw_sample; -#define COPY_SAMPLES(bits) do { \ +#define COPY_SAMPLES(bits, shift0) do { \ const int ## bits ## _t *samples0 = samples; \ + const int shift = shift0; \ frame = &s->frame; \ for (i = 0, j = 0; i < frame->blocksize; i++) \ for (ch = 0; ch < s->channels; ch++, j++) \ @@ -537,9 +536,9 @@ static void copy_samples(FlacEncodeContext *s, const void *samples) } while (0) if (s->avctx->sample_fmt == AV_SAMPLE_FMT_S16) - COPY_SAMPLES(16); + COPY_SAMPLES(16, 0); else - COPY_SAMPLES(32); + COPY_SAMPLES(32, 32 - s->avctx->bits_per_raw_sample); }