drastic.mCmdIF
Class MEDIACMD.VVWVIDEO

java.lang.Object
  extended bydrastic.mCmdIF.MEDIACMD.VVWVIDEO
Enclosing class:
MEDIACMD

public class MEDIACMD.VVWVIDEO
extends java.lang.Object

Standard video descriptor class - from C


Field Summary
(package private)  short biBitCount
          Number of bits per pixel (eg.
(package private)  long biClrImportant
          For colour tables in dwReserved, the number of RGBQUAD elements that are critical to display (for windows pallette wars in < 256 colourmode).
(package private)  long biClrUsed
          For colour tables in dwReserved, the number of RGBQUAD elements used.
(package private)  long biCompression
          Compression - a fourcc usually, but not always equal to fccHandler.
(package private)  long biHeight
          Height of the video frame.
(package private)  long biPitch
          The number of bytes in a row of pixels.
(package private)  short biPlanes
          Number of RGB groups (like photoshop layers) - Always 1 for our purposes.
(package private)  long biSize
          Size of the BITMAPINFOHEADER portion of this structure (sizeof(BITMAPINFOHEADER) + any VVWVIDEO::dwReserved used) Size Of BITMAPINO + Used dwReserved
(package private)  long biSizeImage
          Size of the image.
(package private)  long biWidth
          Width of the video frame Width of bitmap
(package private)  long biXPelsPerMeter
          Horizontal picture elements per meter - normally 0.
(package private)  long biYPelsPerMeter
          Vertical picture elements per meter - normally 0 (Picture elements per meter)
(package private) static int DRFLAGS_CODECPRIVATEDATA_AVI
          Private data format is AVI see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_CODECPRIVATEDATA_MOV
          Private data format is MOV see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_CODECPRIVATEDATA_OMF
          Private data format is OMF see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_MJPG_DCx0
          Stream is Miro DC50 MJPG see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_MJPG_DIGISUITE
          Stream is DigiSuite MJPG see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_MJPG_DSEDIT
          Stream is DigiSuite Edit MJPG see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_MJPG_JFIF
          Stream is JFIF jpeg see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_MJPG_JPGDIB
          Stream is MJPG MS-Dib variant see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_USE_ICM
          Stream should use windows icm/vfw codecs see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_USE_INTERN
          Stream should use internal codecs see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FCC_USE_QT
          Stream should use quicktime codecs see VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_FIRST_FIELD_DOMINANT
          First Field Dominant in VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_HAS_KEYFRAMES
          Stream has key frames, else all key frames VVWVIDEO::dwDrFlags
(package private) static int DRFLAGS_ZERO_FIELD_DOMINANT
          Zero (Second) Field Dominant in VVWVIDEO::dwDrFlags
(package private)  long dwCaps
          Not sure.
(package private)  long dwDrFlags
          Our internal flags including: #DRFLAGS_ZERO_FIELD_DOMINANT, #DRFLAGS_FIRST_FIELD_DOMINANT, #DRFLAGS_HAS_KEYFRAMES, #DRFLAGS_FCC_MJPG_DIGISUITE, #DRFLAGS_FCC_MJPG_DCx0, #DRFLAGS_FCC_MJPG_DSEDIT, #DRFLAGS_FCC_MJPG_JPGDIB, #DRFLAGS_FCC_MJPG_JFIF, #DRFLAGS_FCC_USE_INTERN, #DRFLAGS_FCC_USE_QT, #DRFLAGS_FCC_USE_ICM, #DRFLAGS_CODECPRIVATEDATA_AVI, #DRFLAGS_CODECPRIVATEDATA_MOV, #DRFLAGS_CODECPRIVATEDATA_OMF, #DTVVW_PREVIEW
(package private)  long dwEditCount
          Number of times the stream has been edited.
(package private)  long dwFileType
          Source File Type
(package private)  long dwFlags
           
(package private)  long dwFormatChangeCount
          Number of times the stream format has changed.
(package private)  long dwInitialFrames
          Amount of audio in the file before video commences.
(package private)  long dwLength
          Length of the video stream in units per VVWVIDEO::dwRate/VVWVIDEO::dwScale (for video - frames)
(package private)  long dwQuality
          Quality used by the compressor.
(package private)  long dwRate
          dwRate/dwScale = frame rate.
(package private)  long dwResDrastic
          Reserved, init to zero and leave alone
(package private)  long[] dwReserved
          The dwReserved may hold many things.
(package private)  long dwSampleSize
          Size, in bytes, of a single data sample.
(package private)  long dwScale
          dwRate/dwScale = frame rate.
(package private)  long dwStart
          Delay in units per VVWVIDEO::dwRate/VVWVIDEO::dwScale (for video - frames) for this stream to start in the playback of the file.
(package private)  long dwSuggestedBufferSize
          Recommended buffer size based on the largest single chunk in the file.
(package private)  long fccHandler
          Codec type, see fccDef.h Normally the same as VVWVIDEO::biCompression but not always.
(package private)  long fccType
          For VVWVIDEO structure this is always streamtypeVIDEO == 'vids'
(package private) static int MASK___DRFLAGS_FIELD
          Field dominance MASK for VVWVIDEO::dwDrFlags
(package private) static int MASK___DRFLAGS_KEYFRAME
          KeyFrame MASK for VVWVIDEO::dwDrFlags
(package private) static int MASK___FCCMODIFIERS
          Fourcc modifiers MASK for VVWVIDEO::dwDrFlags
(package private) static long MASK___PREVIEW
          MASK Room for current DTVVW_PREVIEW and more if nec see VVWVIDEO::dwDrFlags
(package private) static int MASK__CODECPRIVATEDATA
          Private Data MASK see VVWVIDEO::dwDrFlags
(package private)  java.awt.Rectangle rcFrame
          Dimensions of the video destination rectangle.
(package private)  char[] szName
          Null-terminated string containing a description of the stream.
(package private)  short wLanguage
          Language of stream (<-MSDoc but no language id defines)
(package private)  short wPriority
          Priority of stream (<-MSDoc in relation to other streams in the file I suppose).
 
Constructor Summary
MEDIACMD.VVWVIDEO()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

biSize

long biSize
Size of the BITMAPINFOHEADER portion of this structure (sizeof(BITMAPINFOHEADER) + any VVWVIDEO::dwReserved used) Size Of BITMAPINO + Used dwReserved


biWidth

long biWidth
Width of the video frame Width of bitmap


biHeight

long biHeight
Height of the video frame. CAUTION: For vertically inverted frames this WILL be negative. Height of bitmap (ALWAYS Positive in VVW/MR)


biPlanes

short biPlanes
Number of RGB groups (like photoshop layers) - Always 1 for our purposes. Number of bitmaps (ALWAYS 1)


biBitCount

short biBitCount
Number of bits per pixel (eg. YUV422=16, RGB=24, RGBA=32). Bitcount (24 RGB, 16 YUV) (Alpha seperate).


biCompression

long biCompression
Compression - a fourcc usually, but not always equal to fccHandler. Denotes compression type of frame - see fccDef.h (Should be same as fccHandler)


biSizeImage

long biSizeImage
Size of the image. For uncompressed biWidth*abs(biHeight)*(biBitCount/8) in bytes. For compressed, variable. Size of bitmap (biPitch * biHeight) + Alpha


biXPelsPerMeter

long biXPelsPerMeter
Horizontal picture elements per meter - normally 0. (Picture elements per meter)


biYPelsPerMeter

long biYPelsPerMeter
Vertical picture elements per meter - normally 0 (Picture elements per meter)


biClrUsed

long biClrUsed
For colour tables in dwReserved, the number of RGBQUAD elements used. (Number of pallette entries used in bitmap)


biClrImportant

long biClrImportant
For colour tables in dwReserved, the number of RGBQUAD elements that are critical to display (for windows pallette wars in < 256 colourmode). Required entries to display bitmap.


dwReserved

long[] dwReserved
The dwReserved may hold many things. Whatever it holds, the amount used can be determined by subracting sizeof(BITMAPINFOHEADER) from VVWVIDEO::biSize. Here are some possible uses \code Table of struct RGBQUAD { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; }; \endcode \code typedef struct tagJPEGINFOHEADER { // compression-specific fields // these fields are defined for 'JPEG' and 'MJPG' DWORD JPEGSize; DWORD JPEGProcess; // Process specific fields DWORD JPEGColorSpaceID; DWORD JPEGBitsPerSample; DWORD JPEGHSubSampling; DWORD JPEGVSubSampling; } JPEGINFOHEADER; \endcode \code typedef struct tagVIDEOINFOHEADER { RECT rcSource; // The bit we really want to use RECT rcTarget; // Where the video should go DWORD dwBitRate; // Approximate bit data rate DWORD dwBitErrorRate; // Bit error rate for this stream REFERENCE_TIME AvgTimePerFrame; // Average time per frame (100ns units) BITMAPINFOHEADER bmiHeader; } VIDEOINFOHEADER; \endcode \code typedef struct tagMPEG1VIDEOINFO { VIDEOINFOHEADER hdr; // Compatible with VIDEOINFO DWORD dwStartTimeCode; // 25-bit Group of pictures time code // at start of data DWORD cbSequenceHeader; // Length in bytes of bSequenceHeader BYTE bSequenceHeader[1]; // Sequence header including // quantization matrices if any } MPEG1VIDEOINFO; \endcode \code typedef struct tagAnalogVideoInfo { RECT rcSource; // Width max is 720, height varies w/ TransmissionStd RECT rcTarget; // Where the video should go DWORD dwActiveWidth; // Always 720 (CCIR-601 active samples per line) DWORD dwActiveHeight; // 483 for NTSC, 575 for PAL/SECAM REFERENCE_TIME AvgTimePerFrame; // Normal ActiveMovie units (100 nS) } ANALOGVIDEOINFO; \endcode \code typedef struct tagMPEG2VIDEOINFO { VIDEOINFOHEADER2 hdr; DWORD dwStartTimeCode; // ?? not used for DVD ?? DWORD cbSequenceHeader; // is 0 for DVD (no sequence header) DWORD dwProfile; // use enum MPEG2Profile DWORD dwLevel; // use enum MPEG2Level DWORD dwFlags; // use AMMPEG2_* defines. Reject connection if undefined bits are not 0 DWORD dwSequenceHeader[1]; // DWORD instead of Byte for alignment purposes // For MPEG-2, if a sequence_header is included, the sequence_extension // should also be included } MPEG2VIDEOINFO; \endcode \code typedef struct tagVIDEOINFOHEADER2 { RECT rcSource; RECT rcTarget; DWORD dwBitRate; DWORD dwBitErrorRate; REFERENCE_TIME AvgTimePerFrame; DWORD dwInterlaceFlags; // use AMINTERLACE_* defines. Reject connection if undefined bits are not 0 DWORD dwCopyProtectFlags; // use AMCOPYPROTECT_* defines. Reject connection if undefined bits are not 0 DWORD dwPictAspectRatioX; // X dimension of picture aspect ratio, e.g. 16 for 16x9 display DWORD dwPictAspectRatioY; // Y dimension of picture aspect ratio, e.g. 9 for 16x9 display DWORD dwReserved1; // must be 0; reject connection otherwise DWORD dwReserved2; // must be 0; reject connection otherwise BITMAPINFOHEADER bmiHeader; } VIDEOINFOHEADER2; \endcode


fccType

long fccType
For VVWVIDEO structure this is always streamtypeVIDEO == 'vids'


fccHandler

long fccHandler
Codec type, see fccDef.h Normally the same as VVWVIDEO::biCompression but not always.


dwFlags

long dwFlags

dwCaps

long dwCaps
Not sure. See VVWSYSTEM::dwCaps for possible interp if something is set. MS Doc: currently unused.


wPriority

short wPriority
Priority of stream (<-MSDoc in relation to other streams in the file I suppose).


wLanguage

short wLanguage
Language of stream (<-MSDoc but no language id defines)


dwScale

long dwScale
dwRate/dwScale = frame rate. See VVSYSTEM::dwScale for more info and table example.


dwRate

long dwRate
dwRate/dwScale = frame rate. See VVSYSTEM::dwRate for more info and table example.


dwStart

long dwStart
Delay in units per VVWVIDEO::dwRate/VVWVIDEO::dwScale (for video - frames) for this stream to start in the playback of the file. NOTE AVI v1.0 and simple avi readers will choke or play incorrectly if this is not 0, so be careful.


dwLength

long dwLength
Length of the video stream in units per VVWVIDEO::dwRate/VVWVIDEO::dwScale (for video - frames)


dwInitialFrames

long dwInitialFrames
Amount of audio in the file before video commences. For offset files, typically 0.75 sec converted to units per VVWVIDEO::dwRate/VVWVIDEO::dwScale. For high end files, always zero as audio and video are sent without scew (except premiere, which uses 'rec ' chunks and audio skew)


dwSuggestedBufferSize

long dwSuggestedBufferSize
Recommended buffer size based on the largest single chunk in the file. Set by writer, so often incorrect or 0.


dwQuality

long dwQuality
Quality used by the compressor. Between 0 and 10,000 or -1 if default quality. For some compressors, the -1 can also mean the quality info is encoded into the frame or in the dwReserved or other private data area.


dwSampleSize

long dwSampleSize
Size, in bytes, of a single data sample. If the value of this member is zero, the samples can vary in size and each data sample (such as a video frame) must be in a separate chunk. A nonzero value indicates that multiple samples of data can be grouped into a single chunk within the file. For video streams, this number is typically zero, although it can be nonzero if all video frames are the same size. For audio streams, this number should be the same as the nBlockAlign member of the WAVEFORMAT or WAVEFORMATEX structure describing the audio.


rcFrame

java.awt.Rectangle rcFrame
Dimensions of the video destination rectangle. The values represent the coordinates of upper left corner, the height, and the width of the rectangle.


dwEditCount

long dwEditCount
Number of times the stream has been edited. The stream handler maintains this count.


dwFormatChangeCount

long dwFormatChangeCount
Number of times the stream format has changed. The stream handler maintains this count.


szName

char[] szName
Null-terminated string containing a description of the stream.


biPitch

long biPitch
The number of bytes in a row of pixels. Allows for byte/word/dword alignment of lines as nec for format


MASK___DRFLAGS_FIELD

static final int MASK___DRFLAGS_FIELD
Field dominance MASK for VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_ZERO_FIELD_DOMINANT

static final int DRFLAGS_ZERO_FIELD_DOMINANT
Zero (Second) Field Dominant in VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FIRST_FIELD_DOMINANT

static final int DRFLAGS_FIRST_FIELD_DOMINANT
First Field Dominant in VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

MASK___DRFLAGS_KEYFRAME

static final int MASK___DRFLAGS_KEYFRAME
KeyFrame MASK for VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_HAS_KEYFRAMES

static final int DRFLAGS_HAS_KEYFRAMES
Stream has key frames, else all key frames VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

MASK___FCCMODIFIERS

static final int MASK___FCCMODIFIERS
Fourcc modifiers MASK for VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_MJPG_DIGISUITE

static final int DRFLAGS_FCC_MJPG_DIGISUITE
Stream is DigiSuite MJPG see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_MJPG_DCx0

static final int DRFLAGS_FCC_MJPG_DCx0
Stream is Miro DC50 MJPG see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_MJPG_DSEDIT

static final int DRFLAGS_FCC_MJPG_DSEDIT
Stream is DigiSuite Edit MJPG see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_MJPG_JPGDIB

static final int DRFLAGS_FCC_MJPG_JPGDIB
Stream is MJPG MS-Dib variant see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_MJPG_JFIF

static final int DRFLAGS_FCC_MJPG_JFIF
Stream is JFIF jpeg see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_USE_INTERN

static final int DRFLAGS_FCC_USE_INTERN
Stream should use internal codecs see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_USE_QT

static final int DRFLAGS_FCC_USE_QT
Stream should use quicktime codecs see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_FCC_USE_ICM

static final int DRFLAGS_FCC_USE_ICM
Stream should use windows icm/vfw codecs see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

MASK__CODECPRIVATEDATA

static final int MASK__CODECPRIVATEDATA
Private Data MASK see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_CODECPRIVATEDATA_AVI

static final int DRFLAGS_CODECPRIVATEDATA_AVI
Private data format is AVI see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_CODECPRIVATEDATA_MOV

static final int DRFLAGS_CODECPRIVATEDATA_MOV
Private data format is MOV see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

DRFLAGS_CODECPRIVATEDATA_OMF

static final int DRFLAGS_CODECPRIVATEDATA_OMF
Private data format is OMF see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

MASK___PREVIEW

static final long MASK___PREVIEW
MASK Room for current DTVVW_PREVIEW and more if nec see VVWVIDEO::dwDrFlags

See Also:
Constant Field Values

dwDrFlags

long dwDrFlags
Our internal flags including: #DRFLAGS_ZERO_FIELD_DOMINANT, #DRFLAGS_FIRST_FIELD_DOMINANT, #DRFLAGS_HAS_KEYFRAMES, #DRFLAGS_FCC_MJPG_DIGISUITE, #DRFLAGS_FCC_MJPG_DCx0, #DRFLAGS_FCC_MJPG_DSEDIT, #DRFLAGS_FCC_MJPG_JPGDIB, #DRFLAGS_FCC_MJPG_JFIF, #DRFLAGS_FCC_USE_INTERN, #DRFLAGS_FCC_USE_QT, #DRFLAGS_FCC_USE_ICM, #DRFLAGS_CODECPRIVATEDATA_AVI, #DRFLAGS_CODECPRIVATEDATA_MOV, #DRFLAGS_CODECPRIVATEDATA_OMF, #DTVVW_PREVIEW


dwFileType

long dwFileType
Source File Type


dwResDrastic

long dwResDrastic
Reserved, init to zero and leave alone

Constructor Detail

MEDIACMD.VVWVIDEO

public MEDIACMD.VVWVIDEO()