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*)¶ms,
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