3.11 fixes two small-but-critical bugs. As a result, videos no longer get "glitter" artifacts every so often, and quality has been markedly improved over 3.1.


	SwitchBlade 3.11

3.0  - Initial 3.0 release
3.1  - Added NeuQuant-based codebook generator
3.11 - Fixed a bug in the reducer and the possibility list generator, improving quality a lot

DropROQ - GUI-based encoder.  You can still set options via the command-line though.
roqcmd - Command-line version of DropROQ.
roqmux - Utility for merging audio into RoQs.
roqplay - Not here any more.


DivX and Indeo Video are both AVIFile-compatible codecs.

By the way, default settings are 16.7:1 compression on keyframes,
50:1 compression on every other frame, and a keyframe every 120 frames,
a.k.a. 4 seconds.

Unix/Linux users, I did not include a makefile, but I have created a rudimentary
mpeg2roq converter.  You must demux videos before you can encode them with it,
so use something like MPGTX to do that.  It's the best I could do given how
insanely difficult it was to find a decent MPEG decoder library.  You can also
use -stdout and -nevercache to send all output to stdout.  Sorry, input from
stdin is NOT supported.

DropROQ is pretty self-explanitory.  Run it from the command-line for full
customization, or just drop a file on it to compress it in one go.  It
produces 2 files with 2 extensions: One with .RoQ, which is the resulting
video, and one with .cbc, which is the codebook cache, a file used to
accelerate future encodes of the same video.  If you change the video,
then you should delete the .cbc file.

If you run with the -nomux option, then the .RoQ file will be video-only,
and a .wav file will be outputted as well.  You can combine the two with
the ROQMUX program.

RoQ videos are split into two frame types, which I'll refer to as I
frames and P frames since MPEG uses those terms as well.  I frames are
independent, and contain only image data.  Since image data is far less
efficient than motion and skip coding, you should allocate a significantly
higher amount of data to them.  P frames are previous-referencing frames,
and use the previous 2 frames to optimize itself.  P frames use motion
searching and skip testing to minimize their size, and are far more

You can set the I/P frame size relative to the real size by using a
number representing a fraction over 10000, or manually set the bit rates.
Bit limits are PER-FRAME, not per second!!  Framerates are always 30fps,
a limitation of the RoQ format, so just divide your desired BPS by 30 for
per-frame limits.

Unlike SwitchBlade2, version 3 is VERY good with meeting the target
bitrate, will never exceed it (unless it has no choice), and will
generally come within 1% of the target bitrate.

Audio is compressed with 2:1 lossy compression, with 240 bytes per second
added on for markers.  This CAN NOT BE CHANGED, so be sure to adjust your
bitrates accordingly.

avi2roq encodes audio AFTER it encodes all video.  The reason for this is
that RoQ tends to be very picky about sound timing and reading multiple
streams from an AVI file at once is a pain in the ass.  So instead,
avi2roq will automatically dump the sound track of the AVI file to a WAV
file when it finishes encoding the video, then will multiplex the two
files together.  You can prevent multiplexing by using the -nomux
command-line option.

If you want to multiplex later, use the roqmux utility.

Version 3.1 and later use NeuQuant, which nearly triples the speed of
encodes while actually IMPROVING quality.  You can use the old STDVQ
generator by using -stdvq at the command-line, but I really don't know
why you would do that.

It's still pretty slow.

There are no comments yet. Be the first!