Skip to main content
Inspiring
February 12, 2021
Answered

Premiere Pro SDK Importer for still frame sequence

  • February 12, 2021
  • 1 reply
  • 520 views

I have (mostly successfully) created an exporter which exports movie clips as still sequences, based on the SDK_Exporter example.


I am now trying to modify the SDK_File_Import example to reimport these still sequences as a movie clip, in much the same way as for DPX or PNG still frame sequence.


However, the documentation doesn't provide any clues on how to do this.I've set the following fields in imFileInfoRec8 on receiving imGetInfo8:

vidInfo.isStill = kPrTrue
vidInfo.noDuration = imNoDurationStillDefault

but in AME, while each individual frame's thumbnail shows with my decoding, if I "import to queue", all I get is that single frame in the clip window and not the sequence.


Similarly, when I do File->Add Source, the sequence checkbox is greyed out with "Sequence not available"

 

When I receive imGetSourceVideo, the imSourceVideoRec.inFrameTime is always 0.

 

Some insight on how a still sequence importer is supposed to work would be greatly appreciated.

This topic has been closed for replies.
Correct answer bbb_999

For all: The answer was that, in addition to setting isStill = kPrTrue, it is still necessary to set the xfIsStill flag.

1 reply

Bruce Bullis
Legend
February 19, 2021

Question: What results do you see, if you don't set vidInfo.noDuration, to anything?

Derek5E2FAuthor
Inspiring
February 22, 2021

Hi Bruce,

There is no change in behaviour if I leave vidInfo.noDuration unset, i.e. when I do File->Add Source, and select multiple sequential files:

12bitSplash_00000
12bitSplash_00001
12bitSplash_00002
12bitSplash_00003
12bitSplash_00004
12bitSplash_00005
12bitSplash_00006
12bitSplash_00007
12bitSplash_00008
12bitSplash_00009
12bitSplash_00010

the sequence checkbox is still greyed out with "Sequence not available".

For completeness, the imFileInfoRec8* SDKFileInfo8 structure is populated as follows:

 

SDKFileInfo8->accessModes = kRandomAccessImport;
SDKFileInfo8->hasVideo = kPrTrue;
SDKFileInfo8->hasDataRate = kPrTrue;
SDKFileInfo8->vidInfo.supportsAsyncIO = kPrFalse;
SDKFileInfo8->vidInfo.supportsGetSourceVideo = kPrTrue;
SDKFileInfo8->vidInfo.hasPulldown = kPrFalse;
SDKFileInfo8->vidInfo.subType = Plugin::fileTypeFourCC;
SDKFileInfo8->vidInfo.isStill = kPrTrue;


The default values of the following fields (as viewed in the debugger while processing the imGetInfo8 selector) are:

SDKFileInfo8->vidDuration == 0
SDKFileInfo8->vidScale == 30
SDKFileInfo8->vidSampleSize == 1
SDKFileInfo8->vidInfo.noDuration == 0

 

bbb_999
Community Manager
bbb_999Community ManagerCorrect answer
Community Manager
February 23, 2021

For all: The answer was that, in addition to setting isStill = kPrTrue, it is still necessary to set the xfIsStill flag.