Ссылка типов данных FxPlug
Этот документ описывает типы данных, определенные в FxPlug SDK, которые не являются определенным классом.
-
2D представление точки.
Объявление
Objective C
typedef CGPoint FxPoint2D;
Оператор импорта
-
2D выровненный осью прямоугольник с целочисленными координатами.
Объявление
Objective C
typedef struct FxRect { SInt32 left; SInt32 bottom; SInt32 right; SInt32 top; } FxRect;
Константы
-
left
left
Компонент левого края прямоугольника.
-
bottom
bottom
Компонент базового края прямоугольника.
-
right
right
Компонент правого края прямоугольника.
-
top
top
Главный граничный компонент прямоугольника.
Оператор импорта
-
-
Структура для хранения значений ширины и высоты.
Объявление
Objective C
typedef CGSize FxSize;
Оператор импорта
-
Константы раньше идентифицировали битовую глубину.
Объявление
Objective C
enum { kFxDepth_UINT8 = 0, kFxDepth_FLOAT16 = 2, kFxDepth_FLOAT32 = 3 }; typedef NSUInteger FxDepth;
Константы
-
kFxDepth_UINT8
kFxDepth_UINT8
Каждый компонент является 8-разрядным целым числом.
-
kFxDepth_FLOAT16
kFxDepth_FLOAT16
Каждый компонент является 16-разрядным плаванием.
-
kFxDepth_FLOAT32
kFxDepth_FLOAT32
Каждый компонент является 32-разрядным плаванием.
Оператор импорта
-
-
Некоторые распространенные ошибки, которые могут быть возвращены сменными приложениями узлов.
Объявление
Objective C
enum { kFxError_Success = 0, kFxError_InvalidParameterID, kFxError_InvalidParameterChannelIndex, kFxError_InvalidKeyframeIndex, kFxError_InvalidTime, kFxError_InvalidParameter, kFxError_OutOfMemory, kFxError_MemoryNotAllocated, kFxError_OpenGLError, kFxError_InvalidPathID, kFxError_InvalidPathIndex, kFxError_InvalidSegmentIndex, kFxError_ThirdPartyDeveloperStart = 100000 }; typedef NSUInteger FxError;
Константы
-
kFxError_Success
kFxError_Success
Никакая ошибка не произошла. Вызов успешно выполнился.
-
kFxError_InvalidParameterID
kFxError_InvalidParameterID
Недопустимый параметр ID использовался.
-
kFxError_InvalidParameterChannelIndex
kFxError_InvalidParameterChannelIndex
Число неверного канала для параметра использовалось.
-
kFxError_InvalidKeyframeIndex
kFxError_InvalidKeyframeIndex
Использовался недопустимый индекс ключевого кадра.
-
kFxError_InvalidTime
kFxError_InvalidTime
Использовалось недопустимое время.
-
kFxError_InvalidParameter
kFxError_InvalidParameter
Параметр, отправленный в метод API, был недопустим. Например, a
nil
указатель, объект не реализует протокол и т.д. -
kFxError_OutOfMemory
kFxError_OutOfMemory
Неспособный выделить память.
-
kFxError_MemoryNotAllocated
kFxError_MemoryNotAllocated
Попытка к свободной памяти, не выделенной.
-
kFxError_OpenGLError
kFxError_OpenGLError
OpenGL возвратил ошибку.
-
kFxError_InvalidPathID
kFxError_InvalidPathID
Никакой путь с тем, что существует ID.
-
kFxError_InvalidPathIndex
kFxError_InvalidPathIndex
Индекс больше, чем число путей.
-
kFxError_InvalidSegmentIndex
kFxError_InvalidSegmentIndex
Индекс сегмента пути больше, чем число сегментов по пути.
-
kFxError_ThirdPartyDeveloperStart
kFxError_ThirdPartyDeveloperStart
Все сторонние ошибочные значения должны быть больше, чем или равными этому значению.
Оператор импорта
-
-
Константы раньше идентифицировали поле. До FxPlug SDK 1.2 этот тип использовался для идентификации полевого порядка. С FxPlug SDK 1.2 это используется для идентификации поля изображения.
Объявление
Objective C
enum { kFxField_NONE = 0, kFxField_UPPER = 1, kFxField_LOWER = 2 }; typedef NSUInteger FxFieldOrder;
Константы
-
kFxField_NONE
kFxField_NONE
Полный кадр, прогрессивный (никакие поля).
-
kFxField_UPPER
kFxField_UPPER
Верхнее поле.
-
kFxField_LOWER
kFxField_LOWER
Более низкое поле.
Оператор импорта
-
-
Константы раньше идентифицировали полевой порядок потока изображения.
Объявление
Objective C
enum { kFxFieldOrder_PROGRESSIVE = 0, kFxFieldOrder_UPPER_FIRST = 1, kFxFieldOrder_LOWER_FIRST = 2 }; typedef NSUInteger FxFieldOrder;
Константы
-
kFxFieldOrder_PROGRESSIVE
kFxFieldOrder_PROGRESSIVE
Полный кадр, прогрессивный (никакие поля).
-
kFxFieldOrder_UPPER_FIRST
kFxFieldOrder_UPPER_FIRST
Верхнее поле сначала.
-
kFxFieldOrder_LOWER_FIRST
kFxFieldOrder_LOWER_FIRST
Более низкое поле сначала.
Оператор импорта
-
-
Константы для указания типа ключевого кадра
Объявление
Objective C
enum { kFxKeyframeStyle_Constant = 0x0001, kFxKeyframeStyle_Linear = 0x0002, kFxKeyframeStyle_Quadratic = 0x0004, kFxKeyframeStyle_Cubic = 0x0008, kFxKeyframeStyle_Bezier = 0x0010, kFxKeyframeStyle_EaseIn = 0x0080, kFxKeyframeStyle_EaseOut = 0x0100, kFxKeyframeStyle_BSpline = 0x0400, kFxKeyframeStyle_XSpline = 0x1000, kFxKeyframeStyle_Exponential= 0x2000, kFxKeyframeStyle_Logarithmic= 0x4000, kFxKeyframeStyle_Mixed = 0x80000000, kFxKeyframeStyle_All = 0x7fff, kFxKeyframeStyle_None = 0x0000 }; typedef NSUInteger FxKeyframeStyle;
Константы
-
kFxKeyframeStyle_Constant
kFxKeyframeStyle_Constant
Также известный, как «Содержат», постоянные ключевые кадры имеют постоянное значение между ключевыми кадрами.
-
kFxKeyframeStyle_Linear
kFxKeyframeStyle_Linear
Значения интерполированы вдоль прямой линии между ключевыми кадрами.
-
kFxKeyframeStyle_Quadratic
kFxKeyframeStyle_Quadratic
Значения интерполированы вдоль квадратичной кривой.
-
kFxKeyframeStyle_Cubic
kFxKeyframeStyle_Cubic
Значения интерполированы вдоль кубической кривой.
-
kFxKeyframeStyle_Bezier
kFxKeyframeStyle_Bezier
Значения интерполированы вдоль кубической кривой, которой пользователь может управлять путем варьирования дескрипторов касательной.
-
kFxKeyframeStyle_EaseIn
kFxKeyframeStyle_EaseIn
Значения интерполированы вдоль предрасчетной кубической кривой что гладко переходы в следующее значение.
-
kFxKeyframeStyle_EaseOut
kFxKeyframeStyle_EaseOut
Значения интерполированы вдоль предрасчетной кубической кривой что гладко переходы из предыдущего значения.
-
kFxKeyframeStyle_BSpline
kFxKeyframeStyle_BSpline
Значения интерполированы вдоль B-сплайна.
-
kFxKeyframeStyle_XSpline
kFxKeyframeStyle_XSpline
Значения интерполированы вдоль взвешенного X-шлица.
-
kFxKeyframeStyle_Exponential
kFxKeyframeStyle_Exponential
Значения интерполированы вдоль экспоненты.
-
kFxKeyframeStyle_Logarithmic
kFxKeyframeStyle_Logarithmic
Значения интерполированы вдоль логарифмической кривой.
-
kFxKeyframeStyle_Mixed
kFxKeyframeStyle_Mixed
Ключевой кадр является смесью двух из вышеупомянутых типов.
-
kFxKeyframeStyle_All
kFxKeyframeStyle_All
Маска для всех типов.
-
kFxKeyframeStyle_None
kFxKeyframeStyle_None
Маска ни для каких типов.
Оператор импорта
-
-
Определяет, являются ли основы времени относительными или абсолютными.
Объявление
Objective C
enum { kFxTimeBase_TIMELINE = 0, kFxTimeBase_CLIP = 1 }; typedef NSUInteger FxTimeBase;
Константы
-
kFxTimeBase_TIMELINE
kFxTimeBase_TIMELINE
Времена являются абсолютными числами кадра, где
0
запуск временной шкалы. -
kFxTimeBase_CLIP
kFxTimeBase_CLIP
Времена «относительны клипом», означая это
0
запуск клипа. Для генераторов и переходов, клип является самим эффектом. Для фильтров клип является видео элементом, к которому применяется фильтр.
Оператор импорта
-
-
Уникальный идентификатор для пути
Объявление
Objective C
typedef void* FxPathID;
Оператор импорта
-
Введите определение, используемое для указания запроса рендеринга.
Объявление
Objective C
typedef struct { double frame; FxQuality qualityLevel; FxFieldOrder fieldOrder; double scaleX; double scaleY; CGLContextObj sharedContext; FxDepth depth; } FxRenderInfo;
Константы
-
frame
frame
Требуемое время, которое будет представлено, выраженное в числе кадра на проекте или временной шкале последовательности. Обратите внимание на то, что это - число кадра с плавающей точкой. В чересстрочном видео время для первого поля было бы целым числом i; для второго поля, не целое число (я + 0.5).
-
qualityLevel
qualityLevel
Требуемое качество рендеринга:
kFxQuality_LOW
,kFxQuality_MEDIUM
, илиkFxQuality_HIGH
. -
fieldOrder
fieldOrder
Полевой порядок кадра, который будет представлен. Значение будет
kFxFieldOrder_PROGRESSIVE
для рендеринга предварительных просмотров, и для прогрессивной видеозаписи., Когда плагин должен будет представить чередованную видеозапись, это будет постоянное значение для всех полей, которые Ваш плагин просят представить. Например, если плагин применяется к NTSC видеозапись DV, обычно этот тип видеозаписи имеет полевой порядокkFxFieldOrder_LOWER_FIRST
. Когда спросили представлять поля,fieldOrder
значение всегда будетkFxFieldOrder_LOWER_FIRST
. При рендеринге миниатюр для списка слоев в Движении значение будетkFxFieldOrder_PROGRESSIVE
). Для определения, какое поле плагин фактически просят представить, проверьте выходное изображениеfield
метод. Это чередуется междуkFxField_UPPER
иkFxField_LOWER
для чересстрочной видеозаписи при рендеринге полей. Перед FxPlug 1.2 это былоFxField
, неFxFieldOrder
. Эти два двоичные совместимый, но плагины должны использоватьFxFieldOrder
ввести. -
scaleX
scaleX
Требуемое горизонтальное значение масштаба. Когда значение - меньше чем 1, тогда координаты вычисления должны составить масштаб прежде, чем выбрать от входного изображения.
-
scaleY
scaleY
Требуемое вертикальное значение масштаба. Когда значение - меньше чем 1, тогда координаты вычисления должны составить масштаб прежде, чем выбрать от входного изображения.
-
sharedContext
sharedContext
OpenGL совместно использовал контекст. Это может быть
NULL
при выполнении рендеринга программного обеспечения. -
depth
depth
Пиксельная глубина буфера:
kFxDepth_UINT8
,kFxDepth_FLOAT16
, илиkFxDepth_FLOAT32
.
Обсуждение
Попиксельная пропорция не принята во внимание когда
scaleX
иscaleY
значения вычислены. Плагины должны смотреть на ввод и выводFxImageInfo
структура для определения попиксельных пропорций.sharedContext
позволяет плагину создавать свой собственный контекст OpenGL, совместно использующий текстуры, предоставленные приложением плагин. Вы не должны обычно использовать этот контекст, если Вы не должны создавать новый контекст и желание его для совместного использования текстур ввода и вывода. Вы никогда не использовали бы этот контекст непосредственно для рисования, также. Приложение устанавливает текущий контекст для вовлечения выходной текстуры прежде, чем вызвать плагин.Оператор импорта
-
-
Константы раньше идентифицировали качество рендеринга.
Объявление
Objective C
enum { kFxQuality_LOW = 0, kFxQuality_MEDIUM = 1, kFxQuality_HIGH = 2 }; typedef NSUInteger FxQuality;
Константы
-
kFxQuality_LOW
kFxQuality_LOW
Самое низкое качество, самый быстрый рендеринг.
-
kFxQuality_MEDIUM
kFxQuality_MEDIUM
Среднее качество, самый медленный рендеринг.
-
kFxQuality_HIGH
kFxQuality_HIGH
Высококачественный, самый медленный рендеринг.
Оператор импорта
-