IDLgrMPEG Properties

IDLgrMPEG objects have the following properties in addition to properties inherited from any superclasses. Properties with the word "Yes" in the "Get" column of the property table can be retrieved via IDLgrMPEG::GetProperty. Properties with the word "Yes" in the "Init" column of the property table can be set via IDLgrMPEG::Init. Properties with the word "Yes" in the "Set" column in the property table can be set via IDLgrMPEG::SetProperty.

Note
For a discussion of the property description tables shown below, see About Object Property Descriptions.

Objects of this class have the following properties.

In addition, objects of this class inherit:

ALL

An anonymous structure containing the values of all of the retrievable properties associated with this object.

Property Type

Structure

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

BITRATE

A double-precision floating-point value to specify the MPEG movie bit rate. Higher bit rates will create higher quality MPEGs but will increase file size. The following table describes the valid values:

Table 31-11: BITRATE Value Range

MPEG Version
Range

MPEG 1

0.1 to 104857200.0

MPEG 2

0.1 to 429496729200.0

Set this property to 0.0 (the default setting) to indicate that IDL should compute the BITRATE value based upon the value you have specified for the QUALITY property. The value of BITRATE returned by IDLgrMPEG::GetProperty is either the value computed by IDL from the QUALITY value or the last non-zero valid value stored in this property.

Note
Only use the BITRATE property if changing the QUALITY property value does not produce the desired results. It is highly recommended to set the BITRATE to at least several times the frame rate to avoid unusable MPEG files or file generation errors.

Property Type

Floating-point

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

DIMENSIONS

A two-element integer array specifying the dimensions (in pixels) of each of the images to be used as frames for the movie. If this property is not specified, the dimensions of the first image loaded will be used. Once IDLgrMPEG::Put has been called, this property can no longer be set.

Note
When creating MPEG files, you must be aware of the capabilities of the MPEG decoder you will be using to view it. Some decoders only support a limited set of sampling and bitrate parameters to normalize computational complexity, buffer size, and memory bandwidth.

FILENAME

A string that represents the name of the file in which the encoded MPEG sequence is to be stored. The default is 'idl.mpg'.

Property Type

String

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

FORMAT

A Boolean value that specifies the type of MPEG encoding to use:

Property Type

Boolean

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

FRAME_RATE

An integer value that specifies the frame rate used in creating the MPEG file:

Table 31-12: FRAME_RATE Values 

Value
Descriptions
1

23.976 frames/sec: NTSC encapsulated film rate

2

24 frames/sec: Standard international film rate

3

25 frames/sec: PAL video frame rate

4

29.97 frames/sec: NTSC video frame rate

5

30 frames/sec: NTSC drop frame video frame rate (the default)

6

50 frames/sec: Double frame rate/progressive PAL

7

59.94 frames/sec: Double frame rate NTSC

8

60 frames/sec: Double frame rate NTSC drop frame video

Property Type

Integer

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

IFRAME_GAP

A positive integer value that specifies the number of frames between I frames to be created in the MPEG file. I frames are full-quality image frames that may have a number of predicted or interpolated frames between them.

Set this property to 0 (the default setting) to indicate that IDL should compute the IFRAME_GAP value based upon the value you have specified for the QUALITY property. The value of IFRAME_GAP returned by IDLgrMPEG::GetProperty is either the value computed by IDL from the QUALITY value or the last non-zero valid value stored in this property.

Note
Only use the IFRAME_GAP property if changing the QUALITY property value does not produce the desired results.

Property Type

Integer

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

INTERLACED

A Boolean value that indicates whether frames in the encoded MPEG file should be interlaced.

When interlacing is set, the video data is written to the file by writing the odd-numbered scan lines first, followed by the even-numbered scan lines. This format is used to provide smoother screen refreshing on slower display devices. You may need to generate an interlaced file if the intended playback device requires interlaced video data. Most modern MPEG playback devices can handle non-interlaced (progressive scan) video.

Property Type

Boolean

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

MOTION_VEC_LENGTH

An integer value that specifies the length of the motion vectors to be used to generate predictive frames. The following table describes the valid values:

Table 31-13: MOTION_VEC_LENGTH Values

Value
Description
1

Small motion vectors.

2

Medium motion vectors.

3

Large motion vectors.

0 (the default setting) indicates that IDL should compute the MOTION_VEC_LENGTH value based upon the value you have specified for the QUALITY property. The value of MOTION_VEC_LENGTH returned by IDLgrMPEG::GetProperty is either the value computed by IDL from the QUALITY value or the last non-zero value stored in this property.

Note
Only use the MOTION_VEC_LENGTH property if changing the QUALITY value does not produce the desired results.

Property Type

Integer

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

QUALITY

An integer value between 0 (low quality) and 100 (high quality), inclusive, that specifies the quality at which the MPEG stream is to be stored. Higher quality values result in lower rates of time compression and less motion prediction which provide higher quality MPEGs but with substantially larger file size. Lower quality factors may result in longer MPEG generation times. The default is 50.

Note
Since MPEG uses JPEG (lossy) compression, the original picture quality cannot be reproduced even when setting QUALITY to its highest setting.

Property Type

Integer

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

SCALE

A two-element floating-point vector, [xscale, yscale], indicating the scale factors to be stored with the MPEG file as hints for playback. The default is [1.0, 1.0], indicating that the movie should be played back at the dimensions of the stored image frames.

Property Type

Floating-point vector

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

STATISTICS

A Boolean value that determines whether to save statistical information about MPEG encoding for the supplied image frames in a file when the IDLgrMPEG::Save method is called. The information will be saved in a file with a name that matches that specified by the FILENAME property, with the extension ".stat".

Property Type

Boolean

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

TEMP_DIRECTORY

A string value that specifies the directory in which to place temporary files while creating the MPEG movie file. The default value is platform specific.

Property Type

String

Name String

not displayed

Get: No

Set: No

Init: Yes

Registered: No