linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH/RFC 00/16] media: Add new pixel formats for Xilinx v-frmbuf
@ 2020-09-23  2:43 Laurent Pinchart
  2020-09-23  2:43 ` [PATCH/RFC 01/16] media: videodev2.h: Remove unneeded comment about 4CC value Laurent Pinchart
                   ` (15 more replies)
  0 siblings, 16 replies; 31+ messages in thread
From: Laurent Pinchart @ 2020-09-23  2:43 UTC (permalink / raw)
  To: linux-media; +Cc: Sakari Ailus, Hans Verkuil, Dylan Yip, Vishal Sagar

Hello,

This patch series adds a set of new pixel formats needed for the Xilinx
Video Frame Buffer Read/Write IP cores (see [1]). I've focussed on the
RGB and packed YUV formats so far, the planar YUV formats will follow.

Documentation of the pixel formats has grown organically in V4L2, and
while it is fairly complete and detailed, it also duplicates lots of
information. I've thus decided to bite the bullet, and try to
consolidate the documentation first before adding new formats.

The first three patches address minor issues in videodev2.h, removing a
comment that belongs to a commit message instead (01/16) and moving two
misplaced formats to where they belong (02/16 and 03/16).

The next three patches refactor documentation for the RGB formats. Patch
04/16 removes a confusing table (that likely made sense when it was
added, but not anymore), 05/16 adds a section title for the deprecated
RGB formats to increase clarity, and patch 06/16 documents the naming
scheme followed by our RGB formats. There are two separate naming
schemes, used by 8- and 16-bit formats on one side, and 24- and 32-bit
formats on the other side. The former matches the naming conventions of
DRM, while the latter doesn't, which has often led to confusion and
errors. This can't be changed, but it's now clearly documented.

Patches 07/16 then moves to the RGB formats, adding extra documentation
about chroma subsampling. Patch 08/16 moves all the packed YUV formats
to the file that carries that title, as documenting "Packed YUV formats"
and UYVY/VYUY/YUYV/YVYU is confusing and can only be explained by
historical reasons. These changes allow consolidating duplicated
documentation that was copied in multiple files.

Patch 09/16 makes the packed YUV table a bit less confusing by adding
'-' characters to denote padding bits instead of leaving the
corresponding cells blank. Patch 10/16 then consolidates the packed YUV
4:4:4 format documentation in a more compact way, increasing readability
by avoiding too wide tables. Patch 11/16 explains the packed YUV format
naming scheme, similarly to what has been done for RGB formats earlier
in the series.

Next come the luma-only formats. Patch 12/16 consolidate them in a
single file, documenting them in a single table. Navigation of the
documentation becomes simpler as a result.

Finally, patch 13/16 to 16/16 add new pixel formats needed by the Xilinx
v-frmbuf.

Before addressing the planar YUV formats I would like to receive
feedback on the documentation refactoring, as the semi-planar and planar
formats would in my opinion benefit from a similar cleanup.

[1] https://www.xilinx.com/support/documentation/ip_documentation/v_frmbuf/v2_1/pg278-v-frmbuf.pdf

Laurent Pinchart (16):
  media: videodev2.h: Remove unneeded comment about 4CC value
  media: videodev2.h: Move HI240 format to vendor-specific section
  media: videodev2.h: Move HM12 format to YUV semi-planar section
  media: doc: pixfmt-rgb: Remove layout table for packed RGB formats
  media: doc: pixfmt-rgb: Add title for deprecated formats
  media: doc: pixfmt-rgb: Clarify naming scheme for RGB formats
  media: doc: pixfmt-yuv: Document subsampling in more details
  media: doc: pixfmt-yuv: Move all packed YUV formats to common file
  media: doc: pixfmt-packed-yuv: Fill padding bits with '-'
  media: doc: pixfmt-packed-yuv: Express 4:4:4 formats in a more compact
    way
  media: doc: pixfmt-packed-yuv: Clarify naming scheme for 4:4:4 formats
  media: doc: pixfmt-yuv: Move all luma-only YUV formats to common file
  media: v4l2: Add 10-, 12- and 16-bpc BGR formats
  media: v4l2: Add a few missing packed YUV 4:4:4 formats
  media: v4l2: Add 10-, 12- and 16-bpc 4:4:4 packed VUY formats
  media: v4l2: Add 10- and 12-bpc luma-only formats with linear packing

 .../userspace-api/media/v4l/pixfmt-grey.rst   |  51 --
 .../userspace-api/media/v4l/pixfmt-m420.rst   |  59 +-
 .../userspace-api/media/v4l/pixfmt-nv12.rst   |  57 +-
 .../userspace-api/media/v4l/pixfmt-nv12m.rst  |  60 +--
 .../userspace-api/media/v4l/pixfmt-nv16.rst   |  73 +--
 .../userspace-api/media/v4l/pixfmt-nv16m.rst  |  73 +--
 .../media/v4l/pixfmt-packed-yuv.rst           | 504 ++++++++++--------
 .../userspace-api/media/v4l/pixfmt-rgb.rst    | 315 +++++++----
 .../userspace-api/media/v4l/pixfmt-uyvy.rst   | 117 ----
 .../userspace-api/media/v4l/pixfmt-vyuy.rst   | 115 ----
 .../userspace-api/media/v4l/pixfmt-y10.rst    |  72 ---
 .../userspace-api/media/v4l/pixfmt-y10b.rst   |  40 --
 .../userspace-api/media/v4l/pixfmt-y10p.rst   |  50 --
 .../userspace-api/media/v4l/pixfmt-y12.rst    |  72 ---
 .../userspace-api/media/v4l/pixfmt-y14.rst    |  72 ---
 .../userspace-api/media/v4l/pixfmt-y16-be.rst |  76 ---
 .../userspace-api/media/v4l/pixfmt-y16.rst    |  76 ---
 .../userspace-api/media/v4l/pixfmt-y41p.rst   | 158 ------
 .../media/v4l/pixfmt-yuv-luma.rst             | 156 ++++++
 .../userspace-api/media/v4l/pixfmt-yuv410.rst |  59 +-
 .../media/v4l/pixfmt-yuv411p.rst              |  39 +-
 .../userspace-api/media/v4l/pixfmt-yuv420.rst |  66 +--
 .../media/v4l/pixfmt-yuv420m.rst              |  66 +--
 .../media/v4l/pixfmt-yuv422m.rst              |  44 +-
 .../media/v4l/pixfmt-yuv422p.rst              |  44 +-
 .../media/v4l/pixfmt-yuv444m.rst              |  33 +-
 .../userspace-api/media/v4l/pixfmt-yuyv.rst   | 125 -----
 .../userspace-api/media/v4l/pixfmt-yvyu.rst   | 115 ----
 .../userspace-api/media/v4l/yuv-formats.rst   | 264 ++++++++-
 include/uapi/linux/videodev2.h                |  27 +-
 30 files changed, 927 insertions(+), 2151 deletions(-)
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-grey.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-uyvy.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-vyuy.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y10.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y10b.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y10p.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y12.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y14.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y16-be.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y16.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y41p.rst
 create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-yuyv.rst
 delete mode 100644 Documentation/userspace-api/media/v4l/pixfmt-yvyu.rst

-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2020-11-02 22:15 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-23  2:43 [PATCH/RFC 00/16] media: Add new pixel formats for Xilinx v-frmbuf Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 01/16] media: videodev2.h: Remove unneeded comment about 4CC value Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 02/16] media: videodev2.h: Move HI240 format to vendor-specific section Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 03/16] media: videodev2.h: Move HM12 format to YUV semi-planar section Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 04/16] media: doc: pixfmt-rgb: Remove layout table for packed RGB formats Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 05/16] media: doc: pixfmt-rgb: Add title for deprecated formats Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 06/16] media: doc: pixfmt-rgb: Clarify naming scheme for RGB formats Laurent Pinchart
2020-09-24 18:05   ` Nicolas Dufresne
2020-10-31 23:26     ` Laurent Pinchart
2020-10-01 13:33   ` Hans Verkuil
2020-11-01  0:11     ` Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 07/16] media: doc: pixfmt-yuv: Document subsampling in more details Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 08/16] media: doc: pixfmt-yuv: Move all packed YUV formats to common file Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 09/16] media: doc: pixfmt-packed-yuv: Fill padding bits with '-' Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 10/16] media: doc: pixfmt-packed-yuv: Express 4:4:4 formats in a more compact way Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 11/16] media: doc: pixfmt-packed-yuv: Clarify naming scheme for 4:4:4 formats Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 12/16] media: doc: pixfmt-yuv: Move all luma-only YUV formats to common file Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 13/16] media: v4l2: Add 10-, 12- and 16-bpc BGR formats Laurent Pinchart
2020-10-01 13:44   ` Hans Verkuil
2020-11-01  0:30     ` Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 14/16] media: v4l2: Add a few missing packed YUV 4:4:4 formats Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 15/16] media: v4l2: Add 10-, 12- and 16-bpc 4:4:4 packed VUY formats Laurent Pinchart
2020-09-24 18:24   ` Nicolas Dufresne
2020-11-01  0:38     ` Laurent Pinchart
2020-11-02 20:39       ` Nicolas Dufresne
2020-11-02 22:08         ` Laurent Pinchart
2020-09-23  2:43 ` [PATCH/RFC 16/16] media: v4l2: Add 10- and 12-bpc luma-only formats with linear packing Laurent Pinchart
2020-09-24 18:27   ` Nicolas Dufresne
2020-11-01  0:42     ` Laurent Pinchart
2020-11-02 20:45       ` Nicolas Dufresne
2020-11-02 22:14         ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).