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 ESMTPS id 070304DFB6 for ; Thu, 6 Mar 2025 17:01:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8A90468F208; Thu, 6 Mar 2025 19:01:36 +0200 (EET) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 04C0E68EFB0 for ; Thu, 6 Mar 2025 19:01:31 +0200 (EET) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2235189adaeso15867315ad.0 for ; Thu, 06 Mar 2025 09:01:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741280489; x=1741885289; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=gP5Dou1l1mfppd2fKnrqlW1mLek0fRbY1jH+oo4rMd4=; b=Sexv6yO7zrrhqEwG4zy4B1WbNITpye6XmCbj/cSHNJbX0j/m8fisEq+bDhRfA3HzUc 4YqmyFzwmBmghsuiMagyubNaGDcEAthiPgjqexz1wg6EaBed+KIusmU5CAvu2UhmHYc9 gjedzDHGwdQghiMGqTrmus23ge9/UTpnqVvP3bwamGhPWdO+bNzYa6fclOCDbUpcglhn 1qt3OamRbv7k+TTKJyADJHVUA6fBa38Gbd9Augjhet/A2xSfJ8n5giatRn/lk+uvIYyq ktaS0o/on+7ef+UkkS7Oi0uaaS21+NfuC7T4EayFsYThwukJFPLjhgFwuI8AW0CI4XLw t5yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741280489; x=1741885289; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gP5Dou1l1mfppd2fKnrqlW1mLek0fRbY1jH+oo4rMd4=; b=ZbnyeaaElQAm1RzoJ1wJAO1OoCS3WqztiBNQwQzS+Fpw57quLnsHLEfd2B/FVfH8Sd izm8I0gz0l/UuVkdRerK0C8kz/gjkmtAqdfTvf+AijR9WSd6QabtQGB+8+6cOK8/rDki rlzAZCgZEE6N7D6+IsElsujpeR1H7Q0MrSDLkBLcfDCWLR5q6O/TgFx1sd8Z2za4//xI 19zIwkMj8c82zWQszfl0tN29h44HhpgHvqeCwRz0UGaq3u3Au5dGORiMSD22u0sKcQHv 2hYmE8l7inm32muGJvXM2IvsEGHJBLQGe88wAtK6DN3FTOzUOwxZWO9nORQ9DdRUTlBj ma+Q== X-Gm-Message-State: AOJu0YyllYGfx0ksJsVle+exSSTE0ICEMhYPjw5pgg2KSFTeRCRMKdkw RdGtMN2gLSG+55/BG5T8Ri0KKy3ssjeGWR10cLfP2vzboXq4IiCp7nD0cA== X-Gm-Gg: ASbGncsls+/nMGP2fGBXHxLVLqniiTkpySiRg6x5snOr7/iAT31p4u9wxKmuV76XJlN hKcEXo0oreAtMTmFbYXpTW+Ie8s32/F2oD71jqywpDRRSLzZFXKSB4SDTdZzTlS0KhIVDmDsjBK YBY40SDw94Wt3yTvGDDpw4Z/kG51VDSgnLEQMZmqZeT1Jd5GLigT20WgI3AnAo232CxB3orI3vw 0QUSIP4fU2dCbPoKIE4i0pdV//ANFueW1QdX4RJcpKO+ji3xhYLrk3IB31o+poxkw7GuihF2dth cBTVQCzmYFGJXWbU73QGDTXyD/c9b2RJMMy4XKOSmLGLoQjJJ/MGnI1x6JLp X-Google-Smtp-Source: AGHT+IEWeEuAG6BbA5B0gSOf0gvwpmbnFX9rpqwUVsraOGD35OUQle+UMXuIUypqqPXWhfFF3NXQ4w== X-Received: by 2002:a17:902:ea03:b0:220:ff82:1c60 with SMTP id d9443c01a7336-22409426beemr64197295ad.14.1741280488443; Thu, 06 Mar 2025 09:01:28 -0800 (PST) Received: from localhost.localdomain ([2800:2121:b040:c:40e:65b1:6e62:9bb5]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22410a8103esm14813815ad.146.2025.03.06.09.01.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 09:01:27 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 Mar 2025 14:01:13 -0300 Message-ID: <20250306170113.1113-1-jamrial@gmail.com> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] swscale/input: add support for UYYVYY411 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: Signed-off-by: James Almer --- Untested as i don't have a camera that outputs this, and no decoder or filter seems to generate it either, but it seemed simple enough to write. Anyone that can use the libdc1394 device and test would be welcome. libswscale/input.c | 23 +++++++++++++++++++++++ libswscale/utils.c | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/libswscale/input.c b/libswscale/input.c index dfa8ed15ab..6d600385a1 100644 --- a/libswscale/input.c +++ b/libswscale/input.c @@ -904,6 +904,23 @@ static void uyvyToUV_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, con av_assert1(src1 == src2); } +static void uyyvyyToY_c(uint8_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, + int width, uint32_t *unused, void *opq) +{ + for (int i = 0; i < width; i++) + dst[i] = src[3 * (i >> 1) + 1 + (i & 1)]; +} + +static void uyyvyyToUV_c(uint8_t *dstU, uint8_t *dstV, const uint8_t *unused0, const uint8_t *src1, + const uint8_t *src2, int width, uint32_t *unused, void *opq) +{ + for (int i = 0; i < width; i++) { + dstU[i] = src1[6 * i + 0]; + dstV[i] = src1[6 * i + 3]; + } + av_assert1(src1 == src2); +} + static av_always_inline void nvXXtoUV_c(uint8_t *dst1, uint8_t *dst2, const uint8_t *src, int width) { @@ -1714,6 +1731,9 @@ av_cold void ff_sws_init_input_funcs(SwsInternal *c, case AV_PIX_FMT_UYVY422: *chrToYV12 = uyvyToUV_c; break; + case AV_PIX_FMT_UYYVYY411: + *chrToYV12 = uyyvyyToUV_c; + break; case AV_PIX_FMT_VYU444: *chrToYV12 = vyuToUV_c; break; @@ -2351,6 +2371,9 @@ av_cold void ff_sws_init_input_funcs(SwsInternal *c, case AV_PIX_FMT_UYVY422: *lumToYV12 = uyvyToY_c; break; + case AV_PIX_FMT_UYYVYY411: + *lumToYV12 = uyyvyyToY_c; + break; case AV_PIX_FMT_VYU444: *lumToYV12 = vyuToY_c; break; diff --git a/libswscale/utils.c b/libswscale/utils.c index 953bf015e4..389efd7c68 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -91,7 +91,7 @@ static const FormatEntry format_entries[] = { [AV_PIX_FMT_YUVJ444P] = { 1, 1 }, [AV_PIX_FMT_YVYU422] = { 1, 1 }, [AV_PIX_FMT_UYVY422] = { 1, 1 }, - [AV_PIX_FMT_UYYVYY411] = { 0, 0 }, + [AV_PIX_FMT_UYYVYY411] = { 1, 0 }, [AV_PIX_FMT_BGR8] = { 1, 1 }, [AV_PIX_FMT_BGR4] = { 0, 1 }, [AV_PIX_FMT_BGR4_BYTE] = { 1, 1 }, -- 2.48.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".