NAME
       decode - decode video and/or audio or speech files

SYNOPSIS
       decode [options...]

DESCRIPTION
       This demo uses the Codec Engine to decode data from files and output
       the uncompressed data using peripheral device drivers. Video, audio
       and speech files are supported. All files must consist of raw frames
       of data.

       You must supply at least one file for the demo to run, and you cannot
       supply both an audio and a speech file (as they share the same
       peripheral).

       The DSP Link and CMEM kernel modules need to be inserted for this demo
       to run. Worst case CMEM pools needed by this demo are 1x3145728,
       3x829440, 1x61440 and 1x10240. Use the script 'loadmodules.sh' to
       make sure both kernel modules are loaded with adequate parameters.

       If you want to play back your own video clips, note that this demo only
       supports H.264 Base Profile, MPEG4 Simple Profile and MPEG2 Main
       Profile (see decode algorithm data sheets for details). In addition,
       the video clips must be recorded at 30 fps for NTSC and 25 fps for PAL.

OPTIONS
       -v <video file>, --videofile <video file>
             Decodes the video file. The demo detects which type of video file
             is supplied using the file extension. Supported video algorithms
             are MPEG4 (.mpeg4 extension), H.264 (.264 extension) and MPEG2
             (.m2v extension).

       -a <audio file>, --audiofile <audio file>
             Decodes the audio file. The demo detects which type of audio file
             is supplied using the file extension. Supported audio algorithms
             are AAC (.aac extension) and mpeg1 layer 2 (.mp2 extension). 

       -s <speech file>, --speechfile <speech file>
             Decodes the speech file. The demo detects which type of speech
             file is supplied using the file extension. The only supported
             speech algorithm as of now is G.711 (.g711 extension).

       -l, --loop
             If this option is selected, the demo will restart at the
             beginning of a file (or files) when the end is reached. If this
             option is not selected (which is the default) the demo will quit
             once the end of the file (or files) has been reached.

       -k, --keyboard
             Enables the keyboard input mode which lets the user input
             commands using the keyboard in addition to the IR remote control
             interface. At the prompt type 'help' for a list of available
             commands.

       -t <seconds>, --time <seconds>
             The number of seconds to run the demo. Defaults to infinite time.

       -h, --help
             This will print the usage of the demo.

EXAMPLE USAGE
       First execute this script to load the kernel modules required:
             ./loadmodules.sh

       General usage:
             ./decode -h

       MPEG2 NTSC video decode only with keyboard interface:
             ./decode -v data/videos/davincieffect_ntsc.m2v -k

       MPEG1L2 audio decode only:
             ./decode -a data/sounds/davincieffect.mp2

       H.264 PAL video and AAC audio decode:
             ./decode -a data/sounds/davincieffect.aac \
                 -v data/videos/davincieffect_pal.264

       MPEG4 NTSC video and G.711 speech decode:
             ./decode -v data/videos/davincieffect_ntsc.mpeg4 \
                 -s data/sounds/davincieffect.g711

COPYRIGHT
       Copyright (c) Texas Instruments Inc 2005

       Use of this software is controlled by the terms and conditions found in
       the license agreement under which this software has been supplied or
       provided.

KNOWN ISSUES

VERSION
       1.1

CHANGELOG
       1.0:
             The 'video' thread has been broken up into a 'video' thread and
             a 'display' thread to add another layer of buffering in case a
             sequence of frames are particularly demanding. The drawback is
             an extra memory copy of the buffer on the ARM side increasing
             the ARM CPU load of the demo. As an added benefit this demo
             can now support variable sized video clips.

             The demo now has a keyboard interface (-k) which lets
             you input the same commands as you would have input using the
             remote control in the past.

             The demo now supports interlaced mpeg2 clips, completing the
             support for mpeg2 main profile.

SEE ALSO
       For documentation and release notes on the individual components see
       the html files in the host installation directory.
