ADC Home > Reference Library > Reference > Apple Applications > Final Cut Pro/Final Cut Express > FxPlug Reference

 


FxTypes.h

Introduction

Defines common structures and enumerated types.

Discussion

This header file provides common definitions used by other header files in the FxPlug SDK.



Typedefs


FxRenderInfo


typedef struct { 
    double frame; 
    FxQuality qualityLevel; 
    FxFieldOrder fieldOrder; 
    double scaleX; 
    double scaleY; 
    CGLContextObj sharedContext; 
    FxDepth depth; 
} FxRenderInfo;  
Fields
frame
The requested time to be rendered, expressed in a frame number on the project or sequence's timeline. Note that this is a floating-point frame number. In interlaced video, the time for the first field would be an integer i; for the second field, a noninteger (i + 0.5).
qualityLevel
The requested render quality (kFxQuality_LOW, kFxQuality_MEDIUM, or kFxQuality_HIGH).
fieldOrder
The field-order of the frame to be rendered (kFxFieldOrder_PROGRESSIVE, kFxField_UPPER_FIRST, or kFxField_LOWER_FIRST). NOTE: Before FxPlug 1.2, this was an FxField, not an FxFieldOrder. The two are binarily compatible, but plug-ins should use the FxFieldOrder type.
scaleX
The requested horizontal scale value. NOTE: The pixel aspect ratio is not taken into account when the scaleX and scaleY values are computed. Plug-ins should look at the input and output FxImageInfo structure to determine pixel aspect ratios.
scaleY
The requested vertical scale value.
sharedContext
The OpenGL shared context. This may be NULL when doing a software render.
depth
The pixel depth of the buffer (kFxDepth_UINT8, kFxDepth_FLOAT16, or kFxDepth_FLOAT32).
Discussion

Type definition used to specify a render request.

Enumerations


FxDepth


enum { 
    kFxDepth_UINT8 = 0, 
    kFxDepth_FLOAT16 = 2, 
    kFxDepth_FLOAT32 = 3 
};  
Constants
kFxDepth_UINT8
Each component is an 8-bit integer.
kFxDepth_FLOAT16
Each component is a 16-bit float.
kFxDepth_FLOAT32
Each component is a 32-bit float.
Discussion

Constants used to identify bit depth.


FxField


enum { 
    kFxField_NONE = 0, 
    kFxField_UPPER = 1, 
    kFxField_LOWER = 2 
};  
Constants
kFxField_NONE
Full frame, progressive (no fields).
kFxField_UPPER
Upper field.
kFxField_LOWER
Lower field.
Discussion

Constants used to identify a field. NOTE: Before FxPlug 1.2, this type was used to identify field order. As of 1.2, it is used to identify the field of an image.


FxFieldOrder


enum { 
    kFxFieldOrder_PROGRESSIVE = 0, 
    kFxFieldOrder_UPPER_FIRST = 1, 
    kFxFieldOrder_LOWER_FIRST = 2 
};  
Constants
kFxFieldOrder_PROGRESSIVE
Full frame, progressive (no fields).
kFxFieldOrder_UPPER_FIRST
Upper field first.
kFxFieldOrder_LOWER_FIRST
Lower field first.
Discussion

Constants used to identify the field order of an image stream.


FxQuality


enum { 
    kFxQuality_LOW = 0, 
    kFxQuality_MEDIUM = 1, 
    kFxQuality_HIGH = 2 
};  
Constants
kFxQuality_LOW
Lowest quality, fastest render.
kFxQuality_MEDIUM
Medium quality, medium render.
kFxQuality_HIGH
High quality, slowest render.
Discussion

Constants used to identify rendering quality.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.
Last Updated: 2008-06-05