跳转到内容

结构描述

结构描述

imAcceleratorRec

选择器: imRetargetAccelerator

描述当项目管理器复制媒体及其加速器时创建的新媒体和新加速器的路径。

typedef struct {
const prUTF16Char *inOriginalPath;
const prUTF16Char *inAcceleratorPath;
} imAcceleratorRec;
成员描述
inOriginalPath复制的媒体的Unicode路径和名称。
inAcceleratorPath复制的加速器的Unicode路径和名称。

imAnalysisRec

选择器: imAnalysis

发送回分析数据是一个两步过程。首先,将buffersize设置为字符缓冲区的大小并返回imNoErr。

Premiere将立即再次发送imAnalysis;用文本填充缓冲区。之前存储的首选项和privateData在此结构中返回。

typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 buffersize;
char *buffer;
csSDK_int32 *timecodeFormat;
} imAnalysisRec;
成员描述
privatedata来自imGetInfo8imGetPrefs8的实例数据。
prefs来自imGetPrefs8的剪辑源设置数据(设置对话框信息)。
buffersize设置为所需大小并返回imNoErr给Premiere,Premiere将重新调整大小并使用imGetPrefs8选择器再次调用插件。
buffer文本缓冲区。用行结束符(CR和LF)终止行。
timecodeFormat主机发送的首选时间码格式。

imAsyncImporterCreationRec

选择器: imCreateAsyncImporter

使用提供的数据创建异步导入器对象,并将其存储在此处。

typedef struct {
void *inPrivateData;
void *inPrefs;
AsyncImporterEntry outAsyncEntry;
void *outAsyncPrivateData;
}
成员描述
inPrivateData来自imGetInfo8imGetPrefs8的实例数据。
inPrefs来自imGetPrefs8的剪辑源设置(设置对话框信息)。
outAsyncEntry提供异步选择器的入口函数,这些选择器将发送到异步导入器对象。
outAsyncPrivateData异步导入器对象的PrivateData

imAudioInfoRec7

选择器: imGetInfo8 (imFileInfoRec8的成员)

文件的音频数据属性(或如果您生成的是合成数据,则为将生成的数据的属性)。

typedef struct {
csSDK_int32 numChannels;
float sampleRate;
PrAudioSampleType sampleType;
}
成员描述
numChannels音频流中的音频通道数。
可以是1、2或6。
sampleRate以赫兹为单位。
sampleType这仅用于信息目的,以披露磁盘上音频的格式,在导入器将其转换为32位浮点、非交错格式之前。
音频样本类型列在Universals中。

imCalcSizeRec

选择器: imCalcSize8

要求导入器根据提供的修剪边界估算剪辑使用的磁盘空间。

typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 trimIn;
csSDK_int32 duration;
prInt64 sizeInBytes;
csSDK_int32 scale;
csSDK_int32 sampleSize;
} imCalcSizeRec;
成员描述
privatedata来自imGetInfo8imGetPrefs8的实例数据。
prefs来自imGetPrefs8的剪辑源设置(设置对话框信息)。
trimIn修剪剪辑的入点,导入器应计算其大小,时间基准由scale和sampleSize指定。
duration修剪剪辑的持续时间,导入器应计算其大小。
如果为0,则导入器应计算未修剪剪辑的大小。
sizeInBytes返回计算的大小(以字节为单位)。
scale视频剪辑的帧速率,表示为scale除以sampleSize。
sampleSize

imCheckTrimRec

选择器: imCheckTrim8

提供请求的修剪边界给导入器,并允许将调整后的修剪边界传递回Premiere。

typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 trimIn;
csSDK_int32 duration;
csSDK_int32 keepAudio;
csSDK_int32 keepVideo;
csSDK_int32 newTrimIn;
csSDK_int32 newDuration;
csSDK_int32 scale;
csSDK_int32 sampleSize;
} imCheckTrimRec;
成员描述
privatedata来自imGetInfo8imGetPrefs8的实例数据。
prefs来自imGetPrefs8的剪辑源设置(设置对话框信息)。
trimIn请求的修剪剪辑的入点,时间基准由scale和sampleSize指定。
duration请求的持续时间。如果为0,则请求是保持剪辑未修剪,并保持当前持续时间。
keepAudio如果非零,请求是在修剪结果中保留音频。
keepVideo如果非零,请求是在修剪结果中保留视频。
newTrimIn返回可接受的修剪剪辑的入点。它必须在请求的入点之前或与之相同。
newDuration返回可接受的持续时间。newTrimIn + newDuration必须在trimIn + duration之后或与之相同。
scale视频剪辑的帧速率,表示为scale除以sampleSize。
sampleSize

imClipFrameDescriptorRec

选择器: imSelectClipFrameDescriptor

根据inDesiredClipFrameDescriptor中的请求和导入器的源设置,根据需要修改outBestFrameDescriptor以描述导入器将提供的格式。

typedef struct {
void* inPrivateData;
void* inPrefs;
ClipFrameDescriptor inDesiredClipFrameDescriptor;
ClipFrameDescriptor outBestFrameDescriptor;
} imClipFrameDescriptorRec;
成员描述
inPrivatedata来自imGetInfo8imGetPrefs8的实例数据。
inPrefs来自imGetPrefs8的剪辑源设置(设置对话框信息)。
inDesiredClipFrameDescriptor请求的帧属性,由主机描述。
ClipFrameDescriptor结构在PrSDKImporterShared.h中定义。
outBestFrameDescriptor要生成的帧属性,填充初始猜测。

imCompleteAsyncClosedCaptionScanRec

选择器: imCompleteAsyncClosedCaptionScan

此结构用于提供最后一次清理和处置inAsyncCaptionScanPrivateData的机会,并标记封闭字幕扫描是否无错误完成。

typedef struct {
void* inPrivateData;
const void* inPrefs;
void* inAsyncCaptionScanPrivateData;
prBool inScanCompletedWithoutError;
} imCompleteAsyncClosedCaptionScanRec;
成员描述
inPrivatedata来自imGetInfo8imGetPrefs8的实例数据。
inPrefs来自imGetPrefs8的剪辑源设置(设置对话框信息)。
inAsyncCaptionScanPrivateData清理并处置在imInitiateAsyncClosedCaptionScanimGetNextClosedCaption中分配的任何数据。
在此调用返回后不应再访问此数据。
inScanCompletedWithoutError如果没有错误,则设置为true。

imIndColorProfileRec

选择器: imGetIndColorProfile

自13.0起已弃用。描述剪辑支持的颜色配置文件。

第一次发送imGetIndColorProfile时,inDestinationBuffer将为NULL,ioBufferSize将为0。

ioBufferSize设置为缓冲区所需的大小,主机将分配内存并再次调用导入器,使用有效的inDestinationBuffer,并将ioBufferSize设置为导入器刚刚提供的值。

typedef struct {
void *inPrivateData;
csSDK_int32 ioBufferSize;
void *inDestinationBuffer;
PrSDKString outName;
} imIndColorProfileRec;

imCopyFileRec

选择器: imCopyFile

描述如何复制剪辑。还提供回调以更新进度条并检查用户是否取消。

typedef struct {
void *inPrivateData;
csSDK_int32 *inPrefs;
const prUTF16Char *inSourcePath;
const prUTF16Char *inDestPath;
importProgressFunc inProgressCallback;
void *inProgressCallbackID;
} imTrimFileRec;
成员描述
inPrivateDataimGetInfo8imGetPrefs8期间收集的实例数据。
inPrefsimGetPrefs8期间收集的剪辑源设置(设置对话框)。
inSourcePath源文件的完整Unicode路径。
inDestPath目标文件的完整Unicode路径。
inProgressCallbackimportProgressFunc回调,用于重复调用以提供进度并检查用户是否取消。
可能为NULL指针,因此在调用之前请确保函数指针有效。
inProgressCallbackID传递给progressCallback

imDataRateAnalysisRec

选择器: imDataRateAnalysis

指定所需的buffersize,返回imNoErr给Premiere;在下一次调用时,用imDataSamples填充缓冲区,并指定音频的基本数据速率(如果有)。

此结构与imAnalysisRec类似。

typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 buffersize;
char *buffer;
csSDK_int32 baserate;
} imDataRateAnalysisRec;
成员描述
privatedata来自imGetInfo8imGetPrefs8的实例数据。
prefs来自imGetPrefs8的剪辑源设置(设置对话框信息)。
buffersize您在从Premiere传递回数据之前请求的缓冲区大小。
buffer指向要填充imDataSamples的分析缓冲区的指针(见下文结构)。
baserate文件的数据速率(每秒字节数)。
typedef struct {
csSDK_uint32 sampledur;
csSDK_uint32 samplesize;
} imDataSample;
成员描述
sampledur一个样本的持续时间,以视频时间基准为单位,以samplesize为增量;如果这是关键帧,则设置高位。
samplesize此样本的大小(以字节为单位)。

imDeferredProcessingRec

选择器: imDeferredProcessing

描述由inPrivateData引用的剪辑的延迟处理的当前进度。

typedef struct {
void *inPrivateData;
float outProgress;
char outInvalidateFile;
char outCallAgain;
} imDeferredProcessingRec;
成员描述
inPrivateData来自imGetInfo8imGetPrefs8的实例数据。
outProgress将此设置为当前进度,从0.0到1.0。
outInvalidateFile导入器已更新文件的信息。
outCallAgain将此设置为true以请求立即再次调用导入器。

imDeleteFileRec

选择器: imDeleteFile

描述要删除的文件。

typedef struct {
csSDK_int32 filetype;
const prUTF16Char deleteFile;
} imDeleteFileRec;
成员描述
filetype文件的唯一四字符代码,定义在IMPT资源中。
deleteFile指定要删除的文件的名称(和路径)。

imFileAccessRec8

选择器: imGetInfo8imGetPrefs8

描述正在导入的文件。

typedef struct {
void *importID;
csSDK_int32 filetype;
const prUTF16Char *filepath;
imFileRef fileref;
PrMemoryPtr newfilename;
} imFileAccessRec;
成员描述
importIDPremiere提供的唯一ID。请勿修改!
filetype文件的唯一四字符代码,定义在IMPT资源中。
filepathUnicode文件路径和名称。
filerefWindows HANDLE。Premiere不会通过内部使用此值来重载它,尽管将其设置为常量kBadFileRef可能会导致Premiere认为文件已关闭。
此值始终有效。
newfilename如果文件是合成的,导入器可以在imGetPrefs8期间指定可显示的名称,作为prUTF16Char字符串。

imFileAttributesRec

选择器: imGetFileAttributes

Premiere Pro 3.1新增。提供剪辑创建日期。

typedef struct {
prDateStamp creationDateStamp;
csSDK_int32 reserved[40];
} imFileAttributesRec;
成员描述
creationDateStamp存储剪辑创建时间的时间戳结构。

imFileOpenRec8

选择器: imOpenFile8

Premiere 希望导入器打开的文件。

typedef struct {
imFileAccessRec8 fileinfo;
void *privatedata;
csSDK_int32 reserved;
PrFileOpenAccess inReadWrite;
csSDK_int32 inImporterID;
csSDK_size_t outExtraMemoryUsage;
csSDK_int32 inStreamIdx;
} imFileOpenRec8;
成员描述
fileinfo描述传入文件的 imFileAccessRec8
privatedataimGetInfo8imGetPrefs8 收集的实例数据。
reserved请勿使用。
inReadWrite文件应以指定的访问模式打开:
可以是 kPrOpenFileAccess_ReadOnlykPrOpenFileAccess_ReadWrite
inImporterID可用作 PPix Cache Suite 中调用的 ID。
outExtraMemoryUsage新增于 CS5。如果导入器仅因打开而使用内存,且无法在缓存中注册,请在此字段中填写大小(以字节为单位)。
inStreamIdx新增于 CS6。如果剪辑有多个流(用于立体视频或其他用途),此 ID 用于区分它们。

imFileRef

选择器:

在 Windows 上是文件句柄,在 MacOS 上是 void*。

imFileRef 也是 imFileAccessRec 的成员。

操作 imFileRef 时,请使用操作系统特定的函数,而不是 ANSI 文件函数。


imFrameFormat

选择器: imGetSourceVideo (成员为 imSourceVideoRec)

描述帧的尺寸和像素格式。

typedef struct {
csSDK_int32 inFrameWidth;
csSDK_int32 inFrameHeight;
PrPixelFormat inPixelFormat;
} imFrameFormat;
成员描述
inFrameWidth请求的帧尺寸。
inFrameHeight
inPixelFormat请求的帧的像素格式。

imGetAudioChannelLayoutRec

选择器: imGetAudioChannelLayout

导入器应为正在导入的剪辑中的每个音频通道标记标签。

如果未指定标签,则假定通道布局为离散的。

typedef struct {
void* inPrivateData;
PrAudioChannelLabel outChannelLabels[kMaxAudioChannelCount];
} imGetAudioChannelLayoutRec;
成员描述
inPrivatedataimGetInfo8imGetPrefs8 收集的实例数据。
outChannelLabels应为剪辑中的每个通道分配一个有效的音频通道标签。
标签在 Audio Suite 中定义。

imGetNextClosedCaptionRec

选择器: imGetNextClosedCaption

此结构提供了在 imInitiateAsyncClosedCaptionScan 中分配的私有数据,并应填写以返回一个隐藏字幕、其时间、格式、大小以及隐藏字幕扫描的总体进度。

typedef struct {
void* inPrivateData;
const void* inPrefs;
void* inAsyncCaptionScanPrivateData;
float outProgress;
csSDK_int64 outScale;
csSDK_int64 outSampleSize;
csSDK_int64 outPosition;
PrClosedCaptionFormat outClosedCaptionFormat;
PrMemoryPtr outCaptionData;
prUTF8Char outTTMLData[kTTMLBufferSize];
csSDK_size_t ioCaptionDataSize;
} imGetNextClosedCaptionRec;
成员描述
inPrivatedataimGetInfo8imGetPrefs8 收集的实例数据。
inPrefsimGetPrefs8 收集的剪辑源设置(设置对话框信息)。
inAsyncCaptionScanPrivateData提供在 imInitiateAsyncClosedCaptionScan 中分配的任何私有数据。
outProgress更新此值以表示当前遍历所有字幕的进度。有效值在 0.0 到 1.0 之间。
outScaleoutPosition 的时间基准,表示为 scale 除以 sampleSize。
outSampleSize
outPosition隐藏字幕的位置。
outClosedCaptionFormat隐藏字幕的格式。以下之一:
- kPrClosedCaptionFormat_Undefined
- kPrClosedCaptionFormat_CEA608 - CEA-608 字节流
- kPrClosedCaptionFormat_CEA708 - CEA-708 字节流(可能包含 608 数据包装在 708 中)
- kPrClosedCaptionFormat_TTML - 符合 W3C Timed Text Markup Language (TTML) 1.0 或可选符合 SMPTE ST 2052-1:2010,或可选符合 EBU Tech 3350
如果 TTML 字符串包含隧道数据(例如 CEA-608 数据),则建议插件通过适当的字节流格式(例如 kPrClosedCaptionFormat_CEA608)提供该数据。
outCaptionData如果提供 CEA-608 或 CEA-708,插件应将隐藏字幕字节写入的内存位置。
outTTMLData有效的 W3C TTML 数据的 UTF-8 字符串。
整个字符串可以拆分为子字符串(例如逐行),主机将连接并解码它们(仅在 outCaptionDatakPrClosedCaptionFormat_TTML 时使用)。
ioCaptionDataSize从主机分配的 outCaptionData 缓冲区的大小(以字节为单位)。导入器应设置此变量为实际写入 outCaptionData 的字节数,或 outTTMLData 指向的字符串的长度(字符数,而非字节数)。

imGetPrefsRec

选择器: imGetPrefs8

包含从设置对话框收集的设置/首选项数据(或默认值填充)。

如果您正在创建媒体,则可以生成包含时间轴背景帧的视频预览。

typedef struct {
char *prefs;
csSDK_int32 prefsLength;
char firstTime;
PrTimelineID timelineData;
void *privatedata;
TDB_TimeRecord tdbTimelineLocation;
csSDK_int32 sessionPluginID;
csSDK_int32 imageWidth;
csSDK_int32 imageHeight;
csSDK_uint32 pixelAspectNum;
csSDK_uint32 pixelAspectDen;
csSDK_int32 vidScale;
csSDK_int32 vidSampleSize;
float sampleRate;
} imGetPrefsRec;
成员描述
prefs指向用于存储剪辑源设置的私有结构(您分配)的指针。
prefsLength在将任何内容存储到 prefs 成员之前,请将 prefsLength 设置为您的结构的大小并返回 imNoErr;Premiere 将重新调整大小并再次调用插件 imGetPrefs8
firstTime如果设置,则 imGetPrefs8 是第一次发送。
相反,请检查 prefs 是否已分配。如果没有,则 imGetPrefs8 是第一次发送。设置 prefsLength 缓冲区的默认值并显示任何设置对话框。
timelineData可以 传递给 getPreviewFrameEx 回调以及 tdbTimelineLocation 以获取当前剪辑或时间轴位置下方的时间轴帧。这对于标题插件很有用。
privatedata私有实例数据。
如果尚未在 imGetInfo8 中分配,请使用 Premiere 的内存函数分配一个句柄并将其存储在此处。
Premiere 将在后续选择器中返回该句柄。
tdbTimelineLocation可以 传递给 getPreviewFrameEx 回调以及 timelineData 以获取当前剪辑或时间轴位置下方的时间轴帧。这对于标题插件很有用。
sessionPluginID此 ID 应用于 File Registration Suite 中注册外部文件(例如纹理、徽标等),这些文件由导入器实例使用但不会作为素材出现在项目窗口中。
使用项目管理器修剪或复制项目时,将考虑已注册的文件。sessionPluginID 仅在传递它的调用中有效。
imageWidth新增于 CS5。视频的原生分辨率。
imageHeight
pixelAspectNum新增于 CS5。视频的像素宽高比。
pixelAspectDen
vidScale新增于 CS5。视频的帧速率,表示为 scale 除以 sampleSize。
vidSampleSize
sampleRate新增于 CS5。音频采样率。

imImageInfoRec

选择器: imGetInfo8 (成员为 imFileInfoRec8)

描述要导入的视频。

typedef struct {
csSDK_int32 imageWidth;
csSDK_int32 imageHeight;
csSDK_uint16 pixelAspectV1;
csSDK_uint16 depth;
csSDK_int32 subType;
char fieldType;
char fieldsStacked;
char reserved_1;
char reserved_2;
char alphaType;
matteColRec matteColor;
char alphaInverted;
char isVectors;
char drawsExternal;
char canForceInternalDraw;
char dontObscure;
char isStill;
char noDuration;
char reserved_3;
csSDK_uint32 pixelAspectNum;
csSDK_uint32 pixelAspectDen;
char isRollCrawl;
char reservedc[3];
csSDK_int32 importerID;
csSDK_int32 supportsAsyncIO;
csSDK_int32 supportsGetSourceVideo;
csSDK_int32 hasPulldown;
csSDK_int32 pulldownCadence;
csSDK_int32 posterFrame;
csSDK_int32 canTransform;
csSDK_int32 interpretationUncertain;
csSDK_int32 colorProfileSupport;
PrSDKString codecDescription;
csSDK_int32 colorSpaceSupport;
PrTime frameRate;
prBool hasEmbeddedLUT;
csSDK_int32 reserved[12];
} imImageInfoRec;

插件信息

成员描述
importerID可以 用作 PPix Cache Suite 中调用的 ID。
supportsAsyncIO如果导入器支持 imCreateAsyncImporter 和 ai* 选择器,请将此设置为 true。
supportsGetSourceVideo如果导入器支持 imGetSourceVideo 选择器,请将此设置为 true。

边界信息

成员描述
imageWidth帧宽度(以像素为单位)。
imageHeight帧高度(以像素为单位)。
pixelAspectNum像素宽高比的分子和分母。
对于合成导入器,默认情况下这些是项目的 PAR。
仅当您需要特定的 PAR 以使合成素材的几何形状正确时才设置此值。
pixelAspectDen

时间信息

成员描述
isStill如果设置,则文件包含单帧,因此只会缓存一帧。
noDuration以下之一:
- imNoDurationFalse
- imNoDurationNoDefault
- imNoDurationStillDefault - 使用用户在首选项中设置的静止图像默认持续时间
- imNoDurationNoDefault - 导入器将提供自己的持续时间
这主要用于合成剪辑,但也可用于导入非顺序静止图像。
isRollCrawl设置为非零值以指定此剪辑为滚动或爬行标题。
这允许播放器可选地使用 RollCrawl Suite 获取此标题的部分内容以进行实时播放。
hasPulldown如果剪辑包含 NTSC 胶片素材并带有 3:2 下拉,请将此设置为 true。
pulldownCadence将此设置为描述剪辑下拉的枚举值:
- importer_PulldownPhase_NO_PULLDOWN
2:3 节奏:
- importer_PulldownPhase_WSSWW
- importer_PulldownPhase_SSWWW
- importer_PulldownPhase_SWWWS
- importer_PulldownPhase_WWWSS
- importer_PulldownPhase_WWSSW
24pa 节奏:
- importer_PulldownPhase_WWWSW
- importer_PulldownPhase_WWSWW
- importer_PulldownPhase_WSWWW
- importer_PulldownPhase_SWWWW
- importer_PulldownPhase_WWWWS
posterFrame新增于 Premiere Pro CS3。要显示的海报帧号。
如果未指定,海报帧将是剪辑的第一帧。

格式信息

成员描述
depth每像素的位数。目前没有效果,应保持不变。
subType文件编解码器的四字符代码;将文件与MAL插件关联。对于未压缩的文件,设置为imUncompressed
fieldType以下之一:
- prFieldsNone
- prFieldsUpperFirst
- prFieldsLowerFirst
- prFieldsUnknown
fieldsStacked存在字段,且未交错。自Premiere Pro 7.0起已弃用。
alphaType当深度为32或更大时使用。以下之一:
- alphaNone - 无Alpha通道(默认)
- alphaStraight - 直通Alpha通道
- alphaBlackMatte - 预乘以黑色
- alphaWhiteMatte - 预乘以白色
- alphaArbitrary - 预乘以matteColor中指定的颜色
- alphaOpaque - 用于Alpha通道预填充为不透明的视频。
这为Premiere提供了优化机会,跳过如果设置为alphaNone时将执行的填充到不透明的操作。
matteColor在Premiere Pro CS3中新增。如果alphaType设置为alphaArbitrary,则用于指定遮罩颜色。
alphaInverted如果非零,则Alpha被视为反转(例如黑色变为透明)。
canTransform设置为非零值以指定此导入器处理分辨率独立的文件,并可以应用变换矩阵。
矩阵将在导入请求期间通过imImportImageRec.transform传递。
目前Premiere Pro未调用此代码路径。After Effects使用此调用来导入Flash视频。
interpretationUncertain使用“或”运算符组合以下任何标志:
- imPixelAspectRatioUncertain
- imFieldTypeUncertain
- imAlphaInfoUncertain
- imEmbeddedColorProfileUncertain
colorProfileSupport自13.0起已弃用。CS5.5新增。
设置为imColorProfileSupport_Fixed以支持色彩管理。
如果导入器不确定,应使用上面的interpretationUncertain
codecDescription使用的编解码器的文本描述。
ColorProfileRec13.0新增;描述导入器使用的色彩配置文件,与此媒体一起使用。
colorSpaceSupport设置为imColorSpaceSupport_Fixed以支持色彩管理。
如果导入器不确定,应使用上面的imColorSpaceSupport_None
hasEmbeddedLUT如果媒体包含嵌入式LUT,则设置为kPrTrue。否则设置为kPrFalse

未使用

成员描述
pixelAspectV1已过时。为向后兼容而保留。
为Premiere 6.x或Premiere Pro API编写的插件应使用pixelAspectNumpixelAspectDen
isVectors使用canTransform代替。
drawsExternal
canForceInternalDraw
dontObscure

imImportAudioRec7

选择器: imImportAudio7

描述要返回的音频样本,并包含一个分配的缓冲区供导入器填充。

以32位浮点、非交错音频格式提供音频。

typedef struct {
PrAudioSample position;
csSDK_uint32 size;
float **buffer;
void *privatedata;
void *prefs;
} imImportAudioRec7;
成员描述
position入点,以音频样本帧为单位。
导入器应将请求的出点保存在privatedata中,因为如果position小于零,则音频请求是连续的,这意味着导入器应从上次imImportAudio7调用返回连续的样本。
size要导入的音频样本帧数。
buffer一个缓冲区数组,每个通道一个缓冲区,长度由size指定。
这些缓冲区由主机应用程序分配,供插件填充音频数据。
privatedataimGetInfo8imGetPrefs8收集的实例数据。
prefsimGetPrefs8收集的剪辑源设置数据(设置对话框信息)。

imImportImageRec

选择器: imImportImage

描述要返回的帧。

typedef struct {
csSDK_int32 onscreen;
csSDK_int32 dstWidth;
csSDK_int32 dstHeight;
csSDK_int32 dstOriginX;
csSDK_int32 dstOriginY;
csSDK_int32 srcWidth;
csSDK_int32 srcHeight;
csSDK_int32 srcOriginX;
csSDK_int32 srcOriginY;
csSDK_int32 unused2;
csSDK_int32 unused3;
csSDK_int32 rowbytes;
char *pix;
csSDK_int32 pixsize;
PrPixelFormat pixformat;
csSDK_int32 flags;
prFieldType fieldType;
csSDK_int32 scale;
csSDK_int32 sampleSize;
csSDK_int32 in;
csSDK_int32 out;
csSDK_int32 pos;
void *privatedata;
void *prefs;
prRect alphaBounds;
csSDK_int32 applyTransform;
float transform[3][3];
prRect destClipRect;
} imImportImageRec;

边界信息(用于imImportImageRec)

成员描述
dstWidth目标矩形的宽度(以像素为单位)。
dstHeight目标矩形的高度(以像素为单位)。
dstOriginX原点X点(0表示帧在屏幕外绘制)。
dstOriginY原点Y点(0表示帧在屏幕外绘制)。
srcWidth与dstWidth返回的相同数字。
srcHeight与dstHeight返回的相同数字。
srcOriginX与dstOriginX返回的相同数字。
srcOriginY与dstOriginY返回的相同数字。

帧信息

成员描述
rowbytes单行像素的字节数。
pix指向导入器应绘制的缓冲区的指针。根据imGetInfo8中的信息分配。
pixsize像素数。rowbytes * height。
pixformatPremiere请求的像素格式。
flagsimDraftMode - 如果可能,快速绘制,使用更快且可能不太准确的算法。
从时间线播放时可能会传递此标志。
imSamplesAreFields - 大多数导入器将忽略,因为Premiere已经缩放入/出/缩放以考虑字段,但如果您需要知道这种情况已经发生(因为您可能以“帧”为单位测量某些内容),请检查此标志。
另外,我们建议考虑以秒而不是帧为单位进行测量。
fieldType如果导入器可以交换字段,它应使用给定的字段优势渲染帧:imFieldsUpperFirstimFieldsLowerFirst
scale视频的帧速率,表示为scale除以sampleSize。
sampleSize
in入点,基于scale除以sampleSize定义的时间基准。
out出点,基于scale除以sampleSize定义的时间基准。
pos导入位置,基于上述时间基准。
API错误:合成和自定义导入器将始终接收零。
因此,调整时间线上的入点不会偏移入点。
privatedataimGetInfoimGetPrefs期间收集的实例数据。
prefsimGetPrefs期间收集的剪辑源设置数据(设置对话框信息)。
alphaBounds这是Alpha始终为0的矩形外部。如果Alpha边界与目标边界匹配,则只需不更改此字段。
如果设置,Alpha边界必须包含在目标边界内。目前仅在插件调用ppixGetAlphaBounds时使用,目前没有任何原生插件使用。
applyTransformAfter Effects CS3新增。目前Premiere未提供。
如果非零,主机请求导入器在返回结果图像到pix之前应用transform和destClipRect中指定的变换。
transformAfter Effects CS3新增。目前Premiere未提供。源到目标的变换矩阵。
destClipRectAfter Effects CS3新增。目前Premiere未提供。pix缓冲区边界内的目标矩形。

imImportInfoRec

选择器: imInit

描述导入器的功能给Premiere。

typedef struct {
csSDK_uint32 importerType;
csSDK_int32 canOpen;
csSDK_int32 canSave;
csSDK_int32 canDelete;
csSDK_int32 canResize;
csSDK_int32 canDoSubsize;
csSDK_int32 canDoContinuousTime;
csSDK_int32 noFile;
csSDK_int32 addToMenu;
csSDK_int32 hasSetup;
csSDK_int32 dontCache;
csSDK_int32 setupOnDblClk;
csSDK_int32 keepLoaded;
csSDK_int32 priority;
csSDK_int32 canAsync;
csSDK_int32 canCreate;
csSDK_int32 canCalcSizes;
csSDK_int32 canTrim;
csSDK_int32 avoidAudioConform;
prUTF16Char *acceleratorFileExt;
csSDK_int32 canCopy;
csSDK_int32 canSupplyMetadataClipName;
csSDK_int32 private;
csSDK_int32 canProvidePeakAudio;
csSDK_int32 canProvideFileList;
csSDK_int32 canProvideClosedCaptions;
prPluginID fileInfoVersion;
} imImportInfoRec;

屏幕信息

成员描述
noFile如果设置,这是一个合成导入器。文件引用将为零。
addToMenu如果设置为imMenuNew,导入器将出现在文件>新建菜单中。
canDoContinuousTime如果设置,导入器可以在任意时间渲染帧,并且没有固定的时间码。
颜色遮罩生成器或标题器将设置此标志。
canCreate如果设置,Premiere将将此合成导入器视为创建磁盘上的文件以引用帧和音频。
有关自定义导入器的更多信息,请参阅附加详细信息。

文件处理标志

成员描述
canOpen如果设置,导入器处理打开和关闭操作。
如果插件需要被调用来处理imOpenFileimQuietFileimCloseFile,则设置此标志。
canSave如果设置,导入器处理文件>保存和文件>另存为在剪辑捕获后,并且必须处理imSaveFile选择器。
canDelete如果设置,导入器可以删除自己的文件。
插件必须处理imDeleteFile选择器。
canCalcSizes如果设置,导入器可以在imCalcSize期间计算剪辑使用的磁盘空间。
如果导入器使用表示为Premiere中的一个顶级文件的文件树,则应支持此调用。
canTrim如果设置,导入器可以在imTrimFile期间修剪文件。
canCopy如果导入器支持在项目管理器中复制剪辑,则设置为true。

设置标志

成员描述
hasSetup如果设置,导入器有一个设置对话框。对话框应在imGetPrefs响应中呈现。
setupOnDblClk如果设置,每当用户在时间线或项目箱中双击由插件导入的文件时,应打开设置对话框。

内存处理标志

成员描述
dontCache未使用。
keepLoaded如果设置,导入器插件应永远不会被卸载。
除非绝对必要(通常不是),否则不要设置此标志。

其他

成员描述
priority确定处理相同文件类型的导入器的优先级级别。
数字较高的导入器将覆盖数字较低的导入器。
对于覆盖Premiere附带的导入器,使用100或更大的值。
较高优先级的导入器可以通过在imOpenFile8imGetInfo8期间返回imBadFile将文件推迟到较低优先级的导入器。
importType基于插件的IMPT资源分配的导入模块类型标识符。
不要修改此字段。
canProvideClosedCaptionsPremiere Pro CC新增。如果导入器支持带有嵌入式隐藏字幕的媒体,则设置为true。
avoidAudioConform如果导入器支持快速音频检索并且不需要其导入的音频剪辑进行转换,则设置为true。
canProvidePeakAudioPremiere Pro CS5.5新增。如果您的非合成导入器希望使用imGetPeakAudio提供峰值音频数据,则设置为true。
acceleratorFileExt用导入器创建和使用的加速器文件的文件扩展名填充此大小为256的prUTF16Char数组。
canSupplyMetadataClipName允许基于文件的导入器从元数据设置剪辑名称。
imFileInfoRec8.streamName中设置此标志。
canProvideFileListCS6新增。如果导入器将在imQueryInputFileList响应中提供复制操作的所有文件列表,则设置为true。
fileInfoVersionCC 2014新增。此标志由内部导入器中的优化使用。请勿使用。

未使用 (在 imImportInfoRec 中)

成员描述
canResize
canDoSubsize
canAsync

imIndFormatRec

选择器: imGetIndFormat

描述导入器支持的格式。合成文件只能有一种格式。

typedef struct {
csSDK_int32 filetype;
csSDK_int32 flags;
csSDK_int32 canWriteTimecode;
char FormatName[256];
char FormatShortName[32];
char PlatformExtension[256];
prBool hasAlternateTypes;
csSDK_int32 alternateTypes[kMaxAlternateTypes];
csSDK_int32 canWriteMetaData;
} imIndFormatRec;
成员描述
filetype文件的唯一四字符代码 (fourcc)。
flags描述导入器功能的旧机制。
尽管为了向后兼容性仍然会使用这些标志,但当前和未来的导入器不应使用这些标志。
详情见下表。
canWriteTimecode如果设置,可以为此文件类型写入时间码。
FormatName[256]描述性导入器名称。
FormatShortName[256]插件的短名称,出现在格式菜单中。
PlatformExtension[256]此导入器支持的所有文件扩展名列表。
如果有多个,请用空字符分隔。
hasAlternateTypes未使用
alternateTypes[kMaxAlternateTypes]未使用
canWriteMetaData6.0 新增。如果设置,支持为此文件类型调用 imSetMetaData

以下标志仅适用于旧插件,不应使用。

标志用途
xfIsMovie未使用
xfCanReplace未使用
xfCanOpen未使用:请改用 imImportInfoRec.canOpen
xfCanImport未使用:PiPL 资源将文件描述为导入器。
xfIsStill表示导入器处理静态图像。
xfIsSound未使用:请改用 imFileInfoRec.hasAudio
xfCanWriteTimecode如果设置,导入器可以响应 imGetTimecodeimSetTimecode
已过时:请改用 imIndFormatRec.canWriteTimecode
xfCanWriteMetaData写入(和读取)元数据,特定于导入器的四字符代码文件类型。
已过时:请改用 imIndFormatRec.canWriteMetaData
xfCantBatchProcess未使用

imIndPixelFormatRec

选择器: imGetIndPixelFormat

描述导入器支持的像素格式。

typedef struct {
void *privatedata;
PrPixelFormat outPixelFormat;
const void* prefs;
} imIndPixelFormatRec;
成员描述
privatedata来自 imGetInfo8imGetPrefs8 的实例数据。
outPixelFormat导入器支持的像素格式之一。
prefsCC 新增。在 imGetPrefs8(设置对话框)期间收集的剪辑源设置数据。

imInitiateAsyncClosedCaptionScanRec

选择器: imInitiateAsyncClosedCaptionScan

imGetNextClosedCaptionimCompleteAsyncClosedCaptionScan 可能会从与 imInitiateAsyncClosedCaptionScan 最初调用的线程不同的线程中调用。

为了帮助实现这一点,导入器可以分配 outAsyncCaptionScanPrivateData 用于即将进行的隐藏字幕扫描调用,然后在 imCompleteAsyncClosedCaptionScan 中释放。

还可以填写所有隐藏字幕的估计持续时间。

这对于某些情况下嵌入的字幕包含许多空数据帧的情况很有用。

typedef struct {
void* privatedata;
void* prefs;
void* outAsyncCaptionScanPrivateData;
csSDK_int64 outScale;
csSDK_int64 outSampleSize;
csSDK_int64 outEstimatedDuration;
} imInitiateAsyncClosedCaptionScanRec;
成员描述
privatedataimGetInfo8imGetPrefs8 期间收集的实例数据。
prefsimGetPrefs8(设置对话框)期间收集的剪辑源设置数据。
outAsyncCaptionScanPrivateData导入器可以为此隐藏字幕扫描分配实例数据,并在此处传递回来。
outScaleCC 2013 年 10 月新增。视频剪辑的帧速率,表示为 scale 除以 sampleSize。
outSampleSize
outEstimatedDurationCC 2013 年 10 月新增。所有字幕的估计持续时间,以上述时间尺度表示。

imMetaDataRec

选择器: imGetMetaDataimSetMetaData

描述特定于给定四字符代码的元数据。

typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 fourCC;
csSDK_uint32 buffersize;
char *buffer;
} imMetaDataRec;
成员描述
privatedataimGetInfo8imGetPrefs8 期间收集的实例数据。
prefsimGetPrefs8(设置对话框)期间收集的剪辑源设置数据。
fourcc元数据块的四字符代码。
buffersizebuffer 中数据的大小。
buffer元数据。

imPeakAudioRec

选择器: imGetPeakAudio

描述指定位置的音频峰值。

typedef struct {
void *inPrivateData;
void *inPrefs;
PrAudioSample inPosition;
float inSampleRate;
csSDK_int32 inNumSampleFrames;
float **outMaxima;
float **outMinima;
} imPeakAudioRec;
成员描述
inPrivateDataimGetInfo8imGetPrefs8 期间收集的实例数据。
inPrefsimGetPrefs8(设置对话框)期间收集的实例数据。
inPosition峰值数据的起始音频采样帧。
inSampleRate生成峰值数据的采样率。
inNumSampleFrames每个缓冲区中的采样帧数。
outMaxima要填充最大采样值的数组数组。
outMinima要填充最小采样值的数组数组。

imPreferredFrameSizeRec

选择器: imGetPreferredFrameSize

描述导入器首选的帧大小。

typedef struct {
void *inPrivateData;
void *inPrefs;
PrPixelFormat inPixelFormat;
csSDK_int32 inIndex;
csSDK_int32 outWidth;
csSDK_int32 outHeight;
} imPreferredFrameSizeRec;
成员描述
inPrivateDataimGetInfo8imGetPrefs8 期间收集的实例数据。
inPrefsimGetPrefs8(设置对话框)期间收集的剪辑源设置数据。
inPixelFormat此首选帧大小的像素格式。
inIndex此首选帧大小的索引。
outWidth此首选帧大小的尺寸。
outHeight

imQueryContentStateRec

选择器: imQueryContentState

填写 outContentStateID,它应该是基于 inSourcePath 处剪辑内容状态计算的 GUID。

如果自上次调用以来状态未更改,则应返回相同的 GUID。

typedef struct {
const prUTF16Char* inSourcePath;
prPluginID outContentStateID;
} imQueryContentStateRec;

imQueryDestinationPathRec

选择器: imQueryDestinationPath

根据 inSourcePathinSuggestedDestinationPath 填写所需的 outActualDestinationPath

typedef struct {
void *inPrivateData;
void *inPrefs;
const prUTF16Char *inSourcePath;
const prUTF16Char *inSuggestedDestinationPath;
prUTF16Char *outActualDestinationPath;
} imQueryDestinationPathRec;
成员描述
inPrivateDataimGetInfo8imGetPrefs8 期间收集的实例数据。
inPrefsimGetPrefs8(设置对话框)期间收集的剪辑源设置数据。
inSourcePath要修剪的源文件的路径。
inSuggestedDestinationPathPremiere 建议创建目标文件的路径。
outActualDestinationPath导入器希望创建目标文件的路径。

imQueryInputFileListRec

选择器: imQueryInputFileList

填写 outContentStateID,它应该是基于 inSourcePath 处剪辑内容状态计算的 GUID。

如果自上次调用以来状态未更改,则应返回相同的 GUID。

typedef struct {
void* inPrivateData;
void* inPrefs;
PrSDKString inBasePath;
csSDK_int32 outNumFilePaths;
PrSDKString *outFilePaths;
} imQueryInputFileListRec;
成员描述
inPrivateDataimGetInfo8imGetPrefs8 收集的实例数据。
inPrefsimGetPrefs8(设置对话框信息)收集的剪辑源设置数据。
inBasePath之前在 imOpenFile 中传递的主文件路径。
outNumFilePaths第一次发送 imQueryInputFileList 时,填写媒体使用的文件数量。
outFilePaths第二次发送 imQueryInputFileList 时,这将预分配为 NULL 字符串数组。
使用 String Suite 将数组填充为实际路径的 PrSDKStrings。

imQueryStreamLabelRec

选择器: imQueryStreamLabel

CS6 新增。根据传入的流 ID,分配并返回流的标签。

对于立体导入器,请使用 PrSDKStreamLabel.h 中的预定义标签。

typedef struct {
void *inPrivateData;
csSDK_int32 *inPrefs;
csSDK_int32 inStreamIdx;
PrSDKString* outStreamLabel;
} imQueryStreamLabelRec;
成员描述
privatedataimGetInfo8imGetPrefs8 收集的实例数据。
prefsimGetPrefs8(设置对话框信息)收集的剪辑源设置数据。
inStreamIdx需要标记的流的 ID。
outStreamLabel使用 String Suite 分配的流标签。

imSaveFileRec8

选择器: imSaveFile8

描述要保存的文件。

typedef struct {
void *privatedata;
csSDK_int32 *prefs;
const prUTF16Char* sourcePath;
const prUTF16Char* destPath;
char move;
importProgressFunc progressCallback;
void *progressCallbackID;
} imSaveFileRec8;
成员描述
privatedataimGetInfo8imGetPrefs8 收集的实例数据。
prefsimGetPrefs8(设置对话框信息)收集的剪辑设置数据。
sourcePath要保存的文件的完整路径。
destPath文件应保存到的完整路径。
move如果非零,这是一个移动操作,复制完成后可以删除原始文件(sourcePath)。
progressCallback要重复调用的函数,以提供进度并检查用户是否取消。可能是一个 NULL 指针,因此在调用之前请确保函数指针有效。
progressCallbackID传递给 progressCallback

imSourceVideoRec

选择器: imGetSourceVideo, aiInitiateAsyncRead, aiGetFrame

描述请求的帧,将在 outFrame 中传递回来。

typedef struct {
void *inPrivateData;
csSDK_int32 currentStreamIdx;
PrTime inFrameTime;
imFrameFormat *inFrameFormats;
csSDK_int32 inNumFrameFormats;
bool removePulldown;
PPixHand *outFrame;
void *prefs;
csSDK_int32 prefsSize;
PrSDKString selectedColorProfileName;
PrRenderQuality inQuality;
imRenderContext inRenderContext;
PrSDKColorSpaceID opaqueColorSpaceIdentifier;
} imSourceVideoRec;
成员描述
inPrivateDataimGetInfo8imGetPrefs8 期间收集的实例数据。
currentStreamIdxCS6 新增。如果剪辑有多个流(用于立体视频或其他用途),此 ID 用于区分它们。
inFrameTime请求的帧时间。
inFrameFormats请求的帧格式数组,按优先级排序。如果为 NULL,则任何格式均可接受。
inNumFrameFormatsinFrameFormats 中的帧格式数量。
removePulldown如果为 true,则如果像素格式支持,应移除下拉。
outFrame分配内存以保存请求的帧,并在此处传递回来。
prefsPremiere Pro 4.1 新增。来自 imGetPrefs8 的 prefs 数据。
prefsSizePremiere Pro 4.1 新增。prefs 数据的大小。
selectedColorProfileNamePremiere Pro CS5.5 新增。指定导入帧颜色配置文件的字符串。
inQualityPremiere Pro CC 2014 新增。
inQualityPremiere Pro CC 2014 新增。
inQualityPremiere Pro CC 2014 新增。

imSubTypeDescriptionRec

选择器: imGetSubTypeNames

Premiere Pro CS3 新增。描述与给定 fourcc 关联的编解码器名称。

typedef struct {
csSDK_int32 subType;
prUTF16Char subTypeName[256];
} imSubTypeDescriptionRec;

imTimeInfoRec8

选择器: imGetTimeInfo8imSetTimeInfo8

描述与剪辑关联的时间码和时间码速率。

typedef struct {
void *privatedata;
void *prefs;
char orgtime[18];
csSDK_int32 orgScale;
csSDK_int32 orgSampleSize;
char alttime[18];
csSDK_int32 altScale;
csSDK_int32 altSampleSize;
char orgreel[40];
char altreel[40];
char logcomment[256];
csSDK_int32 dataType;
} imTimeInfoRec;
成员描述
privatedataimGetInfo8imGetPrefs8 期间收集的实例数据。
prefsimGetPrefs8 期间收集的剪辑源设置数据(设置对话框)。
orgtime[18]原始时间,格式为小时;分钟;秒;帧,从源卷轴捕获。
使用分号表示(对 Premiere)丢帧时间码,例如 “00;00;00;00”。
使用冒号表示非丢帧时间码,例如 “00:00:00:00”。
orgScaleorgtime 中时间码的时间基准,表示为 scale 除以 sampleSize。
orgSampleSize
alttime[18]替代时间码(可能与源时间码不同),格式如上所述。
altScalealttime 中时间码的时间基准。
altSampleSize
orgreel[40]原始卷轴名称。
altreel[40]替代卷轴名称。
logcomment[256]注释字符串。
dataType当前始终设置为 1,表示 SMPTE 时间码。未来可能会添加更多值。

imTrimFileRec8

选择器: imTrimFile8

描述如何根据导入器在 imCheckTrim8 期间返回的信息修剪剪辑。

还提供了更新进度条并检查用户是否取消的回调。

typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 trimIn;
csSDK_int32 duration;
csSDK_int32 keepAudio;
csSDK_int32 keepVideo;
const prUTF16Char *destFilePath;
csSDK_int32 scale;
csSDK_int32 sampleSize;
importProgressFunc progressCallback;
void *progressCallbackID;
} imTrimFileRec8;
成员描述
privatedataimGetInfo8imGetPrefs8 期间收集的实例数据。
prefsimGetPrefs8 期间收集的剪辑设置数据(设置对话框)。
trimIn修剪剪辑的入点,以 scale 和 sampleSize 指定的时间基准表示。
duration修剪剪辑的持续时间。如果为 0,则请求不修剪剪辑,并保持当前持续时间。
keepAudio如果非零,则请求在修剪结果中保留音频。
keepVideo如果非零,则请求在修剪结果中保留视频。
destFilePath要创建的文件的 Unicode 路径和名称。
scale视频的帧速率,表示为 scale 除以 sampleSize。
sampleSize
progressCallbackimportProgressFunc 回调函数,用于重复调用以提供进度并检查用户是否取消。
可能为 NULL 指针,因此在调用前确保函数指针有效。
progressCallbackID传递给 progressCallback

imIndColorSpaceRec

选择器: imGetIndColorSpace

描述媒体的色彩空间。

typedef ColorSpaceRec imIndColorSpaceRec;
typedef struct {
void *privatedata;
PrSDKColorSpaceType outColorSpaceType;
RawColorProfileRec ioProfileRec;
prSEIColorCodesRec outSEICodesRec;
} ColorSpaceRec;
成员描述
privatedata私有。
outColorSpaceType以下之一:
- kPrSDKColorSpaceType_Undefined
- kPrSDKColorSpaceType_ICC
- kPrSDKColorSpaceType_LUT // 14.x 之后请勿使用。
- kPrSDKColorSpaceType_SEITags
- kPrSDKColorSpaceType_MXFTags // 请勿使用,不支持。
- kPrSDKColorSpaceType_Predefined
ioProfileRec描述色彩配置文件的结构。
csSDK_int32  ioBufferSize;
void* inDestinationBuffer;
PrSDKString outName;
outSEICodesRec使用代码描述色彩空间的结构;用于 H.265、HEVC、AVC 和 ProRes 媒体。
csSDK_int32  colorPrimariesCode;
csSDK_int32 transferCharacteristicCode;
csSDK_int32 matrixEquationsCode;
csSDK_int32 bitDepth;
prBool isFullRange;
prBool isRGB;

RawColorSpaceRec

选择器: imGetIndColorSpace

描述与媒体一起使用的色彩空间。

typedef struct
{
PrSDKColorSpaceType colorSpaceType;
RawColorProfileRec profileRec; // 用于 ICC 和预定义色彩空间
prSEIColorCodesRec seiCodesRec; // H-265 代码用于 HEVC、AVC、ProRes
} RawColorSpaceRec;
成员描述
colorSpaceType以下之一:
- kPrSDKColorSpaceType_Undefined
- kPrSDKColorSpaceType_ICC
- kPrSDKColorSpaceType_LUT // 14.x 之后请勿使用。
- kPrSDKColorSpaceType_SEITags
- kPrSDKColorSpaceType_MXFTags // 请勿使用,不支持。
- kPrSDKColorSpaceType_Predefined
profileRec描述色彩空间的结构。
csSDK_int32  ioBufferSize;
void* inDestinationBuffer;
PrSDKString outName;
seiCodesRec描述色彩空间的结构;用于 H.265、HEVC、AVC 和 ProRes 媒体。
csSDK_int32  colorPrimariesCode;
csSDK_int32 transferCharacteristicCode;
csSDK_int32 matrixEquationsCode;
csSDK_int32 bitDepth;
prBool isFullRange;
prBool isRGB;

色彩空间可以通过多种方式描述,类型取决于 colorSpaceType

如果类型为 kPrSDKColorSpaceType_Predefined - 色彩空间通过 PrSDKColorSpaces.h 中的预定义字符串指定。

如果类型为 kPrSDKColorSpaceType_ICC - 色彩空间通过 profileRec 中的 ICC 配置文件指定。

如果类型为 kPrSDKColorSpaceType_SEITags - 色彩空间通过颜色原色 (C)、传输特性 (T)、矩阵方程 (M) 的枚举代码指定。支持的 C-T-M 枚举在 PrSDKColorSEICodes.h 中定义。


EmbeddedLUTRec

选择器: imGetIndColorSpace

描述嵌入在媒体中的 LUT。

typedef struct
{
void* privateData;
RawColorProfileRec lutBlobRec;
RawColorSpaceRec lutInColorSpaceRec;
RawColorSpaceRec lutOutColorSpaceRec;
} EmbeddedLUTRec;
成员描述
privatedata私有。
lutBlobRec描述嵌入的 LUT。
lutInColorSpaceRec描述 LUT 输入色彩空间记录。
lutOutColorSpaceRec描述 LUT 输出色彩空间记录。

imRenderContext

选择器: imGetSourceVideo (imSourceVideoRec 的成员)

描述渲染的上下文;渲染的原因以及使用的速率和比例。

typedef struct
{
imRenderIntent inIntent;
double inPlaybackRatio;
double inPlaybackRate;
} imRenderContext;
成员描述
inIntent请求渲染的意图。
- imRenderIntent_Unknown (-1)
- imRenderIntent_Export 0
- imRenderIntent_Stopped // 14.x 之后请勿使用。
- imRenderIntent_Scrubbing
- imRenderIntent_Preroll
- imRenderIntent_Playing
- imRenderIntent_SpeculativePrefetch
- imRenderIntent_Thumbnail // 14.x 之后请勿使用。
- imRenderIntent_Analysis
- imRenderIntent_ExportPreview
- imRenderIntent_ExportProxies
inPlaybackRatio1.0 表示全帧速率,较低的值表示播放质量下降。
inPlaybackRate1.0 表示 1 倍速前进,-1.0 表示 1 倍速后退。