
This directory contains various python scripts to automate the
encoding of multiview videos.  To use the provided scripts, you must
have python installed.  If python is not already present on your
system, you can download it from http://www.python.org.

CONTENTS:
----------------------------------------------------------------------

  tests:    Contains the automated tests.  This is the place to look
            if you want to run/change/create automated tests.

  tests/CE_1B:  Contains tests for Core Experiment 1B for the 
                April 2006 MPEG meeting.

  tools:    Contains various python tools.  This contains utilities to
            run automated tests.


USAGE:
----------------------------------------------------------------------

Each script in the tests directory defines a test case by
instantiating an instance of the MVCTestCase class.  For example,
tests/CE_1B/ballroom.py defines the test to encode the ballroom
sequence for core experiment 1B.  For each MVCTestCase object, you can
set parameters like the working directory, sequence to encode, number
of frames, etc.  The idea is that you for each set of encoding runs
you want to do, you create a script which sets up an MVCTestCase
object with the desired parameters.  You can then run that script via
python and it will handle the process of generating config files,
starting the encoder, etc.

Before running a test, you should configure a few parameters.  For
example, you MUST configure the SOURCEPATH variable to point to the
directory where your multiview sequences are stored.  Also, you should
probably add a line like 

  baseWorkingDir = <path>, 

after the line starting "MVCTestCase.MVCTestCase(" to describe where
the python scripts should create temporary working directories.
Finally, if you are using a parallel computing enviornment such as a
Beowulf cluster that provides the qsub command, you should set the
qsubExe variable accordingly.

To run a test, you should import it into python.  For example, if you
want to run the test in jsvm/scripts/MVC/tests/CE_1B/ballroom.py, you
can execute the following command from the jsvm/scripts directory:

  echo from MVC.tests.CE_1B import ballroom | python

Once you start a job, it will report where it is creating its working
directory and put all further log/error/.yuv/.264 files in that
directory.  When the test case is started the first thing it will do
is create various configuration files and then it will start the
encoder executable to do encoding.  If the encoder crashes for some
reason (or if you kill it intentionally, you can use these encoder
configuration files by starting the encoder manually.)

