diff options
author | Rob Haarsma <phaseIV@zonnet.nl> | 2005-01-12 14:03:25 +0300 |
---|---|---|
committer | Rob Haarsma <phaseIV@zonnet.nl> | 2005-01-12 14:03:25 +0300 |
commit | 309792d20684cc13de87612e1a595cb86a16a9ef (patch) | |
tree | 91fd09c860492b2896f1f4e69d1fd94fc94aa030 /source/blender/quicktime | |
parent | 180b8f48ce6a0e1d059fbb8fea026dbc87793bd1 (diff) |
RGBA Quicktime movies give codec compression crashes on OSX.
Reverting Quicktime export to ARGB for both OSX and Windows to
keep some consistency on Blender's output.
Diffstat (limited to 'source/blender/quicktime')
-rw-r--r-- | source/blender/quicktime/apple/quicktime_export.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/quicktime/apple/quicktime_export.c b/source/blender/quicktime/apple/quicktime_export.c index 09dea4973dc..cdc62ed2895 100644 --- a/source/blender/quicktime/apple/quicktime_export.c +++ b/source/blender/quicktime/apple/quicktime_export.c @@ -309,7 +309,7 @@ static void QT_StartAddVideoSamplesToMedia (const Rect *trackFrame) qtexport->ibuf = IMB_allocImBuf (R.rectx, R.recty, 32, IB_rect, 0); err = NewGWorldFromPtr( &qtexport->theGWorld, - k32RGBAPixelFormat, + k32ARGBPixelFormat, trackFrame, NULL, NULL, 0, (unsigned char *)qtexport->ibuf->rect, @@ -335,9 +335,7 @@ static void QT_DoAddVideoSamplesToMedia (int frame) OSErr err = noErr; Rect imageRect; -#ifdef __APPLE__ register int index; -#endif register int boxsize; register uint32_t *readPos; register uint32_t *changePos; @@ -358,10 +356,14 @@ static void QT_DoAddVideoSamplesToMedia (int frame) //parse render bitmap into Quicktime's GWorld #ifdef __APPLE__ for( index = 0; index < boxsize; index++, changePos++, readPos++ ) - *( changePos ) = *( readPos ); + *( changePos ) = ( ( *readPos & 0xFFFFFFFF ) >> 8 ) | + ( ( *readPos << 24 ) & 0xFF ); #endif + #ifdef _WIN32 - memcpy(changePos, readPos, boxsize*4); + for( index = 0; index < boxsize; index++, changePos++, readPos++ ) + *( changePos ) = ( ( *readPos & 0xFFFFFFFF ) << 8 ) | + ( ( *readPos >> 24 ) & 0xFF ); #endif err = SCCompressSequenceFrame(qtdata->theComponent, qtexport->thePixMap, |