From patchwork Mon Nov 30 05:46:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andriy Gelman X-Patchwork-Id: 24212 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 6D54E44A277 for ; Mon, 30 Nov 2020 07:48:42 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 48B1568990B; Mon, 30 Nov 2020 07:48:42 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-il1-f195.google.com (mail-il1-f195.google.com [209.85.166.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B475C689751 for ; Mon, 30 Nov 2020 07:48:35 +0200 (EET) Received: by mail-il1-f195.google.com with SMTP id g1so10133732ilk.7 for ; Sun, 29 Nov 2020 21:48:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PbBb5YBJw0d48D0U1yHbW/Yyfq9hG8qsNy3I4zqS9nA=; b=LZaUMv7T3JikP/eOtB9cg0FXgLccwMcu/okFCI9HE7f9kaXjLlwxRftfv9heoz4wcP yVdjna169UqgXCvvUUMOxwd5om8nWc8ZLKrRjTIf6w4fesQE6V/c42vyZjUs9sXiHS1f nBtYpNkrNF8vIOfFKY+GvgX3MnbjJur92cMX8UBSPBdzDCHyzMcsHg1KH5cgipJ/8Ybg sIbO/8s5zsFaa5ouJ9tUGPYwc5SDaheRnWRt7Xko2by4Xfil22Pkpf03tdBjpF7mTemG ruFV9lwrOa+lJ5QTJDUARw51Od1gFMkeapGwNyssFxV/pQGaVCIoYM4apIUjVDJ+z+Ha gLHQ== 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:mime-version :content-transfer-encoding; bh=PbBb5YBJw0d48D0U1yHbW/Yyfq9hG8qsNy3I4zqS9nA=; b=RAAmUlolmAvILJWloPBfZREFXHfOreO159BU8xZ8Xvhym4cJZcS2p40/OB2HlDGEfI 1zp1/IYKPxrVW8Q9vrLBBh+MAoxtmilmo+1hNiaJYzELJH97nD1zPXaIIZjDYzuvQRkx g0y2ElvEpwFge/5d7hne+h+EK7zZG/RpYYm3ByX/MLotduyYR4oQCom1+bg12FXAu7Yg YKwVTi61n8ZU5MYkKp7YTAv+Y2Lc3a+AZq96uvmNqzDrAwkyWZ1Fj4UTfUMPa3UXzfmK ic+EKSdAVXydXrW2TaGanYnjMCHcSubBhfIZYTvijmnTQWirSPB8wFsRR7MTPXwVtapz CA3w== X-Gm-Message-State: AOAM532tTpofC612oROD2LkRVT62S9/ZnIHEUol9ItUxIU+Cuk5LHx5g 9M+Od+mnEqfFTTFblRS/Xet2HWIRMCM= X-Google-Smtp-Source: ABdhPJzthseUQzfitQHHgk7GQnndrpiKPEEzpRzRLlXp+fvqODuCzVeERYKSmG7Lrz27YoLeyKCyYg== X-Received: by 2002:a92:c884:: with SMTP id w4mr16162386ilo.128.1606715313826; Sun, 29 Nov 2020 21:48:33 -0800 (PST) Received: from localhost.localdomain (c-71-232-27-28.hsd1.ma.comcast.net. [71.232.27.28]) by smtp.gmail.com with ESMTPSA id a3sm9945533ilp.5.2020.11.29.21.48.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 29 Nov 2020 21:48:33 -0800 (PST) From: Andriy Gelman X-Google-Original-From: Andriy Gelman To: ffmpeg-devel@ffmpeg.org Date: Mon, 30 Nov 2020 00:46:51 -0500 Message-Id: <20201130054651.1168490-1-andriy.gelman@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] swscale/rgb2rgb_template: use shuffle macro on BE arches 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: Andriy Gelman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Andriy Gelman Fixes fate-qtrle-32bit on PPC64 qemu The macro does a simple byte swap on uint8 array without any casts, so it's valid on big endian arches. The mentioned test was failing because the byteswap function shuffle_bytes_3210_c() is used in the pixel format conversion (argb->bgra). Signed-off-by: Andriy Gelman --- libswscale/rgb2rgb_template.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libswscale/rgb2rgb_template.c b/libswscale/rgb2rgb_template.c index f7385e3722..42c69801ba 100644 --- a/libswscale/rgb2rgb_template.c +++ b/libswscale/rgb2rgb_template.c @@ -342,7 +342,6 @@ static inline void shuffle_bytes_0321_c(const uint8_t *src, uint8_t *dst, } } -#if !HAVE_BIGENDIAN #define DEFINE_SHUFFLE_BYTES(name, a, b, c, d) \ static void shuffle_bytes_##name (const uint8_t *src, \ uint8_t *dst, int src_size) \ @@ -360,7 +359,6 @@ static void shuffle_bytes_##name (const uint8_t *src, \ DEFINE_SHUFFLE_BYTES(1230_c, 1, 2, 3, 0) DEFINE_SHUFFLE_BYTES(3012_c, 3, 0, 1, 2) DEFINE_SHUFFLE_BYTES(3210_c, 3, 2, 1, 0) -#endif static inline void rgb24tobgr24_c(const uint8_t *src, uint8_t *dst, int src_size) { @@ -969,10 +967,10 @@ static av_cold void rgb2rgb_init_c(void) #else shuffle_bytes_0321 = shuffle_bytes_0321_c; shuffle_bytes_2103 = shuffle_bytes_2103_c; +#endif shuffle_bytes_1230 = shuffle_bytes_1230_c; shuffle_bytes_3012 = shuffle_bytes_3012_c; shuffle_bytes_3210 = shuffle_bytes_3210_c; -#endif rgb32tobgr16 = rgb32tobgr16_c; rgb32tobgr15 = rgb32tobgr15_c; yv12toyuy2 = yv12toyuy2_c;