PRPA
====
Apply a video-filtering chain with full exploitation of multi-threading.
Usage
-----
./prpa [options] [file...]
Options are one or more of the following:
-h [ --help ] produce help message
-f [ --filter ] arg apply a filter (see below)
-i [ --input-file ] arg file to treat
-o [ --output ] arg output file
-c [ --codec ] arg output codec
-d [ --disable ] disable parallelism
Codecs
------
Codec name are 4-character codes that can be found on this page
http://www.fourcc.org/codecs.php
Codec name *must* match the output file extension.
Exemples are:
-c MP42 -o .avi # MPEG4
-c MP42 -o .mp4 # MPEG4
-c XVID -o .avi # Xvid
-c theo -o .ogg # OGG Theora
Note that MP42 and XVID are two of the quickest output codecs and thus will not
be a bottleneck for the parallelism.
Filter
------
Available filters are:
* grey Produce black and white ouput.
* reverse Reverse colors.
* cartoon Try to apply a "cartoon" effect (VERY SLOW).
* drunk Simulate alcool abuse.
* count Count frame per thread (debug?).
* color=B,G,R Apply the B,G,R color filter.
* sepia Apply a sepia effect.
* blur[=X] Blurs the video, X is the strength of the blur effect.
* merge Merge 2 videos pixel per pixel with a transparent effect.
* interlace Merge 2 videos, alterning between one pixel of each.
* inlay=B,G,R Inlay a video into another one at the place of the
B, G or R color, trying to replace the whole color, not
just the particular value.
* strictinlay=B,G,R Inlay a video into another one at the place of the
precise BGR color asked.
For the merge, interlace, inlay and strict inlay filters, at least two videos
must be passed in the input files list.
Examples
--------
./prpa -f drunk -f sepia -o bar.avi -c MP42 foo.avi
./prpa -f blur=50 -f reverse -o bar.avi -c XVID foo.avi
./prpa -f inlay=1,0,0 -o bar.avi -c XVID foo.avi inlayed.avi
./prpa -f strictinlay=255,137,42 -o bar.avi -c XVID orig.avi inlayed.avi
time ./prpa -f drunk -f sepia -o bar.avi -c MP42 foo.avi
time ./prpa -d -f drunk -f sepia -o bar.avi -c MP42 foo.avi