From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id ABDBA40899 for ; Fri, 24 Dec 2021 03:09:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D9F4768B205; Fri, 24 Dec 2021 05:09:25 +0200 (EET) Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4293168B1F2 for ; Fri, 24 Dec 2021 05:09:17 +0200 (EET) Received: by mail-qk1-f175.google.com with SMTP id w27so1152572qkj.7 for ; Thu, 23 Dec 2021 19:09:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rcombs.me; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=SdMT+n9o/Y0mnW+oryaZpVzoriTyP7Jizvi04nxA6P0=; b=r9HYmF2xpLyhYgv+4DrJT/cIoGPHYGvefD/rz81gBZngWNOJ+qJCARwGfCrQ759UoX fRYqmsPuw2w9wGWSloQ3Xr90vHNqfXsHCRKKxdtuPQ2zhkRnt7MjHTnzc7zqI0XdSDtD h48ACLk+Av/ujr3+OQCduS3g5GQRD/ePZWlChOO85AC3pcdo8jHtZYNHpFCw7DFQ4Upf tvb8HXnCYAvabKd/RhcuFj/ip+ZeeJPbMBT2KB0QQPsi8mNHoaba3oWTJ+viWpocjRg2 lPpCdGelhjAOSd4+5DINFza9lajU+cgsGVAsk0xs0wj1wynSSP8G/4kD74McN+41C4L0 DkIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SdMT+n9o/Y0mnW+oryaZpVzoriTyP7Jizvi04nxA6P0=; b=jYqN/1XFWypOP9GcdkP0mgYcpgXvgF3KntwkVDGRkyN4KOe++mFBLtkLqt/X6MkzBx u+fANY13dL/4VhivcoAD8AxX9J72AP1zVMMC1eVlVpeSvCVUXVVA1WDrv81OdwPl4lDP HqnqY6X/l16BemQkr8bAxgn4mVHPNrRZnsQz5PV099Bh7BVZKfV/tGLP4iMWzay803vH 9ADQJUo3JOUP2x14kfDKWkf6SDPPa2R4yLxpK43pl9dd1DWob0Cxz+cFYhUdkTRIOuTe iEmmTc/BwQnu2gv1kUQr6jdpn1+6GLpi1OoJ8TnAYMn6EFsN4gYUd5rBrcztD3kkA+rZ wn/g== X-Gm-Message-State: AOAM530A58qgCDEg9bEPq/g6KiYXKYxi86mCDiLuwlsLsD906PVK+PJW YW90k2ec4r63Vw3NGnmXT5ZPtciYZPlVMUk= X-Google-Smtp-Source: ABdhPJwCx1MdQnWQwDNQJjVWI+BkV7uX0LwI9t9Bxws9ejtLotYiPUwdxgIed/Y3i/u8rcDAKBsu9w== X-Received: by 2002:a05:620a:1721:: with SMTP id az33mr214916qkb.93.1640315355587; Thu, 23 Dec 2021 19:09:15 -0800 (PST) Received: from rcombs-mbp.localdomain ([2601:243:2000:5ac:cd8d:58a:de7b:88f1]) by smtp.gmail.com with ESMTPSA id e15sm5162479qtq.83.2021.12.23.19.09.14 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 23 Dec 2021 19:09:15 -0800 (PST) From: rcombs To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 21:08:50 -0600 Message-Id: <20211224030904.1196-3-rcombs@rcombs.me> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211224030904.1196-1-rcombs@rcombs.me> References: <20211224030904.1196-1-rcombs@rcombs.me> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 02/16] swscale: introduce isDataInHighBits X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --- libswscale/swscale_internal.h | 19 +++++++++++++++++++ libswscale/tests/pixdesc_query.c | 1 + tests/ref/fate/sws-pixdesc-query | 12 ++++++++++++ 3 files changed, 32 insertions(+) diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h index 64aa0b9804..b4acaceebd 100644 --- a/libswscale/swscale_internal.h +++ b/libswscale/swscale_internal.h @@ -892,6 +892,25 @@ static av_always_inline int usePal(enum AVPixelFormat pix_fmt) } } +/* + * Identity formats where the data is in the high bits, and the low bits are shifted away. + */ +static av_always_inline int isDataInHighBits(enum AVPixelFormat pix_fmt) +{ + int i; + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt); + av_assert0(desc); + if (desc->flags & (AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_HWACCEL)) + return 0; + for (i = 0; i < desc->nb_components; i++) { + if (!desc->comp[i].shift) + return 0; + if ((desc->comp[i].shift + desc->comp[i].depth) & 0x7) + return 0; + } + return 1; +} + extern const uint64_t ff_dither4[2]; extern const uint64_t ff_dither8[2]; diff --git a/libswscale/tests/pixdesc_query.c b/libswscale/tests/pixdesc_query.c index f6dd8bae68..dce2e50577 100644 --- a/libswscale/tests/pixdesc_query.c +++ b/libswscale/tests/pixdesc_query.c @@ -45,6 +45,7 @@ static const struct { {"PackedRGB", isPackedRGB}, {"PlanarRGB", isPlanarRGB}, {"usePal", usePal}, + {"DataInHighBits", isDataInHighBits}, }; static int cmp_str(const void *a, const void *b) diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc-query index 553c039061..a17284784f 100644 --- a/tests/ref/fate/sws-pixdesc-query +++ b/tests/ref/fate/sws-pixdesc-query @@ -952,3 +952,15 @@ usePal: rgb4_byte rgb8 +DataInHighBits: + p010be + p010le + p210be + p210le + p410be + p410le + xyz12be + xyz12le + y210be + y210le + -- 2.33.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".