Re: [PATCH v2 1/2] media: add Sorenson Spark video format

From: Nicolas Dufresne
Date: Thu Jan 19 2023 - 15:40:58 EST



Le jeudi 12 janvier 2023 à 17:04 +0800, Ming Qian a écrit :
> Sorenson Spark is an implementation of H.263 for use
> in Flash Video and Adobe Flash files.
> Sorenson Spark is an incomplete implementation of H.263.
> It differs mostly in header structure and ranges of the coefficients.
>
> Signed-off-by: Ming Qian <ming.qian@xxxxxxx>

Reviewed-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>

> ---
> Documentation/userspace-api/media/v4l/pixfmt-compressed.rst | 5 +++++
> drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
> include/uapi/linux/videodev2.h | 1 +
> 3 files changed, 7 insertions(+)
>
> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst b/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst
> index 506dd3c98884..a0230f357680 100644
> --- a/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst
> +++ b/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst
> @@ -88,6 +88,11 @@ Compressed Formats
> - ``V4L2_PIX_FMT_H263``
> - 'H263'
> - H263 video elementary stream.
> + * .. _V4L2-PIX-FMT-SPK:
> +
> + - ``V4L2_PIX_FMT_SPK``
> + - 'SPK0'
> + - Sorenson Spark is an implementation of H.263 for use in Flash Video and Adobe Flash files
> * .. _V4L2-PIX-FMT-MPEG1:
>
> - ``V4L2_PIX_FMT_MPEG1``
> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
> index 8e0a0ff62a70..9b5b04b8aa69 100644
> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> @@ -1472,6 +1472,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
> case V4L2_PIX_FMT_HEVC_SLICE: descr = "HEVC Parsed Slice Data"; break;
> case V4L2_PIX_FMT_FWHT: descr = "FWHT"; break; /* used in vicodec */
> case V4L2_PIX_FMT_FWHT_STATELESS: descr = "FWHT Stateless"; break; /* used in vicodec */
> + case V4L2_PIX_FMT_SPK: descr = "Sorenson Spark"; break;
> case V4L2_PIX_FMT_CPIA1: descr = "GSPCA CPiA YUV"; break;
> case V4L2_PIX_FMT_WNVA: descr = "WNVA"; break;
> case V4L2_PIX_FMT_SN9C10X: descr = "GSPCA SN9C10X"; break;
> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> index 3c56b81424f3..262ef10cfa02 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -739,6 +739,7 @@ struct v4l2_pix_format {
> #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_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */
> +#define V4L2_PIX_FMT_SPK v4l2_fourcc('S', 'P', 'K', '0') /* Sorenson Spark */
>
> /* Vendor-specific formats */
> #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */