#!/bin/sh
def_seconds=5
def_aspect=2

help(){
	cat <<END
Usage: $0 <filename.jpg> [<filename.jpg> ...]
Options:
	-t n      Number seconds per image              ($def_seconds)
	-s n      n=1 letterbox, n=2 crop               ($def_aspect)
END
	exit 1
}

seconds=$def_seconds
aspect=$def_aspect

while getopts t:s:h name "$@"
do
    case $name in
t)
    seconds=$OPTARG ;;
s)
	aspect=$OPTARG ;;
*)
    help ;;
    esac
done
let shiftind=$OPTIND-1
shift $shiftind

case $aspect in
1)
	yinfer=PAD ;;
*)
	yinfer=CLIP ;;
esac

skipline=1
lastinput=FIRST

if test "$#" = "0"
then
	help
fi

for input in "$@"
do
	case $input in
*.jpg)
		;;
*)
		help ;;
	esac;
done

rm -f paste.p0
mknod paste.p0 p

for input in "$@"
do

case $lastinput in
FIRST)
	;;
*)
	ypipe "jpegtopnm $lastinput |
		ppmtoy4m |
		y4mscaler -I sar=1:1 -O infer=${yinfer} -O infer=EXACT \
		    -O sar=1:1 -O size=1920x1080 -O chromass=420jpeg |
		yuvfps -v0 -ip -s 1:1 -r 30000:1001" "jpegtopnm $input |
        ppmtoy4m |
        y4mscaler -I sar=1:1 -O infer=${yinfer} -O infer=EXACT \
            -O sar=1:1 -O size=1920x1080 -O chromass=420jpeg |
        yuvfps -v0 -ip -s 1:1 -r 30000:1001" |
	transist.flt -o 0 -O 255 -d 29 |
	tail -n +$skipline
esac

jpegtopnm $input |
ppmtoy4m |
y4mscaler -I sar=1:1 -O infer=${yinfer} -O infer=EXACT \
	-O sar=1:1 -O size=1920x1080 -O chromass=420jpeg |
yuvfps -v0 -ip -s 1:$seconds -r 30000:1001 |
tail -n +$skipline
skipline=2
lastinput=$input
done | tee paste.p0 |
mpeg2enc -v0 --no-constraints -f3 -nn -a3 -Ktmpgenc -lh \
    -b18000 -V488 -r32 -G18 -q2 -s -o paste.m2v &
yuvscaler -O DVD <paste.p0 |
mpeg2enc -v0 -f8 -nn -a3 -D10 -b7000 -q2 -o paste-dvd.m2v
