MPEG_BITS(1)

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