#!/bin/bash
|
echo "======================================================="
|
echo " Test all camera(rkisp_demo)"
|
echo "======================================================="
|
if [ $# -eq 0 ];
|
then
|
echo "If you want to test rkisp/rkaiq camera 1000 times"
|
echo "CMD: camera_stresstest.sh 1000"
|
exit
|
fi
|
#num is test times
|
TEST_NUM=0;
|
#cam link num
|
CAM_NUM=0;
|
#media node max
|
MEDIA_MAX=20;
|
#cif path node name
|
CIF_PATH="stream_cif"
|
#isp path node name
|
ISP_PATH="rkisp_mainpath"
|
for i in $(seq 0 $MEDIA_MAX); do
|
MEDIA_DEV=/dev/media$i
|
ISP_NODE=$(media-ctl -d $MEDIA_DEV -e $ISP_PATH)
|
CIF_NODE=$(media-ctl -d $MEDIA_DEV -e $CIF_PATH)
|
Link=$(media-ctl -d $MEDIA_DEV -p | grep "0 link")
|
|
if echo $ISP_NODE | grep -q "^/dev/video"
|
then
|
CAM_NUM=$(($CAM_NUM + 1));
|
eval VIDEO_NODE$i=$ISP_NODE;
|
echo " Check /dev/media$i is ISP-camera($(eval echo \$VIDEO_NODE$i))"
|
elif echo $CIF_NODE | grep -q "^/dev/video"
|
then
|
CAM_NUM=$(($CAM_NUM + 1));
|
if echo $Link | grep -q "0 link"
|
then
|
CAM_NUM=$(($CAM_NUM - 1));
|
eval VIDEO_NODE$i="";
|
echo " Check /dev/media$i didn't link anycamera($(eval echo \$VIDEO_NODE$i)) "
|
else
|
eval VIDEO_NODE$i=$CIF_NODE;
|
echo " Check /dev/media$i is CIF-camera($(eval echo \$VIDEO_NODE$i))"
|
fi
|
else
|
VID_NUM=$i;
|
echo ""
|
echo " Test camera(Cam_num=$CAM_NUM) $1 times"
|
echo "======================================================="
|
# break;
|
fi
|
done
|
VID_NUM=$(($VID_NUM -1));
|
|
while [ $TEST_NUM -lt $1 ]
|
do
|
#init test
|
i=0;
|
for i in $(seq 0 $CAM_NUM); do
|
VIDEO_DEV=$(eval echo \$VIDEO_NODE$i);
|
if echo $VIDEO_DEV | grep -q "^/dev/video"
|
then
|
rkisp_demo --device=$VIDEO_DEV --stream-to=/tmp/video$i.yuv --count=100;
|
echo "======================================================="
|
echo " camera $(eval echo \$VIDEO_NODE$i) No.($TEST_NUM) out /tmp/video$i.yuv is ok!";
|
echo "======================================================="
|
sleep 1;
|
fi
|
done;
|
TEST_NUM=$(($TEST_NUM +1));
|
done;
|