mbox series

[v2,0/2] media: amphion: decoder add support to sorenson spark format

Message ID cover.1673513975.git.ming.qian@nxp.com
Headers show
Series media: amphion: decoder add support to sorenson spark format | expand

Message

Ming Qian Jan. 12, 2023, 9:04 a.m. UTC
Sorenson Spark is an implementation of H.263 for use
in Flash Video and Adobe Flash files.
amphion decoder can support decoding this video format.

v2
- correct the code in document

Ming Qian (2):
  media: add Sorenson Spark video format
  media: amphion: support to decode sorenson spark video

 .../media/v4l/pixfmt-compressed.rst            |  5 +++++
 drivers/media/platform/amphion/vdec.c          |  7 +++++++
 drivers/media/platform/amphion/vpu_malone.c    | 18 ++++++++++++++++++
 drivers/media/v4l2-core/v4l2-ioctl.c           |  1 +
 include/uapi/linux/videodev2.h                 |  1 +
 5 files changed, 32 insertions(+)

Comments

Nicolas Dufresne Jan. 19, 2023, 8:40 p.m. UTC | #1
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@nxp.com>

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

> ---
>  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 */