edl plugin names eng, fix segv for opengl brender, renderfarm rework strategy, perf...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / fileexr.C
index 1beb3a7c6b9b7293da1c7ba283a480c533366f1a..33b1bdd2a9b11f16463deea64c6fa6b65c3e382b 100644 (file)
@@ -19,6 +19,8 @@
  *
  */
 
+#ifdef HAVE_OPENEXR
+
 #include "asset.h"
 #include "bcsignals.h"
 #include "clip.h"
@@ -305,7 +307,7 @@ int FileEXR::read_frame_header(char *path)
 
        asset->width = dw.max.x - dw.min.x + 1;
        asset->height = dw.max.y - dw.min.y + 1;
-       asset->interlace_mode = BC_ILACE_MODE_NOTINTERLACED;
+       asset->interlace_mode = ILACE_MODE_NOTINTERLACED;
 
        const Imf::ChannelList &channels = file.header().channels();
 
@@ -313,6 +315,7 @@ int FileEXR::read_frame_header(char *path)
                native_cmodel = BC_RGBA_FLOAT;
        else
                native_cmodel = BC_RGB_FLOAT;
+       asset->exr_use_alpha = BC_CModels::has_alpha(native_cmodel) ? 1 : 0;
 
        if(channels.findChannel("Y"))
                is_yuv = 1;
@@ -465,12 +468,8 @@ int FileEXR::write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit)
 
        if(frame->get_color_model() != native_cmodel)
        {
-               if(!exr_unit->temp_frame) exr_unit->temp_frame = new VFrame(0,
-                       -1,
-                       asset->width,
-                       asset->height,
-                       native_cmodel,
-                       -1);
+               if(!exr_unit->temp_frame) exr_unit->temp_frame =
+                       new VFrame(asset->width, asset->height, native_cmodel, 0);
                BC_CModels::transfer(exr_unit->temp_frame->get_rows(), /* Leave NULL if non existent */
                        frame->get_rows(),
                        exr_unit->temp_frame->get_y(), /* Leave NULL if non existent */
@@ -661,3 +660,4 @@ int EXRCompressionItem::handle_event()
        return 0;
 }
 
+#endif