* OMAP3630 ISP V4L2 Camera Not Streaming to LCD
@ 2017-06-21 21:34 Adam Ford
2017-06-26 16:19 ` Sakari Ailus
0 siblings, 1 reply; 2+ messages in thread
From: Adam Ford @ 2017-06-21 21:34 UTC (permalink / raw)
To: linux-media, linux-omap
I have a Leopard Imaging LI-5M03 camera attached in 8-bit mode, and I
am trying to capture an image on camera and stream it to the LCD
(/dev/fb0) without using the DSP or proprietary codecs.
I was hoping to do it with either gstreamer (preferrably 1.0) or ffpeg.
My board has mainline device tree (logicpd-torpedo-37xx-devkit).
( have played wtih some of the settings, but nothing seems to make any
difference)
Using (https://github.com/Alaganraj/omap3isp/blob/master/0001-ARM-omap3-beagle-Add-.dtsi-for-the-LI-5M03-camera-se.patch)
as an example.
Using Linux 4.11.y stable branch, I setup the camera as follows:
media-ctl -v -r -l '"mt9p031 1-0048":0->"OMAP3 ISP CCDC":0[1], "OMAP3
ISP CCDC":2->"OMAP3 ISP preview":0[1], "OMAP3 ISP preview":1->"OMAP3
ISP resizer":0[1], "OMAP3 ISP resizer":1->"OMAP3 ISP resizer
output":0[1]'
media-ctl -v -V '"mt9p031 1-0048":0 [SGRBG8 1298x970
(664,541)/1298x970], "OMAP3 ISP CCDC":2 [SGRBG10 1298x970], "OMAP3 ISP
preview":1 [UYVY 1298x970], "OMAP3 ISP resizer":1 [UYVY 320x240]'
The media controller shows that this part appears to work correctly.
# media-ctl -p
Media controller API version 0.1.0
Media device information
------------------------
driver omap3isp
model TI OMAP3 ISP
serial
bus info
hw revision 0xf0
driver version 0.0.0
Device topology
- entity 1: OMAP3 ISP CCP2 (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:SGRBG10_1X10/4096x4096 field:none]
<- "OMAP3 ISP CCP2 input":0 []
pad1: Source
[fmt:SGRBG10_1X10/4096x4096 field:none]
-> "OMAP3 ISP CCDC":0 []
- entity 4: OMAP3 ISP CCP2 input (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Source
-> "OMAP3 ISP CCP2":0 []
- entity 8: OMAP3 ISP CSI2a (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:SGRBG10_1X10/4096x4096 field:none]
pad1: Source
[fmt:SGRBG10_1X10/4096x4096 field:none]
-> "OMAP3 ISP CSI2a output":0 []
-> "OMAP3 ISP CCDC":0 []
- entity 11: OMAP3 ISP CSI2a output (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "OMAP3 ISP CSI2a":1 []
- entity 15: OMAP3 ISP CCDC (3 pads, 9 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
pad0: Sink
[fmt:SGRBG12_1X12/1298x970 field:none]
<- "OMAP3 ISP CCP2":1 []
<- "OMAP3 ISP CSI2a":1 []
<- "mt9p031 1-0048":0 [ENABLED]
pad1: Source
[fmt:SGRBG12_1X12/1296x970 field:none
crop.bounds:(0,0)/1312x970
crop:(0,0)/1296x970]
-> "OMAP3 ISP CCDC output":0 []
-> "OMAP3 ISP resizer":0 []
pad2: Source
[fmt:SGRBG10_1X10/1298x969 field:none]
-> "OMAP3 ISP preview":0 [ENABLED]
-> "OMAP3 ISP AEWB":0 [ENABLED,IMMUTABLE]
-> "OMAP3 ISP AF":0 [ENABLED,IMMUTABLE]
-> "OMAP3 ISP histogram":0 [ENABLED,IMMUTABLE]
- entity 19: OMAP3 ISP CCDC output (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "OMAP3 ISP CCDC":1 []
- entity 23: OMAP3 ISP preview (2 pads, 4 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev3
pad0: Sink
[fmt:SGRBG10_1X10/1298x969 field:none
crop.bounds:(10,4)/1280x961
crop:(10,4)/1280x961]
<- "OMAP3 ISP CCDC":2 [ENABLED]
<- "OMAP3 ISP preview input":0 []
pad1: Source
[fmt:UYVY8_1X16/1280x961 field:none]
-> "OMAP3 ISP preview output":0 []
-> "OMAP3 ISP resizer":0 [ENABLED]
- entity 26: OMAP3 ISP preview input (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Source
-> "OMAP3 ISP preview":0 []
- entity 30: OMAP3 ISP preview output (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video4
pad0: Sink
<- "OMAP3 ISP preview":1 []
- entity 34: OMAP3 ISP resizer (2 pads, 4 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev4
pad0: Sink
[fmt:UYVY8_1X16/1280x961 field:none
crop.bounds:(0,0)/1280x961
crop:(0,0)/1280x961]
<- "OMAP3 ISP CCDC":1 []
<- "OMAP3 ISP preview":1 [ENABLED]
<- "OMAP3 ISP resizer input":0 []
pad1: Source
[fmt:UYVY8_1X16/320x240 field:none]
-> "OMAP3 ISP resizer output":0 [ENABLED]
- entity 37: OMAP3 ISP resizer input (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video5
pad0: Source
-> "OMAP3 ISP resizer":0 []
- entity 41: OMAP3 ISP resizer output (1 pad, 1 link)
type Node subtype V4L flags 1
device node name /dev/video6
pad0: Sink
<- "OMAP3 ISP resizer":1 [ENABLED]
- entity 45: OMAP3 ISP AEWB (1 pad, 1 link)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev5
pad0: Sink
<- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]
- entity 47: OMAP3 ISP AF (1 pad, 1 link)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev6
pad0: Sink
<- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]
- entity 49: OMAP3 ISP histogram (1 pad, 1 link)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev7
pad0: Sink
<- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]
- entity 81: mt9p031 1-0048 (1 pad, 1 link)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev8
pad0: Source
[fmt:SGRBG12_1X12/1298x970 field:none
crop:(664,542)/1298x970]
-> "OMAP3 ISP CCDC":0 [ENABLED]
#
Unfortunately, when I run ffmpeg, I get a nothing but white pixels but
the resolution matches the resolution I configured as 320x240.
export LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so
ffmpeg -an -re -i /dev/video6 -f v4l2 -vcodec rawvideo -pix_fmt
rgb565le -f fbdev /dev/fb0
I got a bunch of repeated messages that read:
libv4l2: error dequeuing buf: Resource temporarily unavailable
Then it stabilizes and shows:
Input #0, video4linux2,v4l2, from '/dev/video6':
Duration: N/A, start: 2744.553524, bitrate: N/A
Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 320x240, 23.08 tb
r, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, fbdev, to '/dev/fb0':
Metadata:
encoder : Lavf57.71.100
Stream #0:0: Video: rawvideo (RGB[16] / 0x10424752), rgb565le, 320x240, q=2-
31, 28364 kb/s, 23.08 fps, 23.08 tbn, 23.08 tbc
Metadata:
encoder : Lavc57.89.100 rawvideo
It looks like it's appearing to stream, but it's just white pixels.
My omapfb is setup as 16 bit parallel LCD, but I wasn't sure if I need
to configure the omap_vout or not to stream using V4L2.
When omap_vout initializes, I get errors as well:
[ 4.080017] omap_vout omap_vout: probed for an unknown device
[ 4.086944] omap_vout:Could not register Video driver
If anyone has any suggestions, I thought it might help others who
still use the OMAP3630 and DM3730.
adam
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: OMAP3630 ISP V4L2 Camera Not Streaming to LCD
2017-06-21 21:34 OMAP3630 ISP V4L2 Camera Not Streaming to LCD Adam Ford
@ 2017-06-26 16:19 ` Sakari Ailus
0 siblings, 0 replies; 2+ messages in thread
From: Sakari Ailus @ 2017-06-26 16:19 UTC (permalink / raw)
To: Adam Ford; +Cc: linux-media, linux-omap, laurent.pinchart
Hi Adam,
On Wed, Jun 21, 2017 at 04:34:41PM -0500, Adam Ford wrote:
> I have a Leopard Imaging LI-5M03 camera attached in 8-bit mode, and I
> am trying to capture an image on camera and stream it to the LCD
> (/dev/fb0) without using the DSP or proprietary codecs.
>
> I was hoping to do it with either gstreamer (preferrably 1.0) or ffpeg.
>
> My board has mainline device tree (logicpd-torpedo-37xx-devkit).
> ( have played wtih some of the settings, but nothing seems to make any
> difference)
>
>
> Using (https://github.com/Alaganraj/omap3isp/blob/master/0001-ARM-omap3-beagle-Add-.dtsi-for-the-LI-5M03-camera-se.patch)
> as an example.
>
> Using Linux 4.11.y stable branch, I setup the camera as follows:
>
> media-ctl -v -r -l '"mt9p031 1-0048":0->"OMAP3 ISP CCDC":0[1], "OMAP3
> ISP CCDC":2->"OMAP3 ISP preview":0[1], "OMAP3 ISP preview":1->"OMAP3
> ISP resizer":0[1], "OMAP3 ISP resizer":1->"OMAP3 ISP resizer
> output":0[1]'
>
> media-ctl -v -V '"mt9p031 1-0048":0 [SGRBG8 1298x970
> (664,541)/1298x970], "OMAP3 ISP CCDC":2 [SGRBG10 1298x970], "OMAP3 ISP
> preview":1 [UYVY 1298x970], "OMAP3 ISP resizer":1 [UYVY 320x240]'
>
>
> The media controller shows that this part appears to work correctly.
> # media-ctl -p
> Media controller API version 0.1.0
>
> Media device information
> ------------------------
> driver omap3isp
> model TI OMAP3 ISP
> serial
> bus info
> hw revision 0xf0
> driver version 0.0.0
>
> Device topology
> - entity 1: OMAP3 ISP CCP2 (2 pads, 2 links)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev0
> pad0: Sink
> [fmt:SGRBG10_1X10/4096x4096 field:none]
> <- "OMAP3 ISP CCP2 input":0 []
> pad1: Source
> [fmt:SGRBG10_1X10/4096x4096 field:none]
> -> "OMAP3 ISP CCDC":0 []
>
> - entity 4: OMAP3 ISP CCP2 input (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video0
> pad0: Source
> -> "OMAP3 ISP CCP2":0 []
>
> - entity 8: OMAP3 ISP CSI2a (2 pads, 2 links)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev1
> pad0: Sink
> [fmt:SGRBG10_1X10/4096x4096 field:none]
> pad1: Source
> [fmt:SGRBG10_1X10/4096x4096 field:none]
> -> "OMAP3 ISP CSI2a output":0 []
> -> "OMAP3 ISP CCDC":0 []
>
> - entity 11: OMAP3 ISP CSI2a output (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video1
> pad0: Sink
> <- "OMAP3 ISP CSI2a":1 []
>
> - entity 15: OMAP3 ISP CCDC (3 pads, 9 links)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev2
> pad0: Sink
> [fmt:SGRBG12_1X12/1298x970 field:none]
> <- "OMAP3 ISP CCP2":1 []
> <- "OMAP3 ISP CSI2a":1 []
> <- "mt9p031 1-0048":0 [ENABLED]
> pad1: Source
> [fmt:SGRBG12_1X12/1296x970 field:none
> crop.bounds:(0,0)/1312x970
> crop:(0,0)/1296x970]
> -> "OMAP3 ISP CCDC output":0 []
> -> "OMAP3 ISP resizer":0 []
> pad2: Source
> [fmt:SGRBG10_1X10/1298x969 field:none]
> -> "OMAP3 ISP preview":0 [ENABLED]
> -> "OMAP3 ISP AEWB":0 [ENABLED,IMMUTABLE]
> -> "OMAP3 ISP AF":0 [ENABLED,IMMUTABLE]
> -> "OMAP3 ISP histogram":0 [ENABLED,IMMUTABLE]
>
> - entity 19: OMAP3 ISP CCDC output (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video2
> pad0: Sink
> <- "OMAP3 ISP CCDC":1 []
>
> - entity 23: OMAP3 ISP preview (2 pads, 4 links)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev3
> pad0: Sink
> [fmt:SGRBG10_1X10/1298x969 field:none
> crop.bounds:(10,4)/1280x961
> crop:(10,4)/1280x961]
> <- "OMAP3 ISP CCDC":2 [ENABLED]
> <- "OMAP3 ISP preview input":0 []
> pad1: Source
> [fmt:UYVY8_1X16/1280x961 field:none]
> -> "OMAP3 ISP preview output":0 []
> -> "OMAP3 ISP resizer":0 [ENABLED]
>
> - entity 26: OMAP3 ISP preview input (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video3
> pad0: Source
> -> "OMAP3 ISP preview":0 []
>
> - entity 30: OMAP3 ISP preview output (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video4
> pad0: Sink
> <- "OMAP3 ISP preview":1 []
>
> - entity 34: OMAP3 ISP resizer (2 pads, 4 links)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev4
> pad0: Sink
> [fmt:UYVY8_1X16/1280x961 field:none
> crop.bounds:(0,0)/1280x961
> crop:(0,0)/1280x961]
> <- "OMAP3 ISP CCDC":1 []
> <- "OMAP3 ISP preview":1 [ENABLED]
> <- "OMAP3 ISP resizer input":0 []
> pad1: Source
> [fmt:UYVY8_1X16/320x240 field:none]
> -> "OMAP3 ISP resizer output":0 [ENABLED]
>
> - entity 37: OMAP3 ISP resizer input (1 pad, 1 link)
> type Node subtype V4L flags 0
> device node name /dev/video5
> pad0: Source
> -> "OMAP3 ISP resizer":0 []
>
> - entity 41: OMAP3 ISP resizer output (1 pad, 1 link)
> type Node subtype V4L flags 1
> device node name /dev/video6
> pad0: Sink
> <- "OMAP3 ISP resizer":1 [ENABLED]
>
> - entity 45: OMAP3 ISP AEWB (1 pad, 1 link)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev5
> pad0: Sink
> <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]
>
> - entity 47: OMAP3 ISP AF (1 pad, 1 link)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev6
> pad0: Sink
> <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]
>
> - entity 49: OMAP3 ISP histogram (1 pad, 1 link)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev7
> pad0: Sink
> <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]
>
> - entity 81: mt9p031 1-0048 (1 pad, 1 link)
> type V4L2 subdev subtype Unknown flags 0
> device node name /dev/v4l-subdev8
> pad0: Source
> [fmt:SGRBG12_1X12/1298x970 field:none
> crop:(664,542)/1298x970]
> -> "OMAP3 ISP CCDC":0 [ENABLED]
>
> #
>
> Unfortunately, when I run ffmpeg, I get a nothing but white pixels but
> the resolution matches the resolution I configured as 320x240.
>
> export LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so
> ffmpeg -an -re -i /dev/video6 -f v4l2 -vcodec rawvideo -pix_fmt
> rgb565le -f fbdev /dev/fb0
>
>
> I got a bunch of repeated messages that read:
> libv4l2: error dequeuing buf: Resource temporarily unavailable
Could you see what does videobuf2 / V4L2 IOCTL handler tells? This should be
roughly be enabled by:
echo "file v4l2-ioctl.c +p" > /where/is/debugfs/dynamic_debug/control
echo 1 > /sys/module/videobuf2_v4l2/parameters/debug
echo 1 > /sys/module/videobuf2_core/parameters/debug
And finally use dmesg to view the logs.
I have to admit I haven't used GStreamer for a while, perhaps the kernel
logs could tell something.
Cc Laurent as well.
--
Regards,
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-06-26 16:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-21 21:34 OMAP3630 ISP V4L2 Camera Not Streaming to LCD Adam Ford
2017-06-26 16:19 ` Sakari Ailus
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.