I might suggest if you testing bugs, that you also test a software-only plugin, because you've also said before some of my bugs may be software-only based bugs. Pete
Pete, OK, that's interesting. I'm using the version we're developing for some future release, which has some bug fixes in it that haven't yet been released. So it's possible that there's a bug in the shipping version which is no longer in the development version I'm working on. That might explain the differences we're seeing.
Darrin On Jul 27, 2011, at 10:23 AM, Peter Litwinowicz wrote: Darrin,
You say that FCP really applies the blur to a 720x480 image calculating the difference between 1920x1080 settings and what should be used for 720x480. This, I think is wrong and confusing, by the way, if you say that "1920x1080 templates can be handed to customers for to process all imagery in FCP" because if I were to apply a standard template as I just demonstrated, I expect the SAME results if I apply a 20.0 pixel blur in Motion and FCP using any 3rd party or Apple-supplied templates. So what you are really saying is that standarized resolution templates will potentially give different results depending on the resolution of the footage the template is applied to? Boo, I say.
HOWEVER, ignoring that conceptual/religious argument, what I'm getting a 1920x1080 image handed to me in my plugin by FCP when I apply a 1920x1080 template to my 720x480 footage. Which suggests to me that what you describe is indeed NOT what FCP is doing… but if it is, then please tell me how FCP hands 720x480 images to your Apple-supplied Motion templatized effects, when clearly that is not what is being handed to me. I get a 1920x1080 image handed to me.
Pete
Pete, There's actually something different going on here. When you apply a 1920x1080 Motion template to 720x480 footage in FCPX, you will get an input that isn't resampled, but the scaling information will tell you that you're rendering at ~44% (480/1080). This is why the blurring is different between the two. In Motion you're applying a 20 pixel blur at 100% to a 720x480 image, but in FCPX you're applying a 20 pixel blur at 44%, so really only an 8.8 pixel blur at 720x480. (I think?) So there should be no resampling. (Note - I'm not positive how the difference in pixel aspect ratio is being handled. It's possible there's some horizontal-only resampling due to that, though I don't think so.) Does that make more sense? It would be a pretty significant performance hit if we were resampling the input to 1920x1080, doing a bunch of processing, and then resampling back down to 720x480.
Darrin On Jul 26, 2011, at 5:19 PM, Peter Litwinowicz wrote: So I did as you suggested Darrin,
I created a 1920x1080 Motion template for FCP using Motion's Gaussian Blur plugin to test what happens with a write-once all-encompassing template to be used for all resolutions in FCP.
So to see if FCP was scaling the image to 1920x1080 internally before applying the Motion-templatized Gaussian Blur I did the following:
Then I pulled the same 720x480 footage into FCP, using the Motion template for the very same Motion-supplied Gaussian blur (publishing all the settings that are available). I then set the blur radius to 20.0, which is what I did in Motion, and I get this result:
So it's "obvious" to me that FCP does indeed tell Motion blur a 1920x1080 scaled up version of my 720x480 image (or some variant where one dimension is 1920 and the other is 1080 with possible corrections for pixel aspect ratio and frame-size ratio differences.
So the 1920x1080 templates you provide for Motion effects for use in FCP have the side effect of potentially not producing the same results for the same settings.
So this means that providing a generic template at 1920 x 1080 is not currently feasible because if you don't make templates for the exact size that our plugins will indeed suffer from (a) needless calculation; or (b) needless softening; or (c) even worse: crappy tracking because of the upscaling which I've determined is probably pixel replication (I'd still like to hear back from you on this).
I think the real fix is to provide a native resolution setting for effect plugins so that we can get the native resolution of underlying footage and not the resolution of the drop zone(s) or project settings of the Motion template.
Pete
|