From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
To: Dmitry Osipenko <dmitry.osipenko@collabora.com>,
Tim Surber <me@timsurber.de>,
Shreeya Patel <shreeya.patel@collabora.com>,
heiko@sntech.de, mchehab@kernel.org, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org,
mturquette@baylibre.com, sboyd@kernel.org,
p.zabel@pengutronix.de, jose.abreu@synopsys.com,
nelson.costa@synopsys.com, shawn.wen@rock-chips.com,
hverkuil@xs4all.nl, hverkuil-cisco@xs4all.nl
Cc: kernel@collabora.com, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org
Subject: Re: [RESEND PATCH v5 0/4] Add Synopsys DesignWare HDMI RX Controller
Date: Tue, 14 Jan 2025 09:16:55 -0500 [thread overview]
Message-ID: <c71eb0c2052814f709d1cc36bd3e968d72a96749.camel@collabora.com> (raw)
In-Reply-To: <9399a881-7d45-4ca3-8249-2e554184d038@collabora.com>
Le mardi 14 janvier 2025 à 14:37 +0300, Dmitry Osipenko a écrit :
> On 1/9/25 02:17, Tim Surber wrote:
> > Hi,
> >
> > I tested your patch with the command
> >
> > # gst-launch-1.0 -v v4l2src device=/dev/video1 ! fakesink
> >
> > If this worked I moved on to a visual test using
> >
> > # gst-launch-1.0 -v v4l2src device=/dev/video1 ! queue ! v4l2convert !
> > waylandsink
> >
> > I used a Windows PC with a Nvidia GTX 4060 as my source for the
> > following tests.
> >
> > > Format | Result |
> > > ------------ | ------------------------------------------- |
> > > 4k60p RGB | Recognized as 1080p / 120 fps - no output |
> > > 4k60p 4:2:2 | Recognized as 1080p / 120 fps - no output |
> > > 4k60p 4:4:4 | Error: Device wants 1 planes |
> > > 4k30p RGB | ok |
> > > 4k30p 4:2:2 | ok |
> > > 4k30p 4:4:4 | Error: Device wants 1 planes |
> > > FHD60p RGB | ok |
> > > FHD60p 4:2:2 | ok |
> > > FHD60p 4:4:4 | Error: Device wants 1 planes |
> >
> >
> > When testing 4:4:4 chroma I got the following error:
> >
> > # gst-launch-1.0 -v v4l2src device=/dev/video1 ! fakesink
> > /sys/v4l2/gstv4l2object.c(4344): gst_v4l2_object_set_format_full (): /
> > GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> > Device wants 1 planes
> >
> > I could record and convert (with errors) the files with 4:4:4 chroma
> > using the command Shreeya posted, but the resulting video had wrong
> > colors and was flashing.
> >
> > I was not able to test 4:2:0 chroma. I tried to generate an custom EDID
> > with support for it but I could not select it in the graphics driver in
> > the source, maybe this is just an issue with my setup.
>
> Thanks a lot for the testing, very appreciate it! Good that RGB works
> for you with no problems.
>
> Testing YUV formats isn't trivial. Personally I've a custom setup with a
> modified display driver of RPi to test them. See more below.
>
> > I also observed that the the framerate is reported wrong, for example
> > setting the source to FHD60p RGB resulted in the following:
> >
> > # v4l2-ctl --all -L --list-formats-ext -d /dev/video0
> > Active width: 1920
> > Active height: 1080
> > Total width: 2200
> > Total height: 1125
> > Frame format: progressive
> > Polarities: -vsync -hsync
> > Pixelclock: 214076000 Hz (86.50 frames per second)
> >
> > This wrong framerate reporting seemed to happen across all framerates
> > and resolutions. Gstreamer Pipeline negotation showed the same results.
>
> I've re-tested YUV444 4k capture using RPi4, works flawlessly. Note for
> gst-launch-1.0 you used video1 and video0 device is used by v4l2-ctl
> command above, maybe you're using wrong device. Please post a complete
> output of the v4l2-ctl command.
>
> The command I used to test YUV444 capture:
>
> # v4l2-ctl --verbose -d /dev/video1
> --set-fmt-video=width=3840,height=2160,pixelformat=NV24 --stream-mmap=4
> --stream-skip=3 --stream-count=3300 --stream-to=hdmi.raw --stream-poll
>
> The I converted captured data to a video file and played it:
>
> # ffmpeg -f rawvideo -vcodec rawvideo -s 3840x2160 -r 30 -pix_fmt nv24
> -y -i hdmi.raw output.mkv && mpv output.mkv -loop 0
>
> Don't see any problems with a reported framerate:
>
> DV timings:
> Active width: 3840
> Active height: 2160
> Total width: 4400
> Total height: 2250
> Frame format: progressive
> Polarities: -vsync -hsync
> Pixelclock: 296992000 Hz (30.00 frames per second)
>
> Note the timing data reported by v4l2-ctl updates after launching the
> capture. It's not updated dynamically when you changing mode on the source.
GStreamer uses G_PARM to get and report the frame interval (and flip the
fraction over to make it a frame rate). I've assumed these two should match and
it wasn't worth a special case of HDMI receivers.
Nicolas
>
> Lastly, please run `echo 3 >
> /sys/module/synopsys_hdmirx/parameters/debug`. Watch the kmsg log.
> Check that it says "hdmirx_get_pix_fmt: pix_fmt: YUV444" when you
> connecting HDMI cable to a YUV444 source and see other related messages.
> If it says RGB, then your source is transmitting RGB.
>
> > During my testing I got sometimes an error
> >
> >
> > # dmesg
> > dma alloc of size 24883200 failed
> >
> >
> > I'm not sure when this happened and how to reproduce it.
>
> This comes from v4l core, should be harmless as long as capture works.
> It's a known noisy msg, you may ignore it for today.
>
> > Then I tried to use an AppleTV 4k as source. I don't know what
> > resolution it tried to negotiate but I got this error in addition to the
> > previous "Device wants 1 planes" and no connection:
> >
> > # dmesg
> > fdee0000.hdmi_receiver: hdmirx_query_dv_timings: signal is not locked
> > fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: signal not lock,
> > tmds_clk_ratio:0
> > fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: mu_st:0x0, scdc_st:0x0,
> > dma_st10:0x10
> > fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: signal not lock,
> > tmds_clk_ratio:0
> > fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: mu_st:0x0, scdc_st:0x0,
> > dma_st10:0x14
>
> "Device wants 1 planes" sounds like you're using a wrong v4l video
> device. Please double check. Though, the "signal not lock" means it
> doesn't work anyways, please make sure you're using the default driver
> EDID and not a custom one.
>
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2025-01-14 14:21 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-10 19:39 [RESEND PATCH v5 0/4] Add Synopsys DesignWare HDMI RX Controller Shreeya Patel
2024-12-10 19:39 ` [RESEND PATCH v5 1/4] MAINTAINERS: Add entry for Synopsys DesignWare HDMI RX Driver Shreeya Patel
2024-12-10 19:39 ` [RESEND PATCH v5 2/4] dt-bindings: media: Document bindings for HDMI RX Controller Shreeya Patel
2024-12-10 19:39 ` [RESEND PATCH v5 3/4] arm64: dts: rockchip: Add device tree support " Shreeya Patel
2024-12-10 19:39 ` [RESEND PATCH v5 4/4] media: platform: synopsys: Add support for HDMI input driver Shreeya Patel
2025-02-10 13:46 ` Hans Verkuil
2025-02-11 16:02 ` Dmitry Osipenko
2025-01-06 0:26 ` [RESEND PATCH v5 0/4] Add Synopsys DesignWare HDMI RX Controller Tim Surber
[not found] ` <acb91a34-c0f8-4f03-8945-755b4e42dcf3@timsurber.de>
2025-01-06 11:22 ` Dmitry Osipenko
2025-01-07 0:08 ` Tim Surber
2025-01-07 7:27 ` Dmitry Osipenko
2025-01-08 23:17 ` Tim Surber
2025-01-14 11:37 ` Dmitry Osipenko
2025-01-14 14:16 ` Nicolas Dufresne [this message]
2025-01-19 2:14 ` Tim Surber
2025-01-23 11:21 ` Dmitry Osipenko
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=c71eb0c2052814f709d1cc36bd3e968d72a96749.camel@collabora.com \
--to=nicolas.dufresne@collabora.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.osipenko@collabora.com \
--cc=heiko@sntech.de \
--cc=hverkuil-cisco@xs4all.nl \
--cc=hverkuil@xs4all.nl \
--cc=jose.abreu@synopsys.com \
--cc=kernel@collabora.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mchehab@kernel.org \
--cc=me@timsurber.de \
--cc=mturquette@baylibre.com \
--cc=nelson.costa@synopsys.com \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=shawn.wen@rock-chips.com \
--cc=shreeya.patel@collabora.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox