#!/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; 
 |