All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nícolas F. R. A. Prado" <nfraprado@protonmail.com>
To: linux-media@vger.kernel.org
Cc: Helen Koike <helen.koike@collabora.com>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	linux-kernel@vger.kernel.org, lkcamp@lists.libreplanetbr.org
Subject: [PATCH v2 0/3] media: vimc: Add support for {RGB,BGR,GBR}888 bus formats on debayer source pad
Date: Thu, 26 Mar 2020 21:47:38 +0000	[thread overview]
Message-ID: <20200326214730.2449707-1-nfraprado@protonmail.com> (raw)

This patch series adds support for the missing RGB888_*, BGR888_* and GBR888_*
media bus formats on the source pad of debayer subdevices of the vimc driver.
These additional bus formats enable a wider range of formats to be configured
on the topologies, making it possible to test more real use cases.
It also enables video to be streamed in the BGR pixelformat on /dev/video3.

The first patch makes it possible to have multiple media bus codes mapping to
the same pixelformat, so that, for example, all RGB888_* media bus formats use
the same RGB24 pixelformat.

The second patch maps the missing RGB888_*, BGR888_* and GBR888_* media bus
codes to the RGB24 and BGR24 pixelformats.
Since there isn't a GBR24 pixelformat, the GBR888_1X24 bus code maps to the
RGB24 pixelformat.

The third patch enables the source pad of the debayer subdevice to use the
added media bus formats.

This patch series passed all tests of v4l2-compliance:
$ compliance_git -m /dev/media0
v4l2-compliance SHA: 81e45d957c4db39397f893100b3d2729ef39b052, 64 bits, 64-bit time_t
Grand Total for vimc device /dev/media0: 461, Succeeded: 461, Failed: 0, Warnings: 0

As a side note, when listing the pads containing the new formats added, I
noticed that MEDIA_BUS_FMT_RGB888_3X8 doesn't have its name displayed by
v4l2-ctl, but from my understanding that should be a bug in v4l-utils.

$ v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-mbus-codes 1
ioctl: VIDIOC_SUBDEV_ENUM_MBUS_CODE (pad=1)
	0x1014: MEDIA_BUS_FMT_GBR888_1X24
	0x1013: MEDIA_BUS_FMT_BGR888_1X24
	0x101b: MEDIA_BUS_FMT_BGR888_3X8
	0x100a: MEDIA_BUS_FMT_RGB888_1X24
	0x100b: MEDIA_BUS_FMT_RGB888_2X12_BE
	0x100c: MEDIA_BUS_FMT_RGB888_2X12_LE
	0x101c
	0x1011: MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
	0x1012: MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
	0x100f: MEDIA_BUS_FMT_RGB888_1X32_PADHI

Changes in v2:
- Fix vimc_mbus_code_by_index not checking code array bounds
- Change commit messages to reflect v2 changes
- Suggested by Helen:
    - Rename variables
    - Fix array formatting
    - Change code array size
    - Add comment about vimc_mbus_code_by_index return value
    - Add vimc_deb_is_src_code_valid function
    - Add other BGR888 and RGB888 formats to BGR24 and RGB24 pixelformats
    - Add other BGR888 and RGB888 formats to debayer source pad supported
      formats
- Suggested by Ezequiel:
    - Change cover letter to better explain this patch series

You can find v1 here: https://patchwork.linuxtv.org/cover/61391/

Nícolas F. R. A. Prado (3):
  media: vimc: Support multiple media bus codes for each pixelformat
  media: vimc: Add missing {RGB,BGR,GBR}888 media bus codes
  media: vimc: deb: Add support for {RGB,BGR,GBR}888 bus formats on
    source pad

 drivers/media/platform/vimc/vimc-common.c  | 82 +++++++++++++++-------
 drivers/media/platform/vimc/vimc-common.h  | 11 ++-
 drivers/media/platform/vimc/vimc-debayer.c | 61 ++++++++++++----
 drivers/media/platform/vimc/vimc-scaler.c  | 10 ++-
 drivers/media/platform/vimc/vimc-sensor.c  |  6 +-
 5 files changed, 126 insertions(+), 44 deletions(-)

-- 
2.25.2



             reply	other threads:[~2020-03-26 21:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-26 21:47 Nícolas F. R. A. Prado [this message]
2020-03-26 21:47 ` [PATCH v2 1/3] media: vimc: Support multiple media bus codes for each pixelformat Nícolas F. R. A. Prado
2020-03-30 19:36   ` Helen Koike
2020-04-20 20:36     ` Nícolas F. R. A. Prado
2020-04-20 20:50       ` Helen Koike
2020-03-26 21:47 ` [PATCH v2 2/3] media: vimc: Add missing {RGB,BGR,GBR}888 media bus codes Nícolas F. R. A. Prado
2020-03-26 21:56   ` Shuah Khan
2020-03-30 19:37     ` Helen Koike
2020-03-26 21:47 ` [PATCH v2 3/3] media: vimc: deb: Add support for {RGB,BGR,GBR}888 bus formats on source pad Nícolas F. R. A. Prado
2020-03-26 22:06   ` Shuah Khan
2020-03-30 19:43     ` Helen Koike
2020-03-30 19:46       ` Shuah Khan
2020-04-20 21:01       ` Nícolas F. R. A. Prado
2020-04-20 21:04         ` Helen Koike
2020-04-27 22:12           ` Nícolas F. R. A. Prado

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200326214730.2449707-1-nfraprado@protonmail.com \
    --to=nfraprado@protonmail.com \
    --cc=helen.koike@collabora.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lkcamp@lists.libreplanetbr.org \
    --cc=mchehab@kernel.org \
    --cc=skhan@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.