From patchwork Wed Feb 8 16:13:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 2452 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.89.21 with SMTP id n21csp2835451vsb; Wed, 8 Feb 2017 08:15:10 -0800 (PST) X-Received: by 10.28.175.138 with SMTP id y132mr19586602wme.86.1486570510748; Wed, 08 Feb 2017 08:15:10 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o28si9653963wra.69.2017.02.08.08.15.10; Wed, 08 Feb 2017 08:15:10 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 36575689B7F; Wed, 8 Feb 2017 18:15:03 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 85B49689A62 for ; Wed, 8 Feb 2017 18:14:56 +0200 (EET) Received: by mail-qt0-f193.google.com with SMTP id h53so23773800qth.3 for ; Wed, 08 Feb 2017 08:14:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=PGewZA01HHnClEI9Rpk3+WQqq38MSB9OdkXoyMN8OLo=; b=S4n3GtR065LdCpzlpOQ4sMSRsH7W4+TsuR2B/o+uZhUx9XmlCZgHo+rvUQ2wWxIf3b FAzmcZeyK2aAOXIj4czhhCbcihrj7+YLTR4RLY0p4oc/DaCvIHLQNT5DDFbyXS1NdKOi Or+tbtCp79go13QOQlj1sdaAcge3DZ4HnupOirLgse+lvzpH8xo1KddX903Y2tElMy7u +5awrHJiOWUCU4bfA8HQgRVXeKKAjfG+TX7qNNpK3rzwHuVtfuHND61IaaoJsz7ugznU ajmQz0iCdhRaie2T9cn9XCVtepQlmAomYuJcUpCSQZtdGvQIRFQbvYKQHoca9yQ31BDa YGtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=PGewZA01HHnClEI9Rpk3+WQqq38MSB9OdkXoyMN8OLo=; b=YU9aFbpvbyALchO7jUZagnRMwqhBbExzW4RGtd4i9F+AzFDBUEFCKK2/9c60QwYjKa x7aLp4gFzZlvIxZO/INcaEfixr/z30lBqaXoAj4qfwULGB9yMUEbl/BilsSVf0JIUdn2 FoFAk8iBDmhOhaBAVhq3sBpPuSrlnVR/jH3zdXqf/EHHLnwjsCKhMxY3Kclkv0fyJMjV wo0wA6QPi+QDkAP5OxoW+Cllp8+GpqtVtU+D1YPZxe0+BVOetTNxN49mgW4R4kT4B310 +kxW66aEq+43UhOaUlkDJKCQbiBX7r5DxdLKPmhcHB727jAbsc4DB1TmgGlqkP1PhXDA 0duA== X-Gm-Message-State: AMke39llwEAjRz7zr/Rz7K6NJ24kjX9C8TQuks1sjxJLRCncaBJ3JLN0U4edre7T+/vxyQ== X-Received: by 10.237.38.133 with SMTP id q5mr19791199qtd.21.1486570498368; Wed, 08 Feb 2017 08:14:58 -0800 (PST) Received: from localhost.localdomain ([181.231.87.206]) by smtp.gmail.com with ESMTPSA id d15sm6542106qtg.22.2017.02.08.08.14.56 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Feb 2017 08:14:57 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 8 Feb 2017 13:13:56 -0300 Message-Id: <20170208161357.7296-1-jamrial@gmail.com> X-Mailer: git-send-email 2.11.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/huffyuvdsp: use an actual unsigned long constant 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- Decent compilers are smart enough to truncate those ULL constants on targets where long is 32 bits (and do things like shift+and/add instead of mul). This is for those that are not. libavcodec/huffyuvdsp.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/huffyuvdsp.c b/libavcodec/huffyuvdsp.c index 759ffda0b8..e770923bb2 100644 --- a/libavcodec/huffyuvdsp.c +++ b/libavcodec/huffyuvdsp.c @@ -23,10 +23,13 @@ #include "mathops.h" #include "huffyuvdsp.h" +// 0x00010001 or 0x0001000100010001 or whatever, depending on the cpu's native arithmetic size +#define pw_1 (ULONG_MAX / UINT16_MAX) + static void add_int16_c(uint16_t *dst, const uint16_t *src, unsigned mask, int w){ long i; - unsigned long pw_lsb = (mask >> 1) * 0x0001000100010001ULL; - unsigned long pw_msb = pw_lsb + 0x0001000100010001ULL; + unsigned long pw_lsb = (mask >> 1) * pw_1; + unsigned long pw_msb = pw_lsb + pw_1; for (i = 0; i <= w - (int)sizeof(long)/2; i += sizeof(long)/2) { long a = *(long*)(src+i); long b = *(long*)(dst+i);