Hi, is this a known bug? Do a simple temporal call in 32 bit mode and the returned buffer is junk (black with some channel swapped data near the bottom). As far as I can see this is only on Mac Intel machines, PPC seems fine.
This is the code I used:
id getAPI; getAPI = [_apiManager apiForProtocol:@protocol(FxParameterRetrievalAPI)];
id temporalAPI; temporalAPI = [_apiManager apiForProtocol:@protocol(FxTemporalImageAPI)];
if ( getAPI != NULL ) { if( renderInfo.depth == kFxDepth_FLOAT32 ) { FxBitmap *inputImage = NULL; [temporalAPI getInputBitmap:(FxBitmap **)&inputImage withInfo: renderInfo atTime:(double)(renderInfo.frame + 1)]; if(!inputImage) return NULL;
FxBitmap* outImage = outputImage;
void* srcBase = (void*)[inputImage dataPtr]; void* dstBase = (void*)[outImage dataPtr]; int rowbytes = [outImage rowBytes]; int height = [outImage height];
for( int row = 0; row < height; ++row ) { void* s = (void*)((char*)srcBase + ( rowbytes * row )); void* d = (void*)((char*)dstBase + ( rowbytes * row ));
memcpy( d, s, rowbytes ); }
return YES; } }
Thanks,
Micah Sharp Red Giant Software www.redgiantsoftware.com
Sign up for our newsletter!
|