Revision: 28577
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28577
Author:   blendix
Date:     2010-05-04 18:54:00 +0200 (Tue, 04 May 2010)

Log Message:
-----------
Fix wrong pixels when reading small mipmap levels from .tx files.

Modified Paths:
--------------
    branches/render25/source/blender/imbuf/intern/tiff.c

Modified: branches/render25/source/blender/imbuf/intern/tiff.c
===================================================================
--- branches/render25/source/blender/imbuf/intern/tiff.c        2010-05-04 
15:36:11 UTC (rev 28576)
+++ branches/render25/source/blender/imbuf/intern/tiff.c        2010-05-04 
16:54:00 UTC (rev 28577)
@@ -464,11 +464,16 @@
 
                if(width == ibuf->x && height == ibuf->y) {
                        if(rect) {
-                               /* why flip y tile location, seems to 
contradict TIFFReadRGBATile man page? */
-                               libtiff_TIFFReadRGBATile(image, tx*ibuf->tilex, 
(ibuf->ytiles - 1 - ty)*ibuf->tiley, rect);
+                               /* tiff pixels are bottom to top, tiles are top 
to bottom */
+                               if(libtiff_TIFFReadRGBATile(image, 
tx*ibuf->tilex, (ibuf->ytiles - 1 - ty)*ibuf->tiley, rect) == 1) {
+                                       if(ibuf->tiley > ibuf->y)
+                                               memmove(rect, 
rect+ibuf->tilex*(ibuf->tiley - ibuf->y), sizeof(int)*ibuf->tilex*ibuf->y);
 
-                               if(ibuf->flags & IB_premul)
-                                       IMB_premultiply_rect(rect, 32, 
ibuf->tilex, ibuf->tiley);
+                                       if(ibuf->flags & IB_premul)
+                                               IMB_premultiply_rect(rect, 32, 
ibuf->tilex, ibuf->tiley);
+                               }
+                               else
+                                       printf("imb_loadtiff: failed to read 
tiff tile at mipmap level %d\n", ibuf->miplevel);
                        }
                }
                else


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to