Class AbstractAVIStream.MainHeader

java.lang.Object
org.monte.media.avi.AbstractAVIStream.MainHeader
Enclosing class:
AbstractAVIStream

protected static class AbstractAVIStream.MainHeader extends Object

Holds information about the entire movie.

 ---------------
 AVI Main Header
 ---------------

 Set values taken from
 http://graphics.cs.uni-sb.de/NMM/dist-0.4.0/Docs/Doxygen/html/avifmt_8h.html

 typedef struct {
     DWORD  microSecPerFrame;
             // Specifies the number of microseconds between frames.
             // This value indicates the overall timing for the file.
     DWORD  maxBytesPerSec;
             // Specifies the approximate maximum data rate of the file. This
             // value indicates the number of bytes per second the system must
             // handle to present an AVI sequence as specified by the other
             // parameters contained in the main header and stream header chunks.
     DWORD  paddingGranularity;
             // Specifies the alignment for data, in bytes. Pad the data to
             // multiples of this value.
     DWORD set avihFlags  flags;
             // Contains a bitwise combination of zero or more of the following flags:
     DWORD  totalFrames;
             // Specifies the total number of frames of data in the file.
     DWORD  initialFrames;
             // Specifies the initial frame for interleaved files. Noninterleaved
             // files should specify zero. If you are creating interleaved files,
             // specify the number of frames in the file prior to the initial
             // frame of the AVI sequence in this member. For more information
             // about the contents of this member, see "Special Information for
             // Interleaved Files" in the Video for Windows Programmer's Guide.
     DWORD  streams;
             // Specifies the number of streams in the file. For example, a file
             // with audio and video has two streams.
     DWORD  suggestedBufferSize;
             // Specifies the suggested buffer size for reading the file.
             // Generally, this size should be large enough to contain the
             // largest chunk in the file. If set to zero, or if it is too small,
             // the playback software will have to reallocate memory during
             // playback, which will reduce performance. For an interleaved file,
             // the buffer size should be large enough to read an entire record,
             // and not just a chunk.
     DWORD  width;
             // Specifies the width of the AVI file in pixels.
     DWORD  height;
             // Specifies the height of the AVI file in pixels.
     DWORD[]  reserved;
             // Reserved. Set this array to zero.
 } AVIMAINHEADER;
 
Author:
Werner Randelshofer
  • Field Details

    • microSecPerFrame

      protected long microSecPerFrame
      Specifies the number of microseconds (=10E-6 seconds) between frames. This value indicates the overall timing for the file.
    • maxBytesPerSec

      protected long maxBytesPerSec
    • paddingGranularity

      protected long paddingGranularity
    • flags

      protected int flags
    • totalFrames

      protected long totalFrames
    • initialFrames

      protected long initialFrames
    • streams

      protected long streams
    • suggestedBufferSize

      protected long suggestedBufferSize
    • size

      protected Dimension size
      Width and height of the movie. Null if not specified.
  • Constructor Details

    • MainHeader

      protected MainHeader()