fix mask vframe setup, add unshared vframe constructor
[goodguy/history.git] / cinelerra-5.1 / cinelerra / filetiff.C
index c5f3f7a6c7197251c537a901dd02542d07f364a7..994fd6d0a8e7b995af97532a8ecc53b4a4620a43 100644 (file)
@@ -74,6 +74,10 @@ int FileTIFF::check_sig(Asset *asset)
 
                if(test[0] == 'I' && test[1] == 'I')
                {
+                       // Reject cr2, libtiff fails with it
+                       if( test[4] == 0x10 && !test[5] && !test[6] && !test[7] &&
+                                       test[8] == 'C' && test[9] == 'R' )
+                               return 0;
                        return 1;
                }
                else
@@ -198,7 +202,7 @@ int FileTIFF::read_frame_header(char *path)
 //printf("FileTIFF::read_frame_header %d %d %d\n", bitspersample, components, asset->tiff_cmodel);
        TIFFClose(stream);
 
-       asset->interlace_mode = BC_ILACE_MODE_NOTINTERLACED;
+       asset->interlace_mode = ILACE_MODE_NOTINTERLACED;
        return result;
 }
 
@@ -508,12 +512,8 @@ int FileTIFF::write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit)
                }
                if(!tiff_unit->temp)
                {
-                       tiff_unit->temp = new VFrame(0,
-                               -1,
-                               asset->width,
-                               asset->height,
-                               color_model,
-                               -1);
+                       tiff_unit->temp =
+                               new VFrame(asset->width, asset->height, color_model, 0);
                }
 
                BC_CModels::transfer(tiff_unit->temp->get_rows(),