https://github.com/geodynamics/citcoms
Revision c27c7164b00b949f947d5f0129903a294b5ddba7 authored by Michael Gurnis on 29 January 2007, 20:51:24 UTC, committed by Michael Gurnis on 29 January 2007, 20:51:24 UTC
1 parent a60c042
Raw File
Tip revision: c27c7164b00b949f947d5f0129903a294b5ddba7 authored by Michael Gurnis on 29 January 2007, 20:51:24 UTC
The functionality of this routine is now expanded so that for evey time step the element materials are read in. The code for determining the material file names and opening the file name and then reading in the element files is placed in the same code that the age grids and velocity files are processed. Obviously, reading in materials currently only works for Full; fill be working on Regional next.
Tip revision: c27c716
miff2avi
#!/bin/bash

function usage ()
{
echo 1>&2
echo "Usage: miff2avi [-f frames_per_second]" 1>&2
echo "                 [-o outfile.avi]" 1>&2
echo "                 file.miff" 1>&2
echo 1>&2
echo "  Converts file.miff to file.avi (or outfile.avi if -o is given)" 1>&2
echo "  using frames_per_second as framerate (defaults to 25)" 1>&2
echo 1>&2
echo "  Assumes mjpeg tools and \"convert\" (ImageMagick) are installed." 1>&2
echo  1>&2
echo "  file.miff should contain all the frames to be animated. " 1>&2
echo "  $0 does not accept a file list (e.g. file*.miff) as an argument. " 1>&2
echo 1>&2
echo "  This script was originally written by Ulrich Oelmann <Ulrich.Oelmann@iws.uni-stuttgart.de>. " 1>&2
echo "  See http://opendx.npaci.edu/mail/opendx-users/2004.10/msg00026.html" 1>&2
echo  1>&2
exit 0
}

if [ $[$# < 1 ] = 1 ]; then
    usage
fi

FOPTION=25;
OOPTION="";

while getopts "f:o:" OPTION; do
    case $OPTION in
	f) FOPTION=$OPTARG;;
	o) OOPTION=$OPTARG;;
	?) usage;;
    esac
done

shift $[$OPTIND-1]

if [ x"$OOPTION" == "x" ]; then
    OOPTION=`basename $1 .miff`
    OOPTION=`basename $OOPTION .MIFF`
    OOPTION=`dirname $1`/$OOPTION".avi"
fi

TMPDIR=`mktemp -d miff2xvid.XXXXXXXXXX`
mkdir -p $TMPDIR

declare -i FRAMES X Y

echo "######### Analyzing $1"

IDENTIFY=`identify -format "%n %w %h" $1 | \
    tail -n 2 | head -n 1`
FRAMES=`echo $IDENTIFY | gawk '{ print $1 }'`
X=`echo $IDENTIFY | gawk '{ print $2 }'`
Y=`echo $IDENTIFY | gawk '{ print $3 }'`

FRAMES=$(( FRAMES-1 ))


if [ $(( $Y % 2 )) -eq 1 ]; then
    JOPTION=1
else
    JOPTION=0
fi;


if [ $(( $X % 2 )) -eq 1 ]; then
    JOPTION=$JOPTION",1,0,0"
else
    JOPTION=$JOPTION",0,0,0"
fi;


echo "######### Extracting $(( FRAMES+1 )) frames out of $1"

convert -quality 9 $1 $TMPDIR/frame.ppm

echo "######### Encoding animation to $OOPTION"
echo

ppmtoy4m -F $FOPTION:1 $TMPDIR/frame.ppm | yuv2lav -q 100 -f a -o $OOPTION


#convert -quality 9 $1 $TMPDIR/frame.png
# test later when transcode and other libraries become available
#for ZAHL in `seq 0 $FRAMES`; do
#  mv $TMPDIR/frame.png.$ZAHL $TMPDIR/frame.$ZAHL.png
#  echo $TMPDIR/frame.$ZAHL.png >> $TMPDIR/frameliste.txt
#done
#transcode -i $TMPDIR/frameliste.txt \
#    -x imlist,null \
#    -g "$X"x"$Y" \
#    -z \
#    -j $JOPTION \
#    -y xvid4,null \
#    -f $FOPTION \
#    -w 1500 \
#    -H 0 \
#    -o $OOPTION


rm -rf $TMPDIR

# version
# $Id$

# End of file
back to top