From 89500e500905d40ff027c88b51481d5ce708845a Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianasulu@gmail.com>
Date: Wed, 26 Oct 2022 19:51:24 +0300
Subject: [PATCH 2/2] Add direct copy for fileexr

---
 cinelerra-5.1/cinelerra/fileexr.C | 9 +++++++++
 cinelerra-5.1/cinelerra/fileexr.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/cinelerra-5.1/cinelerra/fileexr.C b/cinelerra-5.1/cinelerra/fileexr.C
index fbc39862..e09dd1fc 100644
--- a/cinelerra-5.1/cinelerra/fileexr.C
+++ b/cinelerra-5.1/cinelerra/fileexr.C
@@ -506,6 +506,15 @@ int FileEXR::write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit)
 	return 0;
 }
 
+int FileEXR::can_copy_from(Asset *asset, int64_t position)
+{
+	if(asset->format == FILE_EXR ||
+		asset->format == FILE_EXR_LIST)
+		return 1;
+
+	return 0;
+}
+
 FrameWriterUnit* FileEXR::new_writer_unit(FrameWriter *writer)
 {
 	return new EXRUnit(this, writer);
diff --git a/cinelerra-5.1/cinelerra/fileexr.h b/cinelerra-5.1/cinelerra/fileexr.h
index 5f5b251e..40fb01c9 100644
--- a/cinelerra-5.1/cinelerra/fileexr.h
+++ b/cinelerra-5.1/cinelerra/fileexr.h
@@ -44,6 +44,7 @@ public:
 	int read_frame_header(char *path);
 	int read_frame(VFrame *frame, VFrame *data);
 	int64_t get_memory_usage();
+	int can_copy_from(Asset *asset, int64_t position);
 	int write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit);
 	FrameWriterUnit* new_writer_unit(FrameWriter *writer);
 
-- 
2.38.1

