Fix related to #29694: quicktime export was not showing or respecting RGBA
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 12 Jan 2012 21:10:46 +0000 (21:10 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Thu, 12 Jan 2012 21:10:46 +0000 (21:10 +0000)
option even though some movie formats support alpha.

source/blender/blenkernel/intern/image.c
source/blender/quicktime/apple/qtkit_export.m

index 5b3b9b4..9e5917f 100644 (file)
@@ -950,6 +950,7 @@ char BKE_imtype_valid_channels(const char imtype)
        case R_IMF_IMTYPE_MULTILAYER:
        case R_IMF_IMTYPE_DDS:
        case R_IMF_IMTYPE_JP2:
+       case R_IMF_IMTYPE_QUICKTIME:
                        chan_flag |= IMA_CHAN_FLAG_ALPHA;
        }
 
index 365a06c..045ef97 100644 (file)
@@ -604,13 +604,14 @@ int append_qt(struct RenderData *rd, int frame, int *pixels, int rectx, int rect
        OSStatus err = noErr;
        unsigned char *from_Ptr,*to_Ptr;
        int y,from_i,to_i;
+       BOOL alpha = (rd->im_format.planes == R_IMF_PLANES_RGBA)? YES: NO;
        
        
        /* Create bitmap image rep in blender format (32bit RGBA) */
        blBitmapFormatImage = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL
                                                                                                                                  pixelsWide:rectx 
                                                                                                                                  pixelsHigh:recty
-                                                                                                                          bitsPerSample:8 samplesPerPixel:4 hasAlpha:YES isPlanar:NO
+                                                                                                                          bitsPerSample:8 samplesPerPixel:4 hasAlpha:alpha isPlanar:NO
                                                                                                                          colorSpaceName:NSCalibratedRGBColorSpace 
                                                                                                                                bitmapFormat:NSAlphaNonpremultipliedBitmapFormat
                                                                                                                                 bytesPerRow:rectx*4