projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
expand vaapi render formats and add shortcut
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
file.C
diff --git
a/cinelerra-5.1/cinelerra/file.C
b/cinelerra-5.1/cinelerra/file.C
index 03941d9a0fceb32a38067e3d8bd82420c2034c92..2a1330059cd468069f5e248f6343846445776e8f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/file.C
+++ b/
cinelerra-5.1/cinelerra/file.C
@@
-45,6
+45,7
@@
#include "filecr2.h"
#include "filedb.h"
#include "filedv.h"
#include "filecr2.h"
#include "filedb.h"
#include "filedv.h"
+#include "filedpx.h"
#include "fileexr.h"
#include "fileffmpeg.h"
#include "fileflac.h"
#include "fileexr.h"
#include "fileffmpeg.h"
#include "fileflac.h"
@@
-210,6
+211,13
@@
int File::get_options(FormatTools *format,
FileJPEG::get_parameters(parent_window, asset, format_window,
audio_options, video_options, edl);
break;
FileJPEG::get_parameters(parent_window, asset, format_window,
audio_options, video_options, edl);
break;
+#ifdef HAVE_LIBDPX
+ case FILE_DPX:
+ case FILE_DPX_LIST:
+ FileDPX::get_parameters(parent_window, asset, format_window,
+ audio_options, video_options, edl);
+ break;
+#endif
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST:
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST:
@@
-278,6
+286,7
@@
int File::can_scale_input(Asset *asset)
case FILE_MPEG:
case FILE_FFMPEG:
return 1;
case FILE_MPEG:
case FILE_FFMPEG:
return 1;
+ case FILE_DPX:
case FILE_EXR:
case FILE_JPEG:
case FILE_PNG:
case FILE_EXR:
case FILE_JPEG:
case FILE_PNG:
@@
-378,7
+387,12
@@
const char *File::default_probes[] = {
"PNG",
"PPM",
"JPEG",
"PNG",
"PPM",
"JPEG",
+#ifdef HAVE_GIFLIB
"GIF",
"GIF",
+#endif
+#ifdef HAVE_LIBDPX
+ "DPX",
+#endif
#ifdef HAVE_OPENEXR
"EXR",
#endif
#ifdef HAVE_OPENEXR
"EXR",
#endif
@@
-390,9
+404,11
@@
const char *File::default_probes[] = {
"OGG",
"Vorbis",
#endif
"OGG",
"Vorbis",
#endif
+#ifdef HAVE_LIBZMPEG
"MPEG",
"MPEG",
+#endif
"EDL",
"EDL",
- "FFMPEG_Late",
+ "FFMPEG_Late",
};
const int File::nb_probes =
sizeof(File::default_probes)/sizeof(File::default_probes[0]);
};
const int File::nb_probes =
sizeof(File::default_probes)/sizeof(File::default_probes[0]);
@@
-455,6
+471,7
@@
int File::probe()
file = new FileJPEG(this->asset, this);
return FILE_OK;
}
file = new FileJPEG(this->asset, this);
return FILE_OK;
}
+#ifdef HAVE_GIFLIB
if( !strcmp(pref->name,"GIF") ) { // GIF file
if( FileGIFList::check_sig(this->asset) )
file = new FileGIFList(this->asset, this);
if( !strcmp(pref->name,"GIF") ) { // GIF file
if( FileGIFList::check_sig(this->asset) )
file = new FileGIFList(this->asset, this);
@@
-463,6
+480,14
@@
int File::probe()
else continue;
return FILE_OK;
}
else continue;
return FILE_OK;
}
+#endif
+#ifdef HAVE_LIBDPX
+ if( !strcmp(pref->name,"DPX") ) { // DPX file
+ if( !FileDPX::check_sig(this->asset, data) ) continue;
+ file = new FileDPX(this->asset, this);
+ return FILE_OK;
+ }
+#endif
#ifdef HAVE_OPENEXR
if( !strcmp(pref->name,"EXR") ) { // EXR file
if( !FileEXR::check_sig(this->asset, data)) continue;
#ifdef HAVE_OPENEXR
if( !strcmp(pref->name,"EXR") ) { // EXR file
if( !FileEXR::check_sig(this->asset, data)) continue;
@@
-582,20
+607,27
@@
int File::open_file(Preferences *preferences,
case FILE_JPEG_LIST:
file = new FileJPEG(this->asset, this);
break;
case FILE_JPEG_LIST:
file = new FileJPEG(this->asset, this);
break;
-
+#ifdef HAVE_GIFLIB
case FILE_GIF:
file = new FileGIF(this->asset, this);
break;
case FILE_GIF_LIST:
file = new FileGIFList(this->asset, this);
break;
case FILE_GIF:
file = new FileGIF(this->asset, this);
break;
case FILE_GIF_LIST:
file = new FileGIFList(this->asset, this);
break;
-
+#endif
+#ifdef HAVE_LIBDPX
+ case FILE_DPX:
+ case FILE_DPX_LIST:
+ file = new FileDPX(this->asset, this);
+ break;
+#endif
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST:
file = new FileEXR(this->asset, this);
break;
#endif
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST:
file = new FileEXR(this->asset, this);
break;
#endif
+
case FILE_FLAC:
file = new FileFLAC(this->asset, this);
break;
case FILE_FLAC:
file = new FileFLAC(this->asset, this);
break;
@@
-1273,6
+1305,8
@@
int File::strtoformat(const char *format)
if( !strcasecmp(format, _(TIFF_LIST_NAME)) ) return FILE_TIFF_LIST;
if( !strcasecmp(format, _(JPEG_NAME)) ) return FILE_JPEG;
if( !strcasecmp(format, _(JPEG_LIST_NAME)) ) return FILE_JPEG_LIST;
if( !strcasecmp(format, _(TIFF_LIST_NAME)) ) return FILE_TIFF_LIST;
if( !strcasecmp(format, _(JPEG_NAME)) ) return FILE_JPEG;
if( !strcasecmp(format, _(JPEG_LIST_NAME)) ) return FILE_JPEG_LIST;
+ if( !strcasecmp(format, _(DPX_NAME)) ) return FILE_DPX;
+ if( !strcasecmp(format, _(DPX_LIST_NAME)) ) return FILE_DPX_LIST;
if( !strcasecmp(format, _(EXR_NAME)) ) return FILE_EXR;
if( !strcasecmp(format, _(EXR_LIST_NAME)) ) return FILE_EXR_LIST;
if( !strcasecmp(format, _(FLAC_NAME)) ) return FILE_FLAC;
if( !strcasecmp(format, _(EXR_NAME)) ) return FILE_EXR;
if( !strcasecmp(format, _(EXR_LIST_NAME)) ) return FILE_EXR_LIST;
if( !strcasecmp(format, _(FLAC_NAME)) ) return FILE_FLAC;
@@
-1317,6
+1351,8
@@
const char* File::formattostr(int format)
case FILE_FLAC: return _(FLAC_NAME);
case FILE_GIF: return _(GIF_NAME);
case FILE_GIF_LIST: return _(GIF_LIST_NAME);
case FILE_FLAC: return _(FLAC_NAME);
case FILE_GIF: return _(GIF_NAME);
case FILE_GIF_LIST: return _(GIF_LIST_NAME);
+ case FILE_DPX: return _(DPX_NAME);
+ case FILE_DPX_LIST: return _(DPX_LIST_NAME);
case FILE_EXR: return _(EXR_NAME);
case FILE_EXR_LIST: return _(EXR_LIST_NAME);
#ifdef HAVE_LIBZMPEG
case FILE_EXR: return _(EXR_NAME);
case FILE_EXR_LIST: return _(EXR_LIST_NAME);
#ifdef HAVE_LIBZMPEG
@@
-1328,8
+1364,10
@@
const char* File::formattostr(int format)
case FILE_TGA_LIST: return _(TGA_LIST_NAME);
case FILE_TIFF: return _(TIFF_NAME);
case FILE_TIFF_LIST: return _(TIFF_LIST_NAME);
case FILE_TGA_LIST: return _(TGA_LIST_NAME);
case FILE_TIFF: return _(TIFF_NAME);
case FILE_TIFF_LIST: return _(TIFF_LIST_NAME);
+#ifdef HAVE_OGG
case FILE_OGG: return _(OGG_NAME);
case FILE_VORBIS: return _(VORBIS_NAME);
case FILE_OGG: return _(OGG_NAME);
case FILE_VORBIS: return _(VORBIS_NAME);
+#endif
case FILE_RAWDV: return _(RAWDV_NAME);
case FILE_FFMPEG: return _(FFMPEG_NAME);
case FILE_DB: return _(DBASE_NAME);
case FILE_RAWDV: return _(RAWDV_NAME);
case FILE_FFMPEG: return _(FFMPEG_NAME);
case FILE_DB: return _(DBASE_NAME);
@@
-1409,6
+1447,10
@@
int File::get_best_colormodel(Asset *asset, int driver)
#endif
case FILE_JPEG:
case FILE_JPEG_LIST: return FileJPEG::get_best_colormodel(asset, driver);
#endif
case FILE_JPEG:
case FILE_JPEG_LIST: return FileJPEG::get_best_colormodel(asset, driver);
+#ifdef HAVE_LIBDPX
+ case FILE_DPX:
+ case FILE_DPX_LIST: return FileDPX::get_best_colormodel(asset, driver);
+#endif
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST: return FileEXR::get_best_colormodel(asset, driver);
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST: return FileEXR::get_best_colormodel(asset, driver);
@@
-1544,7
+1586,9
@@
const char* File::get_tag(int format)
case FILE_AU: return "au";
case FILE_RAWDV: return "dv";
case FILE_DB: return "db";
case FILE_AU: return "au";
case FILE_RAWDV: return "dv";
case FILE_DB: return "db";
+ case FILE_DPX: return "dpx";
case FILE_EXR: return "exr";
case FILE_EXR: return "exr";
+ case FILE_DPX_LIST: return "dpxs";
case FILE_EXR_LIST: return "exrs";
case FILE_FLAC: return "flac";
case FILE_JPEG: return "jpg";
case FILE_EXR_LIST: return "exrs";
case FILE_FLAC: return "flac";
case FILE_JPEG: return "jpg";
@@
-1594,6
+1638,8
@@
const char* File::get_prefix(int format)
case FILE_PNG_LIST: return "PNG_LIST";
case FILE_PPM_LIST: return "PPM_LIST";
case FILE_AC3: return "AC3";
case FILE_PNG_LIST: return "PNG_LIST";
case FILE_PPM_LIST: return "PPM_LIST";
case FILE_AC3: return "AC3";
+ case FILE_DPX: return "DPX";
+ case FILE_DPX_LIST: return "DPX_LIST";
case FILE_EXR: return "EXR";
case FILE_EXR_LIST: return "EXR_LIST";
case FILE_CR2: return "CR2";
case FILE_EXR: return "EXR";
case FILE_EXR_LIST: return "EXR_LIST";
case FILE_CR2: return "CR2";
@@
-1620,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, '/');