Commit ec9aa62a authored by Ming Qian's avatar Ming Qian Committed by Mauro Carvalho Chehab
Browse files

media: add RealVideo format RV30 and RV40



RealVideo, or also spelled as Real Video, is a suite of proprietary
video compression formats developed by RealNetworks -
the specific format changes with the version.
RealVideo codecs are identified by four-character codes.
RV30 and RV40 are RealNetworks' proprietary H.264-based codecs.

Reviewed-by: default avatarNicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: default avatarMing Qian <ming.qian@nxp.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 9de92986
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -237,6 +237,26 @@ Compressed Formats
        Metadata associated with the frame to decode is required to be passed
        through the ``V4L2_CID_STATELESS_FWHT_PARAMS`` control.
	See the :ref:`associated Codec Control ID <codec-stateless-fwht>`.
    * .. _V4L2-PIX-FMT-RV30:

      - ``V4L2_PIX_FMT_RV30``
      - 'RV30'
      - RealVideo, or also spelled as Real Video, is a suite of
        proprietary video compression formats developed by
        RealNetworks - the specific format changes with the version.
        RealVideo codecs are identified by four-character codes.
        RV30 corresponds to RealVideo 8, suspected to be based
        largely on an early draft of H.264
    * .. _V4L2-PIX-FMT-RV40:

      - ``V4L2_PIX_FMT_RV40``
      - 'RV40'
      - RV40 represents RealVideo 9 and RealVideo 10.
        RealVideo 9, suspected to be based on H.264.
        RealVideo 10, aka RV9 EHQ, This refers to an improved encoder
        for the RV9 format that is fully backwards compatible with
        RV9 players - the format and decoder did not change, only
        the encoder did. As a result, it uses the same FourCC.

.. raw:: latex

+2 −0
Original line number Diff line number Diff line
@@ -1476,6 +1476,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
		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_RV30:		descr = "RealVideo 8"; break;
		case V4L2_PIX_FMT_RV40:		descr = "RealVideo 9 & 10"; 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;
+2 −0
Original line number Diff line number Diff line
@@ -751,6 +751,8 @@ struct v4l2_pix_format {
#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 */
#define V4L2_PIX_FMT_RV30     v4l2_fourcc('R', 'V', '3', '0') /* RealVideo 8 */
#define V4L2_PIX_FMT_RV40     v4l2_fourcc('R', 'V', '4', '0') /* RealVideo 9 & 10 */

/*  Vendor-specific formats   */
#define V4L2_PIX_FMT_CPIA1    v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */