I tried again with commit 677df71d1663090d5a9ee3b1e48c3c17cb5cc8a2

from https://github.com/heroineworshiper/hvirtual

it seems to link and work if I add two patches on top of it, attached
(one git and one just plain diff)

There was also problem  libraw-1.2.0 - i just run
libtoolize/autoreconf -f commands in this thirdparty directory
From 579c3ca44841ef414b26c6d4b1dd9318546f842e Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <[email protected]>
Date: Tue, 25 Oct 2022 16:33:47 +0000
Subject: [PATCH] Fix file.c without USE_FILEFORK

---
 cinelerra/file.C | 35 +++++++++++++++++++++++++++--------
 1 file changed, 27 insertions(+), 8 deletions(-)

diff --git a/cinelerra/file.C b/cinelerra/file.C
index 6eff92a2..bac9a32e 100644
--- a/cinelerra/file.C
+++ b/cinelerra/file.C
@@ -434,12 +434,12 @@ int File::open_file(Preferences *preferences,
 	this->rd = rd;
 	this->wr = wr;
 	file = 0;
-
+#ifdef USE_FILEFORK 
 	if(debug) printf("File::open_file %d is_fork=%d path=%s\n", 
         __LINE__, 
         is_fork,
         asset->path);
-
+#endif
 #ifdef USE_FILEFORK
 	if(!is_fork)
 	{
@@ -586,14 +586,14 @@ int File::open_file(Preferences *preferences,
 			return result;
 //		}
 	}
-#endif // USE_FILEFORK
+
 
 
     if(debug) printf("File::open_file %d is_fork=%d format=%d\n", 
         __LINE__, 
         is_fork,
         this->asset->format);
-
+#endif // USE_FILEFORK
 	if(this->asset->format == FILE_UNKNOWN)
 	{
 // try to discover the format
@@ -698,11 +698,12 @@ int File::open_file(Preferences *preferences,
 	{
 		asset->copy_from(this->asset, 1);
 	}
-
+#ifdef USE_FILEFORK
     if(debug) printf("File::open_file %d is_fork=%d file=%p\n", 
         __LINE__, 
         is_fork,
         file);
+#endif
 // sleep(1);
 
 	if(file)
@@ -722,6 +723,7 @@ int File::open_file(Preferences *preferences,
 // called by the fork to show a progress bar when building a table of contents
 void File::start_progress(const char *title, int64_t total)
 {
+#ifdef USE_FILEFORK
     if(is_fork)
 	{
 		int data_len = sizeof(int64_t) + strlen(title) + 1;
@@ -732,6 +734,7 @@ void File::start_progress(const char *title, int64_t total)
         return;
     }
     
+#endif 
 // show progress only if there's a GUI
     if(BC_WindowBase::get_resources()->initialized)
     {
@@ -762,6 +765,7 @@ void File::start_progress(const char *title, int64_t total)
 
 void File::update_progress(int64_t value)
 {
+#ifdef USE_FILEFORK
     if(is_fork)
 	{
 		file_fork->send_result(FileFork::UPDATE_PROGRESS, 
@@ -770,6 +774,7 @@ void File::update_progress(int64_t value)
         return;
     }
     
+#endif
     if(MWindow::file_progress)
     {
 //        MWindow::file_progress->update(value, 1);
@@ -779,6 +784,7 @@ void File::update_progress(int64_t value)
 
 void File::update_progress_title(const char *title)
 {
+#ifdef USE_FILEFORK
     if(is_fork)
 	{
 		file_fork->send_result(FileFork::UPDATE_PROGRESS_TITLE, 
@@ -787,6 +793,7 @@ void File::update_progress_title(const char *title)
         return;
     }
     
+#endif
     if(MWindow::file_progress)
     {
         MWindow::file_progress->update_title(title, 1);
@@ -798,6 +805,7 @@ void File::update_progress_title(const char *title)
 // returns 1 if the user cancelled
 int File::progress_canceled()
 {
+#ifdef USE_FILEFORK
     if(is_fork)
 	{
 		file_fork->send_result(FileFork::PROGRESS_CANCELED, 0, 0);
@@ -805,6 +813,7 @@ int File::progress_canceled()
         return file_fork->command_token;
     }
     
+#endif
     if(MWindow::file_progress && MWindow::file_progress->is_cancelled())
     {
         return 1;
@@ -815,6 +824,7 @@ int File::progress_canceled()
 
 void File::stop_progress(const char *title)
 {
+#ifdef USE_FILEFORK
     if(is_fork)
 	{
 		file_fork->send_result(FileFork::STOP_PROGRESS, 
@@ -822,7 +832,7 @@ void File::stop_progress(const char *title)
             strlen(title) + 1);
         return;
     }
-
+#endif
     if(MWindow::file_progress)
     {
 		if(!MWindow::is_loading)
@@ -2223,10 +2233,14 @@ VFrame* File::get_read_temp(int colormodel, int rowspan, int w, int h)
     params[1] = rowspan;
     params[2] = w;
     params[3] = h;
+#ifdef USE_FILEFORK
 	file_fork->send_result(FileFork::FILE_READ_TEMP, 
+
         (unsigned char*)&params, 
         sizeof(params));
+
     int result = file_fork->read_command(1);
+
     if(result >= 0)
     {
 // extract the frame buffer
@@ -2237,9 +2251,10 @@ VFrame* File::get_read_temp(int colormodel, int rowspan, int w, int h)
         use_temp_frame = 1;
         return temp_frame;
     }
-
+#endif
 // failed
     return 0;
+
 }
 
 // set pointers to where read_frame output is stored
@@ -2323,7 +2338,11 @@ void File::convert_cmodel(int use_opengl, VDeviceX11 *device)
     }
 
 // only convert from the temp_frame in the server
-    if(use_temp_frame && !is_fork)
+    if(use_temp_frame 
+#ifdef uSE_FILEFORK
+    && !is_fork
+#endif
+    )
     {
         if(!use_opengl)
         {
-- 
2.29.0

diff --git a/cinelerra/Makefile b/cinelerra/Makefile
index 834af190..3e2906b5 100644
--- a/cinelerra/Makefile
+++ b/cinelerra/Makefile
@@ -434,6 +434,11 @@ LIBS += \
 	-ldl \
 	-lbz2 \
 	-llzma \
+	-lasyncns \
+	-lvorbis \
+	-lFLAC \
+	-lpulse \
+	-lsystemd \
 	-lrt
 
 #	-lfontconfig \
@@ -523,6 +528,7 @@ FFMPEG_CFLAGS := \
         $(FFMPEG_CFLAGS)
 
 FFMPEG_LIBS := -lavformat -lavcodec -lavutil -lswresample
+FFMPEG_LIBS += `pkg-config --libs vdpau` `pkg-config --libs libva-drm` `pkg-config --libs libva-x11`
 
 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
 $(shell echo $(FFMPEG_CFLAGS) -D__STDC_CONSTANT_MACROS > $(OBJDIR)/ffmpeg_cflags)
diff --git a/cinelerra/file.inc b/cinelerra/file.inc
index 165633ab..f8ab5b5d 100644
--- a/cinelerra/file.inc
+++ b/cinelerra/file.inc
@@ -23,7 +23,7 @@
 
 #include "language.h"
 
-#define USE_FILEFORK
+//#define USE_FILEFORK
 // support useless text to movie feature
 //#define USE_SCENE
 
diff --git a/quicktime/Makefile b/quicktime/Makefile
index eb9dae7c..f6664394 100755
--- a/quicktime/Makefile
+++ b/quicktime/Makefile
@@ -269,9 +269,11 @@ DIRS += \
 
 
 LIBS := $(OUTPUT) ../guicast/$(OBJDIR)/libcmodel.a $(MPEG3_DIR)/$(OBJDIR)/libmpeg3.a $(FFMPEG_LFLAGS) $(FFMPEG_LIBS) -lpng -lz -lpthread -ldl -lm -llzma -lrt
-#LIBS += `pkg-config --libs libva-x11`
-#LIBS += `pkg-config --libs x11`
-#LIBS += `pkg-config --libs libva-drm`
+LIBS += `pkg-config --libs libva-x11`
+LIBS += `pkg-config --libs x11`
+LIBS += `pkg-config --libs libva-drm`
+LIBS += `pkg-config --libs vdpau`
+
  
 
 $(shell mkdir -p $(DIRS) )
-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to