From d515a17762da3f2142b25abd82a5236550d60ed1 Mon Sep 17 00:00:00 2001 From: Jacek Anaszewski Date: Tue, 20 Sep 2016 11:39:45 +0200 Subject: v4l2-jpeg-codec-test: Added support for Exynos3250 SoC JPEG device variant Signed-off-by: Jacek Anaszewski Signed-off-by: Sylwester Nawrocki --- v4l2-jpeg-codec-test/run_fmt_test.sh | 105 ++++++++++++++++++++++++++++------- 1 file changed, 85 insertions(+), 20 deletions(-) (limited to 'v4l2-jpeg-codec-test/run_fmt_test.sh') diff --git a/v4l2-jpeg-codec-test/run_fmt_test.sh b/v4l2-jpeg-codec-test/run_fmt_test.sh index 4f41f81..7b09073 100644 --- a/v4l2-jpeg-codec-test/run_fmt_test.sh +++ b/v4l2-jpeg-codec-test/run_fmt_test.sh @@ -1,33 +1,98 @@ #!/bin/bash +EXYNOS_3250="3250" +EXYNOS_4x12="4x12" +OUT_DIR="out" + formats=(FMT_JPEG - FMT_RGB565 - FMT_RGB32 - FMT_YUYV - FMT_YVYU - FMT_NV24 - FMT_NV42 - FMT_NV16 - FMT_NV61 - FMT_NV12 - FMT_NV21 - FMT_YUV420 - FMT_GRAY) + FMT_RGB565 + FMT_RGB565X + FMT_RGB32 + FMT_BGR32 + FMT_YUYV + FMT_YVYU + FMT_UYVY + FMT_VYUY + FMT_NV24 + FMT_NV42 + FMT_NV16 + FMT_NV61 + FMT_NV12 + FMT_NV21 + FMT_YUV420 + FMT_GREY +) + +num_formats=${#formats[@]} +for ((i=0; i < $num_formats; i++)); do + name=${formats[i]} + declare -r ${name}=$i +done + +formats_4x12=($FMT_JPEG + $FMT_RGB565 + $FMT_RGB32 + $FMT_YUYV + $FMT_YVYU + $FMT_NV24 + $FMT_NV42 + $FMT_NV16 + $FMT_NV61 + $FMT_NV12 + $FMT_NV21 + $FMT_YUV420 + $FMT_GRAY) + +formats_3250=($FMT_JPEG + $FMT_RGB565 + $FMT_RGB565X + $FMT_RGB32 + $FMT_YUYV + $FMT_YVYU + $FMT_UYVY + $FMT_VYUY + $FMT_NV12 + $FMT_NV21 + $FMT_YUV420) + +if [ "$1" == $EXYNOS_3250 ] +then + test_formats=( "${formats_3250[@]}" ) + echo "Running tests for Exynos3250" +else + test_formats=( "${formats_4x12[@]}" ) + echo "Running tests for Exynos4x12" +fi + +rm -r $OUT_DIR +mkdir $OUT_DIR CNT=1 JPEG_ENC_NODE=`dmesg | awk '/s5p-jpeg.*encoder/ {print substr($0, length($0), 1)}'` JPEG_DEC_NODE=`dmesg | awk '/s5p-jpeg.*decoder/ {print substr($0, length($0), 1)}'` -while [ $CNT -ne ${#formats[@]} ] +while [ $CNT -ne ${#test_formats[@]} ] do - echo "============== jpeg -> "${formats[$CNT]}" ==============" + fmt_name=${formats[${test_formats[$CNT]}]} + echo "============== jpeg -> "$fmt_name" ==============" - ./test-jpeg -m1 -f$1 -oout_${formats[$CNT]}.raw -v$JPEG_DEC_NODE -r$CNT | tee out_dec - WIDTH=`cat out_dec | awk '/output image dimensions/ {print $4}' | awk -Fx '{print $1}'` - HEIGHT=`cat out_dec | awk '/output image dimensions/ {print $4}' | awk -Fx '{print $2}'` - echo "parsed: "$WIDTH"x"$HEIGHT + ./test-jpeg -m1 -f$2 -oout.raw -v$JPEG_DEC_NODE -r${test_formats[$CNT]} -s$3 | tee out_dec + JPEG_WIDTH=`cat out_dec | awk '/input JPEG dimensions/ {print $4}' | awk -Fx '{print $1}'` + JPEG_HEIGHT=`cat out_dec | awk '/input JPEG dimensions/ {print $4}' | awk -Fx '{print $2}'` + RAW_WIDTH=`cat out_dec | awk '/output image dimensions/ {print $4}' | awk -Fx '{print $1}'` + RAW_HEIGHT=`cat out_dec | awk '/output image dimensions/ {print $4}' | awk -Fx '{print $2}'` + SCALED_WIDTH=`cat out_dec | awk '/active area dimensions/ {print $4}' | awk -Fx '{print $1}'` + SCALED_HEIGHT=`cat out_dec | awk '/active area dimensions/ {print $4}' | awk -Fx '{print $2}'` + OUTPUT_FOURCC=`cat out_dec | awk '/output format set/ {print $4}' | awk -F_ '{print $4}'` + OUTFORM=FMT_${OUTPUT_FOURCC} + JPEG_SIZE=$JPEG_WIDTH"_"$JPEG_HEIGHT + FMT_DESC=$(printf "%s_%sx%s" $fmt_name $SCALED_WIDTH $SCALED_HEIGHT) + mv out.raw $OUT_DIR/out_$JPEG_SIZE-$FMT_DESC.raw - echo "============== "${formats[$CNT]}" -> jpeg ==============" - ./test-jpeg -m0 -fout_${formats[$CNT]}.raw -oout_${formats[$CNT]}.jpeg -w$WIDTH -h$HEIGHT -v$JPEG_ENC_NODE -r$CNT -c0 -p0 + echo "============== "$fmt_name" -> jpeg ==============" + ./test-jpeg -m0 -f$OUT_DIR/out_$JPEG_SIZE-$FMT_DESC.raw -o$OUT_DIR/out_$JPEG_SIZE-$FMT_DESC.jpeg -w$RAW_WIDTH -h$RAW_HEIGHT -v$JPEG_ENC_NODE -r${!OUTFORM} -c0 -p0 -l0 -t0 -x$SCALED_WIDTH -y$SCALED_HEIGHT + rm $OUT_DIR/out_$JPEG_SIZE-$FMT_DESC.raw (( CNT++ )) done + +tar czf out.tar.gz ./out -- cgit v1.2.3