On Mar 9, 2008, at 12:43 PM, Christopher Ashworth wrote:
I'm experimenting on 10.5.2 with applying CIFilters to
QTMovieLayers. I have a simple test project that has a single
NSView with a single QTMovieLayer. It applies a single filter to
the QTMovieLayer, sets the default values on the filter, and that's
it.
For most filters this works fine, but when I try to apply the
CIPerspectiveTransform the console fills with messages of this
nature:
CoreImage: ROI is not tilable:
APPLY perspective DOD [118,140 528x367] ROI [183,219 19x22] RGBA_14
AFFINE [1 -0 -0 1 -16384 -16384] DOD [-16384,-16384 32768x32768]
ROI [-13375,-8223 1712x2498] ARGB_8
IMAGE CIImage:0x7dae20 DOD [0,0 32768x32768] ARGB_8
This is, alas, the main filter I'm interested in using. What am I
doing wrong?
This isn't really an answer, but I've found that a lot of the
CIFilters don't seem to work reliably with images more than 1000 by
1000 pixels, or, basically, more than one million pixels.
Due to issues exactly as you describe (the filter fails to work, no
error is returned or exception thrown, just a log message), I pass
any images with more than 1M pixels through a CITransform filter to
scale them down before adding any other filters. 10.4 seemed to
handle 2M pixels reliably, but 10.5 would fail on images that 10.4
would succeed on, so now I limit to 1M in all cases.
For kicks I tried displaying the movie in a QTMovieView and applying
the CIPerspectiveTransform in the view:willDisplayImage: callback.
It worked. Except that, then I tried applying a CIAffineTransform to
achieve a rotation, which in and of itself works, but the portions of
the QTMovieView that are "revealed" by the rotation are full of pixel
sewage.
Now I'm wondering if I should just do some extra computation to come
up with the CIPerspectiveTransform that will represent whatever
rotation I want, and combine it with whatever perspective
transformation is already in place, but that feels like it shouldn't
be necessary. Moreover, it's not clear that the
CIPerspectiveTransform will keep working with the QTMovieView. (i.e.
is this behavior I can rely on, or will it break like the
CIAffineTransform in 10.5.3.) To say nothing of the constraints
imposed by doing things in separate views, rather than the deliciously
flexible, mashable layers of CoreAnimation.
I wonder if there is some kind of "setup" (perhaps related to defining
a region of interest?) that the QTMovieView is doing that the CALayer
is not?
Chris
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartz-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartz-dev/email@hidden