From patchwork Thu May 10 15:31:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Leontiev X-Patchwork-Id: 8907 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp1205357jad; Thu, 10 May 2018 08:31:46 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpUbh9p/qyMDR0XaFA1Q+MtghT1gmnYyLIKfqKV9hNFl/CSUddnfyzzT9UPO/HhiJjbAzXV X-Received: by 2002:adf:9b1a:: with SMTP id b26-v6mr1732761wrc.206.1525966306154; Thu, 10 May 2018 08:31:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525966306; cv=none; d=google.com; s=arc-20160816; b=At8s6X62Kga/hOpJEybInPv4ysh97O2lqal/eKIdGu8XCzz1dZcjyopT7vxRqwQ3kZ FLztBx8jijXeHY83is7VWfMh593pHSxFmMQ8Rgj0yL7oezAom3TG8o99zq7K/zZGfxYN zg4pxE5glVhxWFjrByltSWb2rbbcJQKQJpbM+wbRrk/FOGIiGf4LR4oqX6lO95aJoNsG 1lBVvYqvghNw6DNSJZ7IriHPODk/5yEy5NZZtDGFxvUQ/btpDs784ch2SHKcDnyoVB0x MAdg1SvfckxHgg6be01wGy36/WdLpzXpoXAm89CTMMjZ1ePQzuaicCHYwMilJabQPmwo dzGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to:arc-authentication-results; bh=SnxXNfgg3FJ8ebF6aROMjEjAhpa3+PFrQqX1G0piLD8=; b=sPaSd21Qn4FAQWvK6NrUs8uAu5twPwkLHPCt9BO7h0VcqanSYSU3JJ4BecxYta8BkF qhxYjhHlmiHcMDXpWiWsqrYPUFZ4X8emQ10CItmFtLXldS5n1wIw7+GTo+KWLvf9IcvA U+6c9CoSgXsuTPQVbDKO6DQZCf/KJRdowMeIrs6/UZMNbxffcrS/UUCYjK/S791Qy8C1 IGLOeCOESB60bVECGjjlunCsuJeKe8yW3Ke2CxOV2UHIgDgY61FZAiVfaD7wr+iEnFZ6 Go3coUPA9G3P6a2XrkeJ8UoA45EGgDMGTGD2xMzGWcg5NdrsPu9Bt4M/3rUbhmxuAflG CNxA== ARC-Authentication-Results: i=1; mx.google.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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m130-v6si975992wmf.67.2018.05.10.08.31.43; Thu, 10 May 2018 08:31:46 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C219D68A7E9; Thu, 10 May 2018 18:31:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail.elvees.com (mail.elvees.com [80.90.126.250]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F170268A4BE for ; Thu, 10 May 2018 18:30:58 +0300 (EEST) Received: from vostrobook.localdomain (95-26-74-32.broadband.corbina.ru [95.26.74.32]) (authenticated bits=0) by mail.elvees.com (8.14.3/8.14.2) with ESMTP id w4AFVQmW092045; Thu, 10 May 2018 18:31:33 +0300 (MSK) (envelope-from aleontiev@elvees.com) From: Anton Leontiev To: ffmpeg-devel@ffmpeg.org Date: Thu, 10 May 2018 18:31:20 +0300 Message-Id: <20180510153120.2099-1-aleontiev@elvees.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180508131113.9120-1-aleontiev@elvees.com> References: <20180508131113.9120-1-aleontiev@elvees.com> Subject: [FFmpeg-devel] [PATCH v2] lavd/v4l2: Add ARGB and XRGB packed pixel formats 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: Carl Eugen Hoyos MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Formats ARGB32, XRGB32, ABGR32, and XBGR32 were added to V4L2 instead of ill-defined deprecated RGB32/BGR32 pixel formats. When pixel format is not specified explicitly FFmpeg tries formats in order in which they are stored in the table. Therefore formats are sorted as follows: BGR is preferred over RGB and XBGR is preferred over ARGB, because it could give better performance by ignoring alpha component. --- libavdevice/v4l2-common.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavdevice/v4l2-common.c b/libavdevice/v4l2-common.c index 196c09b7fc..2d6bfac8ca 100644 --- a/libavdevice/v4l2-common.c +++ b/libavdevice/v4l2-common.c @@ -34,6 +34,12 @@ const struct fmt_map ff_fmt_conversion_table[] = { { AV_PIX_FMT_RGB565BE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB565X }, { AV_PIX_FMT_BGR24, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_BGR24 }, { AV_PIX_FMT_RGB24, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB24 }, +#ifdef V4L2_PIX_FMT_XBGR32 + { AV_PIX_FMT_BGR0, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_XBGR32 }, + { AV_PIX_FMT_0RGB, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_XRGB32 }, + { AV_PIX_FMT_BGRA, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_ABGR32 }, + { AV_PIX_FMT_ARGB, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_ARGB32 }, +#endif { AV_PIX_FMT_BGR0, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_BGR32 }, { AV_PIX_FMT_0RGB, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB32 }, { AV_PIX_FMT_GRAY8, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_GREY },