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.
This commit is contained in:
parent
180b8f48ce
commit
309792d206
@ -309,7 +309,7 @@ static void QT_StartAddVideoSamplesToMedia (const Rect *trackFrame)
|
|||||||
qtexport->ibuf = IMB_allocImBuf (R.rectx, R.recty, 32, IB_rect, 0);
|
qtexport->ibuf = IMB_allocImBuf (R.rectx, R.recty, 32, IB_rect, 0);
|
||||||
|
|
||||||
err = NewGWorldFromPtr( &qtexport->theGWorld,
|
err = NewGWorldFromPtr( &qtexport->theGWorld,
|
||||||
k32RGBAPixelFormat,
|
k32ARGBPixelFormat,
|
||||||
trackFrame,
|
trackFrame,
|
||||||
NULL, NULL, 0,
|
NULL, NULL, 0,
|
||||||
(unsigned char *)qtexport->ibuf->rect,
|
(unsigned char *)qtexport->ibuf->rect,
|
||||||
@ -335,9 +335,7 @@ static void QT_DoAddVideoSamplesToMedia (int frame)
|
|||||||
OSErr err = noErr;
|
OSErr err = noErr;
|
||||||
Rect imageRect;
|
Rect imageRect;
|
||||||
|
|
||||||
#ifdef __APPLE__
|
|
||||||
register int index;
|
register int index;
|
||||||
#endif
|
|
||||||
register int boxsize;
|
register int boxsize;
|
||||||
register uint32_t *readPos;
|
register uint32_t *readPos;
|
||||||
register uint32_t *changePos;
|
register uint32_t *changePos;
|
||||||
@ -358,10 +356,14 @@ static void QT_DoAddVideoSamplesToMedia (int frame)
|
|||||||
//parse render bitmap into Quicktime's GWorld
|
//parse render bitmap into Quicktime's GWorld
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
for( index = 0; index < boxsize; index++, changePos++, readPos++ )
|
for( index = 0; index < boxsize; index++, changePos++, readPos++ )
|
||||||
*( changePos ) = *( readPos );
|
*( changePos ) = ( ( *readPos & 0xFFFFFFFF ) >> 8 ) |
|
||||||
|
( ( *readPos << 24 ) & 0xFF );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
memcpy(changePos, readPos, boxsize*4);
|
for( index = 0; index < boxsize; index++, changePos++, readPos++ )
|
||||||
|
*( changePos ) = ( ( *readPos & 0xFFFFFFFF ) << 8 ) |
|
||||||
|
( ( *readPos >> 24 ) & 0xFF );
|
||||||
#endif
|
#endif
|
||||||
err = SCCompressSequenceFrame(qtdata->theComponent,
|
err = SCCompressSequenceFrame(qtdata->theComponent,
|
||||||
qtexport->thePixMap,
|
qtexport->thePixMap,
|
||||||
|
Loading…
Reference in New Issue
Block a user