mbox

[v3,0/4] media: visiting YUV tiled formats

Message ID 20210805024752.8755-1-ezequiel@collabora.com (mailing list archive)
Headers

Message

Ezequiel Garcia Aug. 5, 2021, 2:47 a.m. UTC
  This series started with the addition of the V4L2_PIX_FMT_NV12_4L4
pixel format.

Researching about tiled formats, we realized that V4L2_PIX_FMT_SUNXI_TILED_NV12
is actually a simple 32x32 linear tiled NV12, and also that so-called "HM12"
is really a 16x16 linear tiled NV12.

Therefore, I decided to tackle the big picture as much as possible
and aim at cleaning all the NV12 tiled pixel formats.

As you can expect, the current pixel formats are kept for userspace
compatibility, but considered legacy in kernel code and deprecated.

The new nomenclatures for pixel formats is already being used in
GStreamer, it's cleaner and less surprising.

GStreamer MR adding NV12_16L16 (HM12):
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1244

v3:

* Fix ifndef for deprecated formats
* Define deprecated formats as aliases
* Shorten descriptions
* Add old pixel formats to videodev2.h.rst.exceptions

v2:

* Also take care of HM12.
* Fix missing description for NV12_4L4.
* Clean V4L2_PIX_FMT_NV12MT further.

Ezequiel Garcia (4):
  media: Rename V4L2_PIX_FMT_SUNXI_TILED_NV12 to V4L2_PIX_FMT_NV12_32L32
  media: Rename V4L2_PIX_FMT_HM12 to V4L2_PIX_FMT_NV12_16L16
  media: Add NV12_4L4 tiled format
  media: Clean V4L2_PIX_FMT_NV12MT documentation

 Documentation/admin-guide/media/ivtv.rst      |  2 +-
 .../media/drivers/cx2341x-uapi.rst            |  8 ++-
 .../media/v4l/pixfmt-reserved.rst             | 22 --------
 .../media/v4l/pixfmt-yuv-planar.rst           | 50 +++++++++++++------
 .../media/videodev2.h.rst.exceptions          |  2 +
 drivers/media/pci/cx18/cx18-ioctl.c           |  4 +-
 drivers/media/pci/cx18/cx18-streams.c         |  8 +--
 drivers/media/pci/ivtv/ivtv-ioctl.c           |  8 +--
 .../platform/sunxi/sun6i-csi/sun6i_csi.c      | 10 ++--
 .../platform/sunxi/sun6i-csi/sun6i_csi.h      |  2 +-
 .../platform/sunxi/sun6i-csi/sun6i_video.c    |  2 +-
 drivers/media/v4l2-core/v4l2-common.c         |  3 ++
 drivers/media/v4l2-core/v4l2-ioctl.c          |  5 +-
 drivers/staging/media/sunxi/cedrus/cedrus.c   |  2 +-
 .../staging/media/sunxi/cedrus/cedrus_hw.c    |  2 +-
 .../staging/media/sunxi/cedrus/cedrus_video.c |  4 +-
 include/uapi/linux/videodev2.h                | 19 +++++--
 17 files changed, 83 insertions(+), 70 deletions(-)