diff options
Diffstat (limited to 'abs/core-testing/test-pattern')
-rw-r--r-- | abs/core-testing/test-pattern/PKGBUILD | 16 | ||||
-rwxr-xr-x | abs/core-testing/test-pattern/test_pattern.bash | 326 |
2 files changed, 0 insertions, 342 deletions
diff --git a/abs/core-testing/test-pattern/PKGBUILD b/abs/core-testing/test-pattern/PKGBUILD deleted file mode 100644 index 7ac825b..0000000 --- a/abs/core-testing/test-pattern/PKGBUILD +++ /dev/null @@ -1,16 +0,0 @@ -pkgname=test-pattern -pkgver=1.0 -pkgrel=6 -arch=('i686') -pkgdesc="script to create test pattern videos" -depends=(imagemagick) -license=('GPL') -source=(test_pattern.bash) - -build() { - cd $startdir/src -# mkdir $startdir/pkg/usr/bin/ - install -m755 -D test_pattern.bash $startdir/pkg/usr/bin/test_pattern.bash -} - -md5sums=('3a427a5dee0763c6b0a5938fedbde883') diff --git a/abs/core-testing/test-pattern/test_pattern.bash b/abs/core-testing/test-pattern/test_pattern.bash deleted file mode 100755 index d220fb0..0000000 --- a/abs/core-testing/test-pattern/test_pattern.bash +++ /dev/null @@ -1,326 +0,0 @@ -#!/bin/bash - -# Set default options to be overriden by command line arguments. - -w=400 -h=325 -rate=50 -TEMPDIR= -unset remove_tempdir -interlaced= -aspect_ratio= -bitrate= - -while getopts ":w:h:t:r:ia:b:" opt; do - case $opt in - w) - w=$OPTARG - ;; - h) - h=$OPTARG - ;; - t) - TEMPDIR=$OPTARG - ;; - r) - rate=$OPTARG - ;; - i) - interlaced=TRUE - ;; - a) - aspect_ratio=$OPTARG - ;; - b) - bitrate=$OPTARG - ;; - \?) - echo -n "\ -Error: Invalid option -$OPTARG - -Usage: - test_pattern.bash [options] - -w width - The width in pixels. - -h height - The height in pixels. - -t tempdir - Temporary directory for intermediate files. If no directory is specified, one is created and deleted at the end of processing. - -r fieldrate - -i - Generate an interlaced test pattern - -a n:m - Aspect ratio of generated video. - -b bitrate - Bitrate used for encoding. - -Example: -test_pattern.bash -w 1440 -h 1080 -t temp -r 50 -i -a 16:9 -b 12000k -" - exit 1 - esac -done - -if [ -z "$aspect_ratio" ] ; then - aspect_ratio="${w}:${h}" -fi - -aspectx=$(echo $aspect_ratio | cut -d: -f1) -aspecty=$(echo $aspect_ratio | cut -d: -f2) - -# Calculate some dimensions based on the requested size. - -barw=$((w/32)) -barstep=$((w/90)) -barstart=$((-barw/barstep-1)) - -frames=$((w/2)) - -unity=$((h*2/27)) -unitx=$((unity*aspecty*w/(aspectx*h))) -gridlw=$((unity*3/43)) - -echo unity=$unity -echo unitx=$unitx - -nvgrid=$(((h-gridlw)/unity)) -nhgrid=$(((((w-gridlw)/unitx)-1)/2*2+1)) - -gridstartx=$((w/2-(nhgrid*unitx+gridlw)/2-1)) -gridstarty=$((h/2-(nvgrid*unity+gridlw)/2-1)) - -echo nvgrid=$nvgrid -echo nhgrid=$nhgrid -echo gridstartx=$gridstartx -echo gridstarty=$gridstarty - -echo parsed tempdir $TEMPDIR - -if [ -z "$TEMPDIR" ] ; then - TEMPDIR=$(mktemp -d --tmpdir=/tmp) - remove_tempdir=1 -else - if [ ! -d "$TEMPDIR" ] ; then - mkdir $TEMPDIR - fi -fi - -echo parsed tempdir $TEMPDIR $remove_tempdir - -unset checker -checker=( -fill "rgb(192,192,192)" ) -for ((g=-9;g<=7;g=g+2)) ; do - checker=( "${checker[@]}" - -draw - "rectangle $((w/2+g*unitx*7/10)),$((gridstarty+unity*3+gridlw)) $((w/2+(g+1)*unitx*7/10)),$((gridstarty+unity*4+gridlw))" ) -done - -checker=( "${checker[@]}" -fill black ) -for ((g=-8;g<=8;g=g+2)) ; do - checker=( "${checker[@]}" - -draw - "rectangle $((w/2+g*unitx*7/10)),$((gridstarty+unity*3+gridlw)) $((w/2+(g+1)*unitx*7/10)),$((gridstarty+unity*4+gridlw))" ) -done - -unset stripe -stripe=( -fill white ) - -for ((g=0;g<5;g++)) ; do - startx=$((w/2+(3-g*2)*unitx)) - endx=$((startx+2*unitx)) - - for ((x=startx;x<endx;x=x+2*(g+1))) ; do - stripe=( "${stripe[@]}" - -draw - "rectangle $x,$((gridstarty+unity*7+gridlw)) $((x+g)),$((gridstarty+unity*9+gridlw))" ) - done -done - -for ((g=0;g<13;g++)) ; do - stripe=( "${stripe[@]}" - -draw - "rectangle $((gridstartx+(nhgrid/2-6+g)*unitx)),$((gridstarty+unity*6+gridlw)) $((gridstartx+(nhgrid/2-6+g)*unitx+gridlw)),$((gridstarty+unity*7+gridlw-1))" ) -done - -convert -size ${w}x${h} xc:white \ - -fill "rgb(204,204,0)" \ - -draw "rectangle $((w/2-6*unitx)),$((gridstarty+unity*4+gridlw)) $((w/2-4*unitx)),$((gridstarty+unity*6+gridlw))" \ - -draw "rectangle $((w/2-6*unitx)),$((gridstarty+unity*11+gridlw)) $((w/2+6*unitx)),$((gridstarty+unity*13+gridlw))" \ - -fill "rgb(0,204,204)" \ - -draw "rectangle $((w/2-4*unitx)),$((gridstarty+unity*4+gridlw)) $((w/2-2*unitx)),$((gridstarty+unity*6+gridlw))" \ - -fill "rgb(0,204,0)" \ - -draw "rectangle $((w/2-2*unitx)),$((gridstarty+unity*4+gridlw)) $((w/2-0*unitx)),$((gridstarty+unity*6+gridlw))" \ - -fill "rgb(204,0,204)" \ - -draw "rectangle $((w/2-0*unitx)),$((gridstarty+unity*4+gridlw)) $((w/2+2*unitx)),$((gridstarty+unity*6+gridlw))" \ - -fill "rgb(204,0,0)" \ - -draw "rectangle $((w/2+2*unitx)),$((gridstarty+unity*4+gridlw)) $((w/2+4*unitx)),$((gridstarty+unity*6+gridlw))" \ - -draw "rectangle $((w/2-unitx/2)),$((gridstarty+unity*11+gridlw)) $((w/2+unitx/2)),$((gridstarty+unity*13+gridlw))" \ - -fill "rgb(0,0,204)" \ - -draw "rectangle $((w/2+4*unitx)),$((gridstarty+unity*4+gridlw)) $((w/2+6*unitx)),$((gridstarty+unity*6+gridlw))" \ -\ - -fill black \ - -draw "rectangle $((w/2-6*unitx)),$((gridstarty+unity*6+gridlw)) $((w/2+6*unitx)),$((gridstarty+unity*9+gridlw))" \ - "${stripe[@]}" \ - -fill black \ - -draw "rectangle $((w/2-(unitx-gridlw)/2)),$((gridstarty+unity*5+gridlw)) $((w/2+(unitx-gridlw)/2-1)),$((gridstarty+unity*8+gridlw))" \ - -fill white \ - -draw "rectangle $((w/2-6*unitx)),$((h/2-gridlw/2)) $((w/2+6*unitx)),$((h/2-gridlw/2+gridlw))" \ - -draw "rectangle $((w/2-gridlw/2)),$((gridstarty+unity*5+gridlw)) $((w/2-gridlw/2+gridlw)),$((gridstarty+unity*8+gridlw))" \ -\ - -fill "rgb(0,0,0)" \ - -draw "rectangle $((w/2-6*unitx)),$((gridstarty+unity*9+gridlw)) $((w/2-4*unitx)),$((gridstarty+unity*10+gridlw))" \ - -fill "rgb(51,51,51)" \ - -draw "rectangle $((w/2-4*unitx)),$((gridstarty+unity*9+gridlw)) $((w/2-2*unitx)),$((gridstarty+unity*10+gridlw))" \ - -fill "rgb(102,102,102)" \ - -draw "rectangle $((w/2-2*unitx)),$((gridstarty+unity*9+gridlw)) $((w/2-0*unitx)),$((gridstarty+unity*10+gridlw))" \ - -fill "rgb(153,153,153)" \ - -draw "rectangle $((w/2-0*unitx)),$((gridstarty+unity*9+gridlw)) $((w/2+2*unitx)),$((gridstarty+unity*10+gridlw))" \ - -fill "rgb(204,204,204)" \ - -draw "rectangle $((w/2+2*unitx)),$((gridstarty+unity*9+gridlw)) $((w/2+4*unitx)),$((gridstarty+unity*10+gridlw))" \ - -fill "rgb(255,255,255)" \ - -draw "rectangle $((w/2+4*unitx)),$((gridstarty+unity*9+gridlw)) $((w/2+6*unitx)),$((gridstarty+unity*10+gridlw))" \ -\ - -fill black \ - -draw "rectangle $((w/2-2*unitx)),$((gridstarty+unity*1+gridlw)) $((w/2+2*unitx)),$((gridstarty+unity*2+gridlw))" \ - -draw "rectangle $((w/2-6*unitx)),$((gridstarty+unity*2+gridlw)) $((w/2-3*unitx)),$((gridstarty+unity*3+gridlw))" \ - -draw "rectangle $((w/2+6*unitx)),$((gridstarty+unity*2+gridlw)) $((w/2+3*unitx)),$((gridstarty+unity*3+gridlw))" \ - -draw "rectangle $((gridstartx+(nhgrid/2-2)*unitx)),$((gridstarty+unity*2+gridlw)) $((gridstartx+(nhgrid/2-2)*unitx+gridlw)),$((gridstarty+unity*3+gridlw))" \ - -draw "rectangle $((w/2-3*unitx+1)),$((gridstarty+unity*10+gridlw)) $((w/2+3*unitx)),$((gridstarty+unity*11+gridlw))" \ - -fill white \ - -draw "rectangle $((gridstartx+(nhgrid/2-2)*unitx)),$((gridstarty+unity*10+gridlw)) $((gridstartx+(nhgrid/2-2)*unitx+gridlw)),$((gridstarty+unity*11+gridlw))" \ - "${checker[@]}" \ - ${TEMPDIR}/centre.png - -convert -size ${w}x${h} xc:black \ - -fill white \ - -draw "ellipse $((w/2)),$((h/2)) $((6*unitx)),$((6*unity)) 0,360" \ - ${TEMPDIR}/circle.png - -unset drawgrid -drawgrid=( -fill white ) -for ((g=0;g<=$nhgrid;g++)) ; do - drawgrid=( "${drawgrid[@]}" - -draw - "rectangle $((gridstartx+g*unitx)),0 $((gridstartx+g*unitx+gridlw)),$h" ) -done - -for ((g=0;g<=$nvgrid;g++)) ; do - drawgrid=( "${drawgrid[@]}" - -draw - "rectangle 0,$((gridstarty+g*unity)) $w,$((gridstarty+g*unity+gridlw))" ) -done - -drawgrid=( "${drawgrid[@]}" - -draw "rectangle 0,0 $gridstartx,$h" - -draw "rectangle 0,0 $w,$gridstarty" - -draw "rectangle $w,$h $((gridstartx+nhgrid*unitx)),0" - -draw "rectangle $w,$h 0,$((gridstarty+nvgrid*unity))" - -fill black -) - -for ((g=0;g<=$nhgrid;g=g+2)) ; do - drawgrid=( "${drawgrid[@]}" - -draw - "rectangle $((gridstartx+g*unitx+gridlw+1)),0 $((gridstartx+(g+1)*unitx)),$((gridstarty-1))" - -draw - "rectangle $((gridstartx+g*unitx+gridlw+1)),$((gridstarty+nvgrid*unity+gridlw+1)) $((gridstartx+(g+1)*unitx)),$h" - ) -done - -for ((g=0;g<=$nvgrid;g=g+2)) ; do - drawgrid=( "${drawgrid[@]}" - -draw - "rectangle 0,$((gridstarty+g*unity+gridlw+1)) $((gridstartx-1)),$((gridstarty+(g+1)*unity-1))" - -draw - "rectangle $((gridstartx+nhgrid*unitx+gridlw+1)),$((gridstarty+g*unity+gridlw+1)) $w,$((gridstarty+(g+1)*unity-1))" - ) -done - -diagonals=( - -fill white - -linewidth 10 - -fill white - -draw "line 0,0 $((w/2)),$((h-1))" - -draw "line 0,0 $((w-1)),$((h/2))" - -draw "line 0,$((h-1)) $((w/2)),0" - -draw "line 0,$((h-1)) $((w-1)),$((h/2))" - -draw "line $((w-1)),0 $((w/2)),$((h-1))" - -draw "line $((w-1)),0 0,$((h/2))" - -draw "line $((w-1)),$((h-1)) $((w/2)),0" - -draw "line $((w-1)),$((h-1)) 0,$((h/2))" ) - -convert -size ${w}x${h} xc:grey50 \ - "${diagonals[@]}" \ - "${drawgrid[@]}" \ - -fill "rgb(51,153,102)" \ - -draw "rectangle $((gridstartx+(nhgrid/2-7)*unitx+gridlw+1)),$((gridstarty+unity+gridlw+1)) $((gridstartx+(nhgrid/2-6)*unitx-1)),$((h/2))" \ - -fill "rgb(204,102,102)" \ - -draw "rectangle $((gridstartx+(nhgrid/2-7)*unitx+gridlw+1)),$((h/2)) $((gridstartx+(nhgrid/2-6)*unitx-1)),$((gridstarty+unity*12-1))" \ - -fill "rgb(102,102,255)" \ - -draw "rectangle $((gridstartx+(nhgrid/2-6)*unitx)),$((gridstarty+unity+gridlw+1)) $((gridstartx+(nhgrid/2-5)*unitx-1)),$((gridstarty+unity*3-1))" \ - -fill "rgb(153,102,0)" \ - -draw "rectangle $((gridstartx+(nhgrid/2-6)*unitx)),$((gridstarty+10*unity+gridlw+1)) $((gridstartx+(nhgrid/2-5)*unitx-1)),$((gridstarty+unity*12-1))" \ - -fill "rgb(128,128,0)" \ - -draw "rectangle $((gridstartx+(nhgrid/2+7)*unitx+gridlw+1)),$((gridstarty+unity+gridlw+1)) $((gridstartx+(nhgrid/2+8)*unitx-1)),$((h/2))" \ - -fill "rgb(102,102,255)" \ - -draw "rectangle $((gridstartx+(nhgrid/2+7)*unitx+gridlw+1)),$((h/2)) $((gridstartx+(nhgrid/2+8)*unitx-1)),$((gridstarty+unity*12-1))" \ - -fill "rgb(102,102,255)" \ - -draw "rectangle $((gridstartx+(nhgrid/2+6)*unitx+gridlw+1)),$((gridstarty+unity+gridlw+1)) $((gridstartx+(nhgrid/2+7)*unitx+gridlw)),$((gridstarty+unity*3-1))" \ - -fill "rgb(153,102,0)" \ - -draw "rectangle $((gridstartx+(nhgrid/2+6)*unitx+gridlw+1)),$((gridstarty+10*unity+gridlw+1)) $((gridstartx+(nhgrid/2+7)*unitx+gridlw)),$((gridstarty+unity*12-1))" \ - ${TEMPDIR}/grid.png - -convert -size ${w}x${h} ${TEMPDIR}/grid.png ${TEMPDIR}/centre.png ${TEMPDIR}/circle.png -composite ${TEMPDIR}/background.png - -if [ -n "$interlaced" ] ; then - interlaced_frame=0 - convert -size 1x${h} -tile-offset +0+1 pattern:gray50 \ - -scale ${w}x${h}\! ${TEMPDIR}/interlace.png -fi - -for ((i=0; i < $frames; i++)) ; do - - prev_image_name=$image_name - image_name=${TEMPDIR}/test$(printf "%03d" $i).png - echo creating image $image_name - - convert -size ${w}x${h} ${TEMPDIR}/background.png \ - -fill black \ - -draw "rectangle $(((barstart+i)*barstep)),0 $(((barstart+i)*barstep+barw)),${h}" \ - -font Arial-Black-Regular \ - -pointsize $unity \ - -fill white \ - -stroke black -strokewidth 5 -annotate +$((w-2*i))+$((gridstartx+11*unity)) 'Judder Test' \ - -stroke none -annotate +$((w-2*i))+$((gridstartx+11*unity)) 'Judder Test' \ - -depth 8 \ - ${image_name} - - if [ -n "$interlaced" ] ; then - interlaced_frame=$((interlaced_frame + 1)) - - if [ $interlaced_frame = 2 ] ; then - echo interlacing $((i-1)) and $i - interlaced_frame=0 - convert -size ${w}x${h} -depth 8 $prev_image_name $image_name ${TEMPDIR}/interlace.png -composite ${TEMPDIR}/interlaced$(printf "%03d" $((i/2))).png - fi - fi -done - -bitrate_flags= -if [ -n "$bitrate" ] ; then - bitrate_flags="-b $bitrate" -fi - -if [ -n "$interlaced" ] ; then - ffmpeg -r ${rate} -i ${TEMPDIR}/interlaced%03d.png -r ${rate} \ - -vcodec mpeg2video -flags +ilme+ildct -aspect $aspect_ratio \ - ${bitrate_flags} -y test.mpg -else - ffmpeg -r ${rate} -i ${TEMPDIR}/test%03d.png -r ${rate} \ - -vcodec mpeg2video -aspect $aspect_ratio \ - ${bitrate_flags} -y test.mpg -fi - -if [ -n "$remove_tempdir" ] ; then - rm -Rf $TEMPDIR -fi |