refresh frame fix, dblclk proxy viewer fix, vicon refresh fix for awdw resize, fix...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / fileexr.C
index 1beb3a7c6b9b7293da1c7ba283a480c533366f1a..351da2a3acd4dacf4da3c5f591fe2fc89c610d58 100644 (file)
@@ -19,6 +19,8 @@
  *
  */
 
+#ifdef HAVE_OPENEXR
+
 #include "asset.h"
 #include "bcsignals.h"
 #include "clip.h"
@@ -242,10 +244,8 @@ int FileEXR::check_sig(Asset *asset, char *test)
 }
 
 void FileEXR::get_parameters(BC_WindowBase *parent_window,
-       Asset *asset,
-       BC_WindowBase* &format_window,
-       int audio_options,
-       int video_options)
+       Asset *asset, BC_WindowBase* &format_window,
+       int audio_options, int video_options, EDL *edl)
 {
        if(video_options)
        {
@@ -305,7 +305,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 +313,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 +466,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 +658,4 @@ int EXRCompressionItem::handle_event()
        return 0;
 }
 
+#endif