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 5b3b9b4e1c4fadce922c899c38386eab2d159abb..9e5917f0b073099edfdd10e2b531f2d08b5d1fef 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 365a06c7cd88b4de5838b9e971566df5b9001047..045ef973e918dcc531a724d23c66782a33da487b 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