This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:
Subject: test-media: add vicodec tests Author: Hans Verkuil <hverkuil-ci...@xs4all.nl> Date: Wed Mar 13 15:13:19 2019 +0100 Add vicodec tests. Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl> contrib/test/test-media | 158 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 154 insertions(+), 4 deletions(-) --- http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=08fed4d0edb1492b91d9d1054c36fed95c372eaa diff --git a/contrib/test/test-media b/contrib/test/test-media index 54adfd10058e..7ca440dc9f4f 100755 --- a/contrib/test/test-media +++ b/contrib/test/test-media @@ -7,6 +7,7 @@ vivid=0 vim2m=0 vimc=0 +vicodec=0 cec=0 cecpwr=--skip-test-standby-resume kmemleak=0 @@ -51,9 +52,10 @@ if [ -z "$1" ]; then echo "vivid: test the vivid driver" echo "vim2m: test the vim2m driver" echo "vimc: test the vimc driver" + echo "vicodec: test the vicodec driver" echo "cec: adds the vivid CEC compliance tests, 'cec-pwr' adds the CEC standby/wakeup tests." - echo "all: equals 'vivid vim2m vimc cec cec-pwr'" - echo "mc: equals 'vivid vim2m vimc'" + echo "all: equals 'vivid vim2m vimc vicodec cec cec-pwr'" + echo "mc: equals 'vivid vim2m vimc vicodec'" exit 0 fi @@ -81,6 +83,7 @@ while [ ! -z "$1" ]; do vivid=1 vim2m=1 vimc=1 + vicodec=1 cec=1 cecpwr= ;; @@ -88,6 +91,7 @@ while [ ! -z "$1" ]; do vivid=1 vim2m=1 vimc=1 + vicodec=1 ;; vivid) vivid=1 @@ -98,6 +102,9 @@ while [ ! -z "$1" ]; do vimc) vimc=1 ;; + vicodec) + vicodec=1 + ;; cec) cec=1 ;; @@ -120,6 +127,8 @@ fi modprobe vivid n_devs=3 multiplanar=1,2,2 #allocators=0,1,1 sleep 1 +tmp=`mktemp` + v4l2-ctl -z platform:vivid-000 -d vivid-000-vid-cap -i3 -v width=3840,height=2160,pixelformat=NV24 v4l2-ctl -z platform:vivid-000 -d vivid-000-vid-out -o1 -x width=3840,height=2160,pixelformat=NV24 v4l2-ctl -z platform:vivid-001 -d vivid-001-vid-cap -i3 -v width=3840,height=2160,pixelformat=NM16 @@ -129,8 +138,6 @@ v4l2-ctl -z platform:vivid-002 -d vivid-002-vid-out -o1 -x width=3840,height=216 echo -tmp=`mktemp` - if [ $vivid -eq 1 ]; then dmesg -n notice echo @@ -401,6 +408,149 @@ if [ $vimc -eq 1 ]; then fi fi +if [ $vicodec -eq 1 ]; then + tmpdir=`mktemp -d` + + modprobe vicodec + sleep 2 + dmesg -n notice + echo + echo vicodec media controller compliance tests + echo + date + stdbuf -oL v4l2-compliance -M platform:vicodec 2>&1 | tee -a $tmp + + echo + echo vicodec encoder compliance tests + echo + stdbuf -oL v4l2-compliance -z platform:vicodec -d stateful-encoder-source -z platform:vivid-002 -e vivid-002-vid-cap -s10 -P -a 2>&1 | tee -a $tmp + + echo + echo vicodec create test files + echo + + encful_opts='-z platform:vicodec -d stateful-encoder-source --stream-mmap --stream-out-mmap --stream-out-hor-speed=1' + v4l2-ctl $encful_opts --stream-count=24 --stream-to-hdr=$tmpdir/comp.hdr.yu12.1280.24 + v4l2-ctl $encful_opts --stream-count=24 --stream-to=$tmpdir/comp.yu12.1280.24 + v4l2-ctl $encful_opts --stream-count=1 --stream-to-hdr=$tmpdir/comp.hdr.yu12.1280.1 + v4l2-ctl $encful_opts --stream-count=1 --stream-to=$tmpdir/comp.yu12.1280.1 + v4l2-ctl $encful_opts --stream-count=2 --stream-to-hdr=$tmpdir/comp.hdr.yu12.1280.2 + v4l2-ctl $encful_opts --stream-count=2 --stream-to=$tmpdir/comp.yu12.1280.2 + v4l2-ctl $encful_opts -x width=1920,height=1080 --set-selection-output target=crop,height=1080 --stream-count=24 --stream-to-hdr=$tmpdir/comp.hdr.yu12.1920.24 + v4l2-ctl $encful_opts -x width=1920,height=1080 --set-selection-output target=crop,height=1080 --stream-count=24 --stream-to=$tmpdir/comp.yu12.1920.24 + v4l2-ctl $encful_opts -x width=1920,height=1080 --set-selection-output target=crop,height=1080 --stream-count=1 --stream-to-hdr=$tmpdir/comp.hdr.yu12.1920.1 + v4l2-ctl $encful_opts -x width=1920,height=1080 --set-selection-output target=crop,height=1080 --stream-count=1 --stream-to=$tmpdir/comp.yu12.1920.1 + v4l2-ctl $encful_opts -x width=1920,height=1080 --set-selection-output target=crop,height=1080 --stream-count=2 --stream-to-hdr=$tmpdir/comp.hdr.yu12.1920.2 + v4l2-ctl $encful_opts -x width=1920,height=1080 --set-selection-output target=crop,height=1080 --stream-count=2 --stream-to=$tmpdir/comp.yu12.1920.2 + + cat $tmpdir/comp.hdr.yu12.1280.1 $tmpdir/comp.hdr.yu12.1920.1 >$tmpdir/comp.hdr.yu12.mix.2 + cat $tmpdir/comp.yu12.1280.1 $tmpdir/comp.yu12.1920.1 >$tmpdir/comp.yu12.mix.2 + cat $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 $tmpdir/comp.hdr.yu12.mix.2 >$tmpdir/comp.hdr.yu12.mix.2.12 + cat $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 $tmpdir/comp.yu12.mix.2 >$tmpdir/comp.yu12.mix.2.12 + cat $tmpdir/comp.hdr.yu12.1280.2 $tmpdir/comp.hdr.yu12.1920.2 >$tmpdir/comp.hdr.yu12.mix.4 + cat $tmpdir/comp.yu12.1280.2 $tmpdir/comp.yu12.1920.2 >$tmpdir/comp.yu12.mix.4 + cat $tmpdir/comp.hdr.yu12.mix.4 $tmpdir/comp.hdr.yu12.mix.4 $tmpdir/comp.hdr.yu12.mix.4 $tmpdir/comp.hdr.yu12.mix.4 $tmpdir/comp.hdr.yu12.mix.4 $tmpdir/comp.hdr.yu12.mix.4 >$tmpdir/comp.hdr.yu12.mix.4.6 + cat $tmpdir/comp.yu12.mix.4 $tmpdir/comp.yu12.mix.4 $tmpdir/comp.yu12.mix.4 $tmpdir/comp.yu12.mix.4 $tmpdir/comp.yu12.mix.4 $tmpdir/comp.yu12.mix.4 >$tmpdir/comp.yu12.mix.4.6 + + echo + echo vicodec decoder compliance tests + echo + decful_opts='-z platform:vicodec -d stateful-decoder-source -z platform:vivid-002 -e vivid-002-vid-cap' + stdbuf -oL v4l2-compliance $decful_opts --stream-from-hdr=$tmpdir/comp.hdr.yu12.1280.24 -s24 -P -a 2>&1 | tee -a $tmp + stdbuf -oL v4l2-compliance $decful_opts --stream-from $tmpdir/comp.yu12.1280.24 -s24 -P -a 2>&1 | tee -a $tmp + stdbuf -oL v4l2-compliance $decful_opts --stream-from-hdr $tmpdir/comp.hdr.yu12.mix.4.6 -s24 -P -a 2>&1 | tee -a $tmp + stdbuf -oL v4l2-compliance $decful_opts --stream-from $tmpdir/comp.yu12.mix.4.6 -s24 -P -a 2>&1 | tee -a $tmp + stdbuf -oL v4l2-compliance $decful_opts --stream-from-hdr $tmpdir/comp.hdr.yu12.mix.2.12 -s24 -P -a 2>&1 | tee -a $tmp + stdbuf -oL v4l2-compliance $decful_opts --stream-from $tmpdir/comp.yu12.mix.2.12 -s24 -P -a 2>&1 | tee -a $tmp + + decful_opts='-z platform:vicodec -d stateful-decoder-source --stream-mmap --stream-out-mmap' + decless_opts='-z platform:vicodec -d stateless-decoder-source --stream-mmap --stream-out-mmap' + echo + echo stateful decode + echo + v4l2-ctl $decful_opts --stream-from-hdr=$tmpdir/comp.hdr.yu12.1280.24 --stream-to=$tmpdir/raw.yu12.1280.24 + echo + echo stateless decode + echo + cp $tmpdir/comp.yu12.1280.24 /home/hans + v4l2-ctl $decless_opts --stream-from-hdr=$tmpdir/comp.hdr.yu12.1280.24 --stream-to=$tmpdir/raw.yu12.1280.24.stateless + cmp $tmpdir/raw.yu12.1280.24 $tmpdir/raw.yu12.1280.24.stateless + + echo + echo stateful decode with dynamic resolution changes for every frame + echo + v4l2-ctl $decful_opts --stream-from-hdr=$tmpdir/comp.hdr.yu12.mix.2.12 --stream-to=$tmpdir/raw.yu12.mix.2.12 + # v4l2-ctl does not yet reallocate buffers if they are too small for the new format + v4l2-ctl $decless_opts -v width=1920,height=1088 --stream-from-hdr=$tmpdir/comp.hdr.yu12.mix.2.12 --stream-to=$tmpdir/raw.yu12.mix.2.12.stateless + cmp $tmpdir/raw.yu12.mix.2.12 $tmpdir/raw.yu12.mix.2.12.stateless + + echo + echo stateful decode with dynamic resolution changes for every other frame + echo + v4l2-ctl $decful_opts --stream-from-hdr=$tmpdir/comp.hdr.yu12.mix.4.6 --stream-to=$tmpdir/raw.yu12.mix.4.6 + # v4l2-ctl does not yet reallocate buffers if they are too small for the new format + v4l2-ctl $decless_opts -v width=1920,height=1088 --stream-from-hdr=$tmpdir/comp.hdr.yu12.mix.4.6 --stream-to=$tmpdir/raw.yu12.mix.4.6.stateless + cmp $tmpdir/raw.yu12.mix.4.6 $tmpdir/raw.yu12.mix.4.6.stateless + + ls -l $tmpdir + cp $tmpdir/* /home/hans/tmp + + rm -rf $tmpdir + echo + echo + echo + echo + echo + echo + echo + echo + echo + echo unbind vicodec + echo + echo -n vicodec.0 >/sys/bus/platform/drivers/vicodec/unbind + sleep $unbind_time + echo + echo rebind vicodec + echo + echo -n vicodec.0 >/sys/bus/platform/drivers/vicodec/bind + sleep 1 + echo + echo second unbind vicodec + echo + for i in `v4l2-ctl -z platform:vicodec --list-devices`; do + let "t = 1 + $RANDOM / 4096" + echo $i: sleep ${t}s + sleep $t <$i & + done + sleep 1 + echo + echo -n vicodec.0 >/sys/bus/platform/drivers/vicodec/unbind + sleep $reunbind_time + echo + echo rmmod vicodec + echo + rmmod vicodec + sleep $rmmod_time + if [ $kmemleak -eq 1 ]; then + echo + echo kmemleak results for vicodec: + echo + echo scan >/sys/kernel/debug/kmemleak + cat /sys/kernel/debug/kmemleak + echo + echo end of kmemleak results + echo clear >/sys/kernel/debug/kmemleak + fi + echo + echo + echo + echo + echo + echo + echo + echo +fi + date echo echo unbind vivid _______________________________________________ linuxtv-commits mailing list linuxtv-commits@linuxtv.org https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits