projects
/
goodguy
/
cinelerra.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
64dfa27
)
additional improvements for freebsd mostly
author
Good Guy
<good1.2guy@gmail.com>
Wed, 4 May 2022 22:58:33 +0000
(16:58 -0600)
committer
Good Guy
<good1.2guy@gmail.com>
Wed, 4 May 2022 22:58:33 +0000
(16:58 -0600)
cinelerra-5.1/cinelerra/dvdcreate.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/file.C
patch
|
blob
|
history
cinelerra-5.1/cinelerra/fileexr.C
patch
|
blob
|
history
cinelerra-5.1/ffmpeg/plugin.opts
patch
|
blob
|
history
cinelerra-5.1/guicast/bcresources.C
patch
|
blob
|
history
diff --git
a/cinelerra-5.1/cinelerra/dvdcreate.C
b/cinelerra-5.1/cinelerra/dvdcreate.C
index 6ecb270b381be0102a77e08381b2f0d03b660774..175ef5477ceb24c39c5a5b680af513d163e3cc4f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/dvdcreate.C
+++ b/
cinelerra-5.1/cinelerra/dvdcreate.C
@@
-24,9
+24,13
@@
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
+#if !defined(__FreeBSD__)
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/stat.h>
#include <sys/statfs.h>
-
+#else
+#include <sys/param.h>
+#include <sys/mount.h>
+#endif
#define DVD_PAL_4x3 0
#define DVD_PAL_16x9 1
#define DVD_PAL_4x3 0
#define DVD_PAL_16x9 1
diff --git
a/cinelerra-5.1/cinelerra/file.C
b/cinelerra-5.1/cinelerra/file.C
index 3202057403e7c2540e8f8db3174963da546283aa..2a1330059cd468069f5e248f6343846445776e8f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/file.C
+++ b/
cinelerra-5.1/cinelerra/file.C
@@
-1666,7
+1666,14
@@
int File::record_fd()
void File::get_exe_path(char *result, char *bnp)
{
// Get executable path, basename
void File::get_exe_path(char *result, char *bnp)
{
// Get executable path, basename
+#if !defined(__FreeBSD__)
int len = readlink("/proc/self/exe", result, BCTEXTLEN-1);
int len = readlink("/proc/self/exe", result, BCTEXTLEN-1);
+#else
+ char exe_path[BCTEXTLEN];
+ sprintf(exe_path,"/proc/%d/file",getpid());
+ int len = readlink(exe_path, result, BCTEXTLEN-1);
+#endif
+
if( len >= 0 ) {
result[len] = 0;
char *ptr = strrchr(result, '/');
if( len >= 0 ) {
result[len] = 0;
char *ptr = strrchr(result, '/');
diff --git
a/cinelerra-5.1/cinelerra/fileexr.C
b/cinelerra-5.1/cinelerra/fileexr.C
index 9c782a112f8340e8f62023c4398ead416be07c35..fbc3986221a3658700feebe4fd8c61c1000718e2 100644
(file)
--- a/
cinelerra-5.1/cinelerra/fileexr.C
+++ b/
cinelerra-5.1/cinelerra/fileexr.C
@@
-50,8
+50,8
@@
public:
~EXRIStream();
bool read (char c[], int n);
~EXRIStream();
bool read (char c[], int n);
-
Imf::Int64
tellg ();
- void seekg (
Imf::Int64
pos);
+
uint64_t
tellg ();
+ void seekg (
uint64_t
pos);
void clear ();
private:
void clear ();
private:
@@
-67,8
+67,8
@@
public:
~EXROStream();
virtual void write(const char c[], int n);
~EXROStream();
virtual void write(const char c[], int n);
- virtual
Imf::Int64
tellp();
- virtual void seekp(
Imf::Int64
pos);
+ virtual
uint64_t
tellp();
+ virtual void seekp(
uint64_t
pos);
private:
VFrame *data;
private:
VFrame *data;
@@
-106,12
+106,12
@@
bool EXRIStream::read(char c[], int n)
return position >= size;
}
return position >= size;
}
-
Imf::Int64
EXRIStream::tellg ()
+
uint64_t
EXRIStream::tellg ()
{
return position;
}
{
return position;
}
-void EXRIStream::seekg(
Imf::Int64
pos)
+void EXRIStream::seekg(
uint64_t
pos)
{
position = pos;
}
{
position = pos;
}
@@
-141,12
+141,12
@@
void EXROStream::write(const char c[], int n)
data->set_compressed_size(MAX(position, data->get_compressed_size()));
}
data->set_compressed_size(MAX(position, data->get_compressed_size()));
}
-
Imf::Int64
EXROStream::tellp()
+
uint64_t
EXROStream::tellp()
{
return position;
}
{
return position;
}
-void EXROStream::seekp(
Imf::Int64
pos)
+void EXROStream::seekp(
uint64_t
pos)
{
position = pos;
}
{
position = pos;
}
diff --git
a/cinelerra-5.1/ffmpeg/plugin.opts
b/cinelerra-5.1/ffmpeg/plugin.opts
index 11cb26e218edf6efa489cef86d459c3e2043c7e7..9b60b2c4c4657ba980349c8ae2ba99dcc4fefdea 100644
(file)
--- a/
cinelerra-5.1/ffmpeg/plugin.opts
+++ b/
cinelerra-5.1/ffmpeg/plugin.opts
@@
-425,3
+425,6
@@
monochrome
#msad ###Input/output error
#setts
#vif ###Input/output error
#msad ###Input/output error
#setts
#vif ###Input/output error
+#frei0r
+#frei0r_src
+#libvmaf
diff --git
a/cinelerra-5.1/guicast/bcresources.C
b/cinelerra-5.1/guicast/bcresources.C
index cdac6305f8b4d62de4dd807808e5b73c43dff018..3fa8bed1f53ba30d891a90a65d13ded8a7107dac 100644
(file)
--- a/
cinelerra-5.1/guicast/bcresources.C
+++ b/
cinelerra-5.1/guicast/bcresources.C
@@
-39,6
+39,9
@@
#include <iconv.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <iconv.h>
#include <sys/ipc.h>
#include <sys/shm.h>
+#if defined(__FreeBSD__)
+#include <sys/sysctl.h>
+#endif
#include <X11/extensions/XShm.h>
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcfreetype.h>
#include <X11/extensions/XShm.h>
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcfreetype.h>
@@
-298,6
+301,7
@@
int BC_Resources::machine_cpus = 1;
int BC_Resources::get_machine_cpus()
{
int BC_Resources::get_machine_cpus()
{
+#if !defined(__FreeBSD__)
int cpus = 1;
FILE *proc = fopen("/proc/cpuinfo", "r");
if( proc ) {
int cpus = 1;
FILE *proc = fopen("/proc/cpuinfo", "r");
if( proc ) {
@@
-315,6
+319,14
@@
int BC_Resources::get_machine_cpus()
fclose(proc);
}
return cpus;
fclose(proc);
}
return cpus;
+#else
+ int mib[2], ncpu;
+ size_t len = sizeof(ncpu);
+ mib[0] = CTL_HW;
+ mib[1] = HW_NCPU;
+ if( sysctl(mib, 2, &ncpu, &len, 0, 0) ) ncpu = 1;
+ return ncpu;
+#endif
}
void BC_Resources::new_vframes(int n, VFrame *vframes[], ...)
}
void BC_Resources::new_vframes(int n, VFrame *vframes[], ...)
@@
-367,9
+379,13
@@
BC_Resources::BC_Resources(float x_scale, float y_scale)
BC_WindowBase::resources = this;
synchronous = 0;
vframe_shm = 0;
BC_WindowBase::resources = this;
synchronous = 0;
vframe_shm = 0;
+#if !defined(__FreeBSD__)
use_shm = -1;
shm_reply = 1;
use_shm = -1;
shm_reply = 1;
-
+#else
+ use_shm = 0;
+ shm_reply = 0;
+#endif
if( x_scale <= 0 ) x_scale = 1;
if( y_scale <= 0 ) y_scale = x_scale;
this->x_scale = x_scale;
if( x_scale <= 0 ) x_scale = 1;
if( y_scale <= 0 ) y_scale = x_scale;
this->x_scale = x_scale;