video: Add NV12_16L32S aka Mediatek MM21 support
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Fri, 3 Dec 2021 02:46:59 +0000 (21:46 -0500)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sun, 20 Feb 2022 22:32:55 +0000 (22:32 +0000)
commitc9b127dae3af4b3fe78468e697cb491902425254
tree1b8802f385659a5df19135e0a997c62cf4ce17b3
parent748c5f357938156923c3379428dfabf619f0e97a
video: Add NV12_16L32S aka Mediatek MM21 support

Unlike other simple tiled formats, the Mediatek HW use different tile size
per-plane. The tile size is scaled according to the subsampling. Effectively,
using the name 16L32S to represent linearly layout tiles of size 16x32 bytes
in the Y plane, and 16x16 in the UV plane. In order to make this specificity
discoverable, a new SUBTILES flags have been added.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
subprojects/gst-plugins-base/gst-libs/gst/video/video-converter.c
subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c
subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h
subprojects/gst-plugins-base/gst-libs/gst/video/video-frame.c
subprojects/gst-plugins-base/gst-libs/gst/video/video-info.c
subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h
subprojects/gst-plugins-base/tests/check/elements/videoscale.c
subprojects/gst-plugins-base/tests/check/libs/video.c