xref: /OK3568_Linux_fs/debian/overlay-debug/rockchip-test/camera/camera_stresstest_v4l2.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/bash
2
3COUNT=1
4
5v4l2-ctl --list-devices > /tmp/.v4l2_list
6ISP_VIDEO=($(awk '/rkisp_mainpath/{getline a;print a}' /tmp/.v4l2_list))
7CIF_VIDEO=($(awk '/stream_cif/{getline a;print a}' /tmp/.v4l2_list))
8USB_VIDEO=($(awk '/usb/{getline a;print a}' /tmp/.v4l2_list))
9echo "======================================================="
10echo "              Test all Cameras (By v4l2)               "
11echo "======================================================="
12echo "Found ${#ISP_VIDEO[@]} isp cameras, ${#CIF_VIDEO[@]} cif cameras, ${#USB_VIDEO[@]} usb cameras"
13
14
15while true;do
16	NOW=`date`
17	TIME_LABEL="====== Count:$COUNT Time: $NOW ======"
18	echo $TIME_LABEL
19	COUNT=$(expr $COUNT + 1 )
20
21	for j in ${USB_VIDEO[*]}
22		do
23		 echo "====== Capture USB Camera Path $j By v4l2 ======"
24		 v4l2-ctl -d "$j" --set-fmt-video=width=640,height=480,pixelformat=YUYV --stream-mmap=3 --stream-count=5 --stream-poll --stream-to=/tmp/camera.yuyv
25
26		 size=`ls -l /tmp/camera.yuyv | awk '{print $5}'`
27		 if [ $size -eq 3072000 ] ;then
28			rm -rf /tmp/camera.yuyv
29		 else
30			echo "Exit Capture USB Camera: Capture Wrong Size$size"
31			exit 1
32		 fi
33		done
34
35	for i in ISP_VIDEO CIF_VIDEO
36	do
37		eval value=\${${i}[@]}
38		for j in $value
39		do
40		 echo "====== Capture ISP or CIF Camera Path $j By ======"
41		 v4l2-ctl -d "$j" --set-fmt-video=width=640,height=480,pixelformat=NV12 --stream-mmap=3 --stream-count=5 --stream-poll --stream-to=/tmp/camera.nv12
42		 size=`ls -l /tmp/camera.nv12 | awk '{print $5}'`
43
44		 if [ $size -eq 2304000 ] ;then
45			rm -rf /tmp/camera.nv12
46		 else
47			echo "Exit Capture ISP or CIF Camera: Capture Wrong Size$size"
48			exit 1
49		 fi
50		done
51	done
52
53done
54	echo END $TIME_LABEL
55