So, I created a 31-frame (ostensibly frames 0 to 30) Motion template for use in FCP.
In FCP I pulled in a 301 (ostensibly frames numbered 0 to 300, and each frame has it's image number burned onto it) and applied my effect. My effect allows me to choose at what time to grab a frame from the input. In this case I opted for time 7.0.
Of course, since my original Motion template is 31 frames, then I expect when I ask for frame 7.0 within FCP I should either get frame 7*301/31 or 7*300/31 (can you tell I was trying to reverse engineer the math that FCP is using? :-)). This comes to either frame 67.96 or 67.74. Cool enough.
Then I call isSuccessful= [parmsMultipleInputFramesApi getInputBitmap:&inMapAtTime withInfo:renderInfo atTime: 7.0];
For each frame of the original sequence. You'd think because I'm always asking for frame at a constant time (in this case, 7.0) that I would get a constant image from the input returned to me, whatever that might be.
However, if I'm at time 0:00 as my current frame to render in FCP I get frame with image "72" returned to me. Then for the next 10 frames it stays at 72. At time 0:10, I then get frame "71" returned to me. And so on, until frame 10:00 (frame 300, if you start numbering at 0), I get frame "42" returned to me.
So when I ask for image at time 7.0, I get frames from 72 to 42, changing every 10 frames or so.
Off to report a bug. I presume this is not the behavior you guys at Apple expect? Not sure how to get to you a project to show this, because I haven't figured out if that's possible.
Pete
|