From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Cc: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>,
linux-media@vger.kernel.org
Subject: Re: Kernel error "Unknown pixelformat 0x00000000" occurs when I start capture video
Date: Tue, 08 Jan 2019 23:29:17 +0200 [thread overview]
Message-ID: <2295088.CIBgFgJDf4@avalon> (raw)
In-Reply-To: <20190108164916.55aa9b93@coco.lan>
Hi Mauro,
On Tuesday, 8 January 2019 20:49:16 EET Mauro Carvalho Chehab wrote:
> Em Tue, 8 Jan 2019 21:11:41 +0500 Mikhail Gavrilov escreveu:
> > On Tue, 8 Jan 2019 at 20:57, Laurent Pinchart wrote:
> >> Thank you.
> >>
> >> Your device exposes five formats: YUY2 (YUYV), YV12 (YVU420), NV12, P010
> >> and BGR3 (BGR24). They are all supported by V4L2 and the uvcvideo
> >> driver except for the P010 format. This would be easy to fix in the
> >> uvcvideo driver if it wasn't for the fact that the P010 format isn't
> >> support by V4L2. Adding support for it isn't difficult, but I don't
> >> have time to do this myself at the moment. Would you consider
> >> volunteering if I guide you ? :-)
> >
> > Sure, I'd be happy to help. What is required of me?
>
> It shouldn't be hard.
Thank you for the detailed and clear explanation.
> First, you need to add the new format at include/uapi/linux/videodev2.h,
> like this one:
>
> #define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420
> planar */
>
> Please put it together with the other YUV formats.
>
> As the fourcc "P010" was not used on Linux yet, you could use it,
> e. g., something like:
>
> #define V4L2_PIX_FMT_YUV_P10 v4l2_fourcc('P', '0', '1', '0') /* 10 YUV420
> planar */
>
> You need then to document it. Each V4L2 format should have a description,
> like this:
>
> https://linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/pixfmt-yuv420m.html
>
> This is generated via a text file (using ReST syntax). On the above example,
> it is produced by this file:
>
> https://git.linuxtv.org/media_tree.git/tree/Documentation/media/uapi/v4l/pi
> xfmt-yuv420m.rst
>
> Writing it would take a little more time, but, provided that you don't
> copy what's written from external docs, you could take a look at the
> Internet for the P010 descriptions, and use the pixfmt-yuy420m.rst file
> as the basis for a new pixfmt-p010.rst file.
>
> This will produce a patch similar to this one:
>
> https://git.linuxtv.org/media_tree.git/commit/?id=5df082e2312c
>
> Finally, you need to teach the uvc driver that it should report P010
> format, instead of 0x00000000, by adding it at uvc_format_desc uvc_fmts,
> with the corresponding UVC GUID. We usually do this on a separate patch.
> Something like this:
>
> https://git.linuxtv.org/media_tree.git/commit/?id=6ea0d588d35b
>
> Once you have the patches, submit it to the ML :-)
>
> You could take a look at the LinuxTV wiki page about how to submit,
> at the developer's section:
>
> https://linuxtv.org/wiki/index.php/Developer_section
>
> In particular, take a look at "Submitting Your Work" section there.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2019-01-08 21:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-05 20:05 Kernel error "Unknown pixelformat 0x00000000" occurs when I start capture video Mikhail Gavrilov
2019-01-08 14:45 ` Mauro Carvalho Chehab
2019-01-08 14:54 ` Laurent Pinchart
2019-01-08 15:16 ` Mauro Carvalho Chehab
2019-01-08 15:55 ` Laurent Pinchart
2019-01-08 15:18 ` Mikhail Gavrilov
2019-01-08 15:58 ` Laurent Pinchart
2019-01-08 16:11 ` Mikhail Gavrilov
2019-01-08 18:49 ` Mauro Carvalho Chehab
2019-01-08 19:00 ` Mauro Carvalho Chehab
2019-01-09 3:51 ` Mikhail Gavrilov
2019-01-09 12:03 ` Mauro Carvalho Chehab
2019-01-08 21:29 ` Laurent Pinchart [this message]
2019-01-09 12:19 ` Sakari Ailus
2019-01-09 13:01 ` P010 fourcc format support - Was: " Mauro Carvalho Chehab
2019-01-09 16:42 ` Ayaka
2019-01-09 16:52 ` Nicolas Dufresne
2019-01-09 17:28 ` Mauro Carvalho Chehab
2019-01-09 18:20 ` Nicolas Dufresne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2295088.CIBgFgJDf4@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab+samsung@kernel.org \
--cc=mikhail.v.gavrilov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.