From patchwork Thu Sep 19 22:16:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 15157 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 8411F4483B9 for ; Fri, 20 Sep 2019 01:24:33 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 76617689D90; Fri, 20 Sep 2019 01:24:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7A848689D20 for ; Fri, 20 Sep 2019 01:24:27 +0300 (EEST) Received: by mail-wm1-f68.google.com with SMTP id r17so8126048wme.0 for ; Thu, 19 Sep 2019 15:24:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=phYiFnkBKGZuvqquMTdpmKNESty5exheNj1P13Zj1+U=; b=lwQ/xvfiawHFZZlxoHn6qgK2xDzidgjKurrvpdsIisT+44N/+4+7bBa9689BfYzytE xTcrbo8k/6FO3VRMfVFtkXqVAsT++yaH+j8J/yFVUAmf05Omb2kQyx4iRtNriVpj2C9o 7FEqUFtvHK9rTmkzYTNw5Csag74bGSwqNq9AhIeySXsi6sDvwrIJC58/CZEw1uyOL5wj tqUcz7nzIuklJ5QQBRrjjK6CKLEZlTO/WRuK3nPcOnb7rJDZ3NPHKESbb296Ov9QTF87 7R94ZyCDJ5Aw+7SlAIbK2SOsbZkbzBMx1XGWy6biHvtPhqgDfDyNx8r6XzkOFcWM63IG nZDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=phYiFnkBKGZuvqquMTdpmKNESty5exheNj1P13Zj1+U=; b=DSZ8KuJW7qSiCnYaj6AK7GNOv/tTFqChgSrSx4IVmW2AN8l2ctmMUmPGnq+BmXBxeE lL1T8GZa221OVCAJb922OTG6ZvHGx0i74NUSJXKr0P0q2LzGN3c2QQfkK9C4Ku9FfGCp X20vBU/iJ8Ne3jXYsBG+VibYUer6j93GM3m6hH6eKgieJgPOJqFW4a8eQi3mvS3NeX2P 5+Xfc0t6pRDfEWtG+ncr+nzSowDw8PfBADOtUJojYBR2m+hUMKsAUrJQI8I/gM0oz24X TKCmt3vNc4Vvh1O4ca8sypzNXwKeQEwXiOtbBZQtesTCd/Qbq2b5wzuVgL5SHVfvgS3T YY3w== X-Gm-Message-State: APjAAAXh2KtLp9ezsQEP9dLcg6lxLd0sMwUKEcAegZt+mo8e3AQfJPkd szy4iGfv/5v09Izqn9DzX4/bsNkd X-Google-Smtp-Source: APXvYqyOsvUlsYW60dTBzZ4HrgGumCsdoqDMVir39ZG5aDCmw/BZ2ZK2FM53+gVK66f6MdriR2DrDw== X-Received: by 2002:a1c:4945:: with SMTP id w66mr126586wma.40.1568931866895; Thu, 19 Sep 2019 15:24:26 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc0f857.dynamic.kabel-deutschland.de. [188.192.248.87]) by smtp.gmail.com with ESMTPSA id y12sm49955wrn.74.2019.09.19.15.24.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Sep 2019 15:24:26 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 20 Sep 2019 00:16:58 +0200 Message-Id: <20190919221706.16529-4-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190919221706.16529-1-andreas.rheinhardt@gmail.com> References: <20190919221706.16529-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 03/11] avcodec/wavpackenc: Fix undefined shifts X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Fixes ticket #8161 and the acodec-wavpack FATE-test. Signed-off-by: Andreas Rheinhardt --- libavcodec/wavpackenc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c index 95f4b6530c..0c85fbe374 100644 --- a/libavcodec/wavpackenc.c +++ b/libavcodec/wavpackenc.c @@ -529,9 +529,9 @@ static int8_t store_weight(int weight) static int restore_weight(int8_t weight) { - int result; + int result = 8 * weight; - if ((result = (int) weight << 3) > 0) + if (result > 0) result += (result + 64) >> 7; return result; @@ -2557,7 +2557,7 @@ static int wavpack_encode_block(WavPackEncodeContext *s, ret = wv_mono(s, samples_l, !s->num_terms, 1); } else { for (i = 0; i < nb_samples; i++) - crc += (crc << 3) + (samples_l[i] << 1) + samples_l[i] + samples_r[i]; + crc += (crc << 3) + ((uint32_t)samples_l[i] << 1) + samples_l[i] + samples_r[i]; if (s->num_passes) ret = wv_stereo(s, samples_l, samples_r, !s->num_terms, 1);