[RFC/WIP,v2,1/6] media: Add HEIF HEVC compressed pixel format
Commit Message
Add HEIF (High Efficiency Image File Format ) HEVC pixel format. This an
image container which use HEVC as a codec.
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
---
.../userspace-api/media/v4l/pixfmt-compressed.rst | 12 ++++++++++++
drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
include/uapi/linux/videodev2.h | 1 +
3 files changed, 14 insertions(+)
@@ -197,6 +197,18 @@ Compressed Formats
If :ref:`VIDIOC_ENUM_FMT` reports ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``
then the decoder has no requirements since it can parse all the
information from the raw bytestream.
+ * .. _V4L2-PIX-FMT-HEIF-HEVC:
+
+ - ``V4L2_PIX_FMT_HEIF_HEVC``
+ - 'HEIC'
+ - High Efficiency Image Container is an image container file format which
+ uses HEVC encoding and it is a variant of HEIF (High Efficiency Image File)
+ format.
+ The decoder expects one Access Unit per buffer.
+ The encoder generates one Access Unit per buffer.
+ If :ref:`VIDIOC_ENUM_FMT` reports ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``
+ then the decoder has no requirements since it can parse all the
+ information from the raw bytestream.
* .. _V4L2-PIX-FMT-HEVC-SLICE:
- ``V4L2_PIX_FMT_HEVC_SLICE``
@@ -1439,6 +1439,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_SE401: descr = "GSPCA SE401"; break;
case V4L2_PIX_FMT_S5C_UYVY_JPG: descr = "S5C73MX interleaved UYVY/JPEG"; break;
case V4L2_PIX_FMT_MT21C: descr = "Mediatek Compressed Format"; break;
+ case V4L2_PIX_FMT_HEIF_HEVC: descr = "HEIF HEVC Image Format"; break;
default:
if (fmt->description[0])
return;
@@ -708,6 +708,7 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_FWHT v4l2_fourcc('F', 'W', 'H', 'T') /* Fast Walsh Hadamard Transform (vicodec) */
#define V4L2_PIX_FMT_FWHT_STATELESS v4l2_fourcc('S', 'F', 'W', 'H') /* Stateless FWHT (vicodec) */
#define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4') /* H264 parsed slices */
+#define V4L2_PIX_FMT_HEIF_HEVC v4l2_fourcc('H', 'E', 'I', 'C') /* HEIF HEVC image format */
/* Vendor-specific formats */
#define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */