mpeg_bits
NAME
mpeg_bits - monitors and modifies bitrate in encoded streams
SYNOPSIS
mpeg_bits [ -edits edit_file_name ] [ -dither dither_option
] [ file_name ]
DESCRIPTION
mpeg_bits provides a GUI for the monitoring and modification
of MPEG streams. As it displays an MPEG bitstream, it gives
feedback on how bits are being allocated on a macroblock-
by-macroblock level. It also enables the user to specify
block-level q-scale changes, which are then compiled into a
specifics file which can be used in later encodings.
OPTIONS
-edits edit_file_name : loads the edits made in a previous
mpeg_bits session
-dither dither_option : selects from a variety of dither
options. The possible values are:
ordered - ordered dither.
ordered2 - a faster ordered dither. This is the
default.
mbordered - ordered dithering at the macroblock level.
Although there is a noticeable decrease in dither
quality, this is the fastest dither available.
fs4 - Floyd-Steinberg dithering with 4 error values
propogated.
fs2 - Floyd-Steinberg dithering with 2 error values
propogated.
fs2fast - Fast Floyd-Steinberg dithering with 2 error
values propogated.
hybrid - Hybrid dithering, a combination of ordered
dithering for the luminance channel and Floyd-
Steinberg 2 error dithering for the chrominance
channels. Errors are NOT propogated properly and
are dropped all togethor every two pixels in
either direction.
hybrid2 - Hybrid dithering as above, but with error
propogation among pixels.
2x2 - A dithering technique using a 2x2 pixel area for
each pixel. The image displayed is 4 times larger
than the original image encoded. Random error
terms are added to each pixel to break up contours
and gradients.
gray - Grayscale dithering. The image is dithered into
128 grayscales. Chrominance information is thrown
away.
gray256 - Grayscale dithering. The image is dithered
into 256 grayscales (requires private colormap).
Chrominance information is thrown away.
color - Full color display (only available on 24 bit
color displays).
none - no dithering is done, no image is displayed.
Used to time decoding process.
mono - Floyd-Steinberg dithering for monochrome
displays.
threshold - Floyd-simple dithering for monochrome
displays.
NOTES
The tool expects video streams only. It can handle
multiplexed MPEG streams (video+audio streams) by discarding
the audio. It uses the paris entropy coding table set (which
we believe to be the MPEG-1 standard), but can not handle
any bitstreams that use the "berlin" entropy coding table
set. Berlin data is relatively rare so there shouldn't be
too much to worry about here, but be aware of the difference
when looking for streams to work with.
Some streams do not end with the proper sequence end code
and will probably generate an "Improper sequence end code."
error when done playing.
This player can play XING data files. Be aware that XING
makes no use of temporal redundancy or motion vector
information. In other words, they do not use any P or B
frames in their streams. Instead, XING data is simply a
sequence of I frames. Since I frames take significantly
longer to decode, performance of the application using XING
data is not representative of its ability.
VERSION
This is the first public release, version 1.0.
AUTHORS
Doug Banks - University of California, Berkeley,
dbanks@cs.berkeley.edu