Premiere Pro returns the wrong video frame when an effect plugin asks for the effect layer’s contents of a clip where a transition has also been applied.
The process used by third-party plugins to extract video frames is to call `PF_CHECKOUT_PARAM` with a 0 checkout index for the effect layer. This allows plugins to fetch frames anywhere along the clip’s range. If a different transition effect is applied to the head of the same clip, Premiere Pro will return frames belonging to the outgoing clip instead. (Watch the attached screencast for a more easily understood, visual explanation.)
Steps to reproduce:
- Install the most recent version of FxFactory from our website: https://fxfactory.com/download/
- Launch the FxFactory app, and install the Face Blur and Wipology products. The Face Blur plug-in uses the technique described above to fetch and analyze all frames on a given clip. The Wipology product will give yu a transition based on the AE SDK you can apply to trigger the bug.
- Launch Premiere Pro, and create a project and timeline with at least two clips with enough footage to allow a transition to be applied in between them.
- Apply Face Blur to the second clip:
- Click the Detect button in the inspector to begin anaylsis of all frames:
- As the progress window appears, take notice of the correct results. Only frames belonging to the clip where Face Blur is applied are returned.
- Next, apply the Wipology > Comicbook Wipe effect in between the two clips on the timeline:
- Switch back to the inspector for the Face Blur plugin.
- Delete and then apply a new instance of the Face Blur plugin. (This step seems important, as it guarantees reproducibility at least on our systems.)
- Click the Detect button again to repeat analyis:
- As the analysis begins, notice that instead of returning only frames from the effect clip, Premiere Pro is returning frames from the outgoing clip!
How many wrong frames are returned? As many as there are in the portion of the transition that overlaps with the effect clip:
Premiere Pro starts returning the correct frames only when the plugin starts asking for frames outside the range that overlaps with the transition.
This bug has been verified in the latest Beta, as well as the most recent public release of Premiere Pro 24.5.