projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
repair cpanel zoom
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
file.C
diff --git
a/cinelerra-5.1/cinelerra/file.C
b/cinelerra-5.1/cinelerra/file.C
index bc1a6290ef3388240d40b903c0d149278bf68b94..13e1b457463a2876c411725d4c6ad2ff700c9336 100644
(file)
--- a/
cinelerra-5.1/cinelerra/file.C
+++ b/
cinelerra-5.1/cinelerra/file.C
@@
-54,6
+54,7
@@
#undef HAVE_STDLIB_H // automake conflict
#include "fileogg.h"
#include "filepng.h"
#undef HAVE_STDLIB_H // automake conflict
#include "fileogg.h"
#include "filepng.h"
+#include "fileppm.h"
#include "filescene.h"
#include "filesndfile.h"
#include "filetga.h"
#include "filescene.h"
#include "filesndfile.h"
#include "filetga.h"
@@
-164,23
+165,21
@@
int File::get_options(FormatTools *format,
int audio_options, int video_options)
{
BC_WindowBase *parent_window = format->window;
int audio_options, int video_options)
{
BC_WindowBase *parent_window = format->window;
- //ArrayList<PluginServer*> *plugindb = format->plugindb;
Asset *asset = format->asset;
Asset *asset = format->asset;
-
+ EDL *edl = format->mwindow ? format->mwindow->edl : 0;
+ format_window = 0;
getting_options = 1;
format_completion->lock("File::get_options");
switch( asset->format ) {
getting_options = 1;
format_completion->lock("File::get_options");
switch( asset->format ) {
- case FILE_AC3:
- FileAC3::get_parameters(parent_window,
- asset,
- format_window,
- audio_options,
- video_options);
+#ifdef HAVE_CIN_3RDPARTY
+ case FILE_AC3: FileAC3::get_parameters(parent_window, asset, format_window,
+ audio_options, video_options, edl);
break;
break;
+#endif
#ifdef HAVE_DV
case FILE_RAWDV:
FileDV::get_parameters(parent_window, asset, format_window,
#ifdef HAVE_DV
case FILE_RAWDV:
FileDV::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
#endif
case FILE_PCM:
break;
#endif
case FILE_PCM:
@@
-189,51
+188,58
@@
int File::get_options(FormatTools *format,
case FILE_AIFF:
case FILE_SND:
FileSndFile::get_parameters(parent_window, asset, format_window,
case FILE_AIFF:
case FILE_SND:
FileSndFile::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
case FILE_FFMPEG:
FileFFMPEG::get_parameters(parent_window, asset, format_window,
break;
case FILE_FFMPEG:
FileFFMPEG::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
break;
+#ifdef HAVE_LIBZMPEG
case FILE_AMPEG:
case FILE_VMPEG:
FileMPEG::get_parameters(parent_window, asset, format_window,
case FILE_AMPEG:
case FILE_VMPEG:
FileMPEG::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
break;
+#endif
case FILE_JPEG:
case FILE_JPEG_LIST:
FileJPEG::get_parameters(parent_window, asset, format_window,
case FILE_JPEG:
case FILE_JPEG_LIST:
FileJPEG::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST:
FileEXR::get_parameters(parent_window, asset, format_window,
break;
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST:
FileEXR::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
#endif
case FILE_FLAC:
FileFLAC::get_parameters(parent_window, asset, format_window,
break;
#endif
case FILE_FLAC:
FileFLAC::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
case FILE_PNG:
case FILE_PNG_LIST:
FilePNG::get_parameters(parent_window, asset, format_window,
break;
case FILE_PNG:
case FILE_PNG_LIST:
FilePNG::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options, edl);
+ break;
+ case FILE_PPM:
+ case FILE_PPM_LIST:
+ FilePPM::get_parameters(parent_window, asset, format_window,
+ audio_options, video_options, edl);
break;
case FILE_TGA:
case FILE_TGA_LIST:
FileTGA::get_parameters(parent_window, asset, format_window,
break;
case FILE_TGA:
case FILE_TGA_LIST:
FileTGA::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
case FILE_TIFF:
case FILE_TIFF_LIST:
FileTIFF::get_parameters(parent_window, asset, format_window,
break;
case FILE_TIFF:
case FILE_TIFF_LIST:
FileTIFF::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
case FILE_OGG:
FileOGG::get_parameters(parent_window, asset, format_window,
break;
case FILE_OGG:
FileOGG::get_parameters(parent_window, asset, format_window,
- audio_options, video_options);
+ audio_options, video_options
, edl
);
break;
default:
break;
break;
default:
break;
@@
-260,13
+266,23
@@
int File::get_options(FormatTools *format,
return 0;
}
return 0;
}
-
-
-
-
-
-
-
+int File::can_scale_input(Asset *asset)
+{
+ switch( asset->format ) {
+ case FILE_MPEG:
+ case FILE_FFMPEG:
+ return 1;
+ case FILE_EXR:
+ case FILE_JPEG:
+ case FILE_PNG:
+ case FILE_PPM:
+ case FILE_TGA:
+ case FILE_TIFF:
+ if( asset->video_length < 0 )
+ return 1;
+ }
+ return 0;
+}
int File::set_processors(int cpus) // Set the number of cpus for certain codecs
int File::set_processors(int cpus) // Set the number of cpus for certain codecs
@@
-336,6
+352,7
@@
const char *File::default_probes[] = {
#endif
"SndFile",
"PNG",
#endif
"SndFile",
"PNG",
+ "PPM",
"JPEG",
"GIF",
#ifdef HAVE_OPENEXR
"JPEG",
"GIF",
#ifdef HAVE_OPENEXR
@@
-373,11
+390,13
@@
int File::probe()
file = new FileFFMPEG(this->asset, this);
return FILE_OK;
}
file = new FileFFMPEG(this->asset, this);
return FILE_OK;
}
+#ifdef HAVE_COMMERCIAL
if( !strcmp(pref->name,"DB") ) { // MediaDB
if( !FileDB::check_sig(this->asset) ) continue;
file = new FileDB(this->asset, this);
return FILE_OK;
}
if( !strcmp(pref->name,"DB") ) { // MediaDB
if( !FileDB::check_sig(this->asset) ) continue;
file = new FileDB(this->asset, this);
return FILE_OK;
}
+#endif
if( !strcmp(pref->name,"Scene") ) { // scene file
if( !FileScene::check_sig(this->asset, data)) continue;
file = new FileScene(this->asset, this);
if( !strcmp(pref->name,"Scene") ) { // scene file
if( !FileScene::check_sig(this->asset, data)) continue;
file = new FileScene(this->asset, this);
@@
-400,6
+419,11
@@
int File::probe()
file = new FilePNG(this->asset, this);
return FILE_OK;
}
file = new FilePNG(this->asset, this);
return FILE_OK;
}
+ if( !strcmp(pref->name,"PPM") ) { // PPM file
+ if( !FilePPM::check_sig(this->asset) ) continue;
+ file = new FilePPM(this->asset, this);
+ return FILE_OK;
+ }
if( !strcmp(pref->name,"JPEG") ) { // JPEG file
if( !FileJPEG::check_sig(this->asset) ) continue;
file = new FileJPEG(this->asset, this);
if( !strcmp(pref->name,"JPEG") ) { // JPEG file
if( !FileJPEG::check_sig(this->asset) ) continue;
file = new FileJPEG(this->asset, this);
@@
-447,11
+471,13
@@
int File::probe()
file = new FileVorbis(this->asset, this);
return FILE_OK;
}
file = new FileVorbis(this->asset, this);
return FILE_OK;
}
+#ifdef HAVE_LIBZMPEG
if( !strcmp(pref->name,"MPEG") ) { // MPEG file
if( !FileMPEG::check_sig(this->asset) ) continue;
file = new FileMPEG(this->asset, this);
return FILE_OK;
}
if( !strcmp(pref->name,"MPEG") ) { // MPEG file
if( !FileMPEG::check_sig(this->asset) ) continue;
file = new FileMPEG(this->asset, this);
return FILE_OK;
}
+#endif
if( !strcmp(pref->name,"EDL") ) { // XML file
if( data[0] != '<' ) continue;
if( !strncmp(&data[1],"EDL>",4) ||
if( !strcmp(pref->name,"EDL") ) { // XML file
if( data[0] != '<' ) continue;
if( !strncmp(&data[1],"EDL>",4) ||
@@
-487,10
+513,11
@@
int File::open_file(Preferences *preferences,
if( ret != FILE_OK ) return ret;
break; }
// format already determined
if( ret != FILE_OK ) return ret;
break; }
// format already determined
+#ifdef HAVE_CIN_3RDPARTY
case FILE_AC3:
file = new FileAC3(this->asset, this);
break;
case FILE_AC3:
file = new FileAC3(this->asset, this);
break;
-
+#endif
case FILE_SCENE:
file = new FileScene(this->asset, this);
break;
case FILE_SCENE:
file = new FileScene(this->asset, this);
break;
@@
-513,6
+540,11
@@
int File::open_file(Preferences *preferences,
file = new FilePNG(this->asset, this);
break;
file = new FilePNG(this->asset, this);
break;
+ case FILE_PPM:
+ case FILE_PPM_LIST:
+ file = new FilePPM(this->asset, this);
+ break;
+
case FILE_JPEG:
case FILE_JPEG_LIST:
file = new FileJPEG(this->asset, this);
case FILE_JPEG:
case FILE_JPEG_LIST:
file = new FileJPEG(this->asset, this);
@@
-546,17
+578,19
@@
int File::open_file(Preferences *preferences,
case FILE_TIFF_LIST:
file = new FileTIFF(this->asset, this);
break;
case FILE_TIFF_LIST:
file = new FileTIFF(this->asset, this);
break;
-
+#ifdef HAVE_COMMERCIAL
case FILE_DB:
file = new FileDB(this->asset, this);
break;
case FILE_DB:
file = new FileDB(this->asset, this);
break;
+#endif
+#ifdef HAVE_LIBZMPEG
case FILE_MPEG:
case FILE_AMPEG:
case FILE_VMPEG:
file = new FileMPEG(this->asset, this);
break;
case FILE_MPEG:
case FILE_AMPEG:
case FILE_VMPEG:
file = new FileMPEG(this->asset, this);
break;
-
+#endif
case FILE_OGG:
file = new FileOGG(this->asset, this);
break;
case FILE_OGG:
file = new FileOGG(this->asset, this);
break;
@@
-1204,6
+1238,8
@@
int File::strtoformat(const char *format)
if( !strcasecmp(format, _(SND_NAME)) ) return FILE_SND;
if( !strcasecmp(format, _(PNG_NAME)) ) return FILE_PNG;
if( !strcasecmp(format, _(PNG_LIST_NAME)) ) return FILE_PNG_LIST;
if( !strcasecmp(format, _(SND_NAME)) ) return FILE_SND;
if( !strcasecmp(format, _(PNG_NAME)) ) return FILE_PNG;
if( !strcasecmp(format, _(PNG_LIST_NAME)) ) return FILE_PNG_LIST;
+ if( !strcasecmp(format, _(PPM_NAME)) ) return FILE_PPM;
+ if( !strcasecmp(format, _(PPM_LIST_NAME)) ) return FILE_PPM_LIST;
if( !strcasecmp(format, _(TIFF_NAME)) ) return FILE_TIFF;
if( !strcasecmp(format, _(TIFF_LIST_NAME)) ) return FILE_TIFF_LIST;
if( !strcasecmp(format, _(JPEG_NAME)) ) return FILE_JPEG;
if( !strcasecmp(format, _(TIFF_NAME)) ) return FILE_TIFF;
if( !strcasecmp(format, _(TIFF_LIST_NAME)) ) return FILE_TIFF_LIST;
if( !strcasecmp(format, _(JPEG_NAME)) ) return FILE_JPEG;
@@
-1240,6
+1276,8
@@
const char* File::formattostr(int format)
case FILE_SND: return _(SND_NAME);
case FILE_PNG: return _(PNG_NAME);
case FILE_PNG_LIST: return _(PNG_LIST_NAME);
case FILE_SND: return _(SND_NAME);
case FILE_PNG: return _(PNG_NAME);
case FILE_PNG_LIST: return _(PNG_LIST_NAME);
+ case FILE_PPM: return _(PPM_NAME);
+ case FILE_PPM_LIST: return _(PPM_LIST_NAME);
case FILE_JPEG: return _(JPEG_NAME);
case FILE_JPEG_LIST: return _(JPEG_LIST_NAME);
case FILE_CR2: return _(CR2_NAME);
case FILE_JPEG: return _(JPEG_NAME);
case FILE_JPEG_LIST: return _(JPEG_LIST_NAME);
case FILE_CR2: return _(CR2_NAME);
@@
-1247,7
+1285,9
@@
const char* File::formattostr(int format)
case FILE_FLAC: return _(FLAC_NAME);
case FILE_EXR: return _(EXR_NAME);
case FILE_EXR_LIST: return _(EXR_LIST_NAME);
case FILE_FLAC: return _(FLAC_NAME);
case FILE_EXR: return _(EXR_NAME);
case FILE_EXR_LIST: return _(EXR_LIST_NAME);
+#ifdef HAVE_LIBZMPEG
case FILE_MPEG: return _(MPEG_NAME);
case FILE_MPEG: return _(MPEG_NAME);
+#endif
case FILE_AMPEG: return _(AMPEG_NAME);
case FILE_VMPEG: return _(VMPEG_NAME);
case FILE_TGA: return _(TGA_NAME);
case FILE_AMPEG: return _(AMPEG_NAME);
case FILE_VMPEG: return _(VMPEG_NAME);
case FILE_TGA: return _(TGA_NAME);
@@
-1329,7
+1369,9
@@
int File::get_best_colormodel(Asset *asset, int driver)
#ifdef HAVE_DV
case FILE_RAWDV: return FileDV::get_best_colormodel(asset, driver);
#endif
#ifdef HAVE_DV
case FILE_RAWDV: return FileDV::get_best_colormodel(asset, driver);
#endif
+#ifdef HAVE_LIBZMPEG
case FILE_MPEG: return FileMPEG::get_best_colormodel(asset, driver);
case FILE_MPEG: return FileMPEG::get_best_colormodel(asset, driver);
+#endif
case FILE_JPEG:
case FILE_JPEG_LIST: return FileJPEG::get_best_colormodel(asset, driver);
#ifdef HAVE_OPENEXR
case FILE_JPEG:
case FILE_JPEG_LIST: return FileJPEG::get_best_colormodel(asset, driver);
#ifdef HAVE_OPENEXR
@@
-1338,11
+1380,15
@@
int File::get_best_colormodel(Asset *asset, int driver)
#endif
case FILE_PNG:
case FILE_PNG_LIST: return FilePNG::get_best_colormodel(asset, driver);
#endif
case FILE_PNG:
case FILE_PNG_LIST: return FilePNG::get_best_colormodel(asset, driver);
+ case FILE_PPM:
+ case FILE_PPM_LIST: return FilePPM::get_best_colormodel(asset, driver);
case FILE_TGA:
case FILE_TGA_LIST: return FileTGA::get_best_colormodel(asset, driver);
case FILE_CR2:
case FILE_CR2_LIST: return FileCR2::get_best_colormodel(asset, driver);
case FILE_TGA:
case FILE_TGA_LIST: return FileTGA::get_best_colormodel(asset, driver);
case FILE_CR2:
case FILE_CR2_LIST: return FileCR2::get_best_colormodel(asset, driver);
+#ifdef HAVE_COMMERCIAL
case FILE_DB: return FileDB::get_best_colormodel(asset, driver);
case FILE_DB: return FileDB::get_best_colormodel(asset, driver);
+#endif
case FILE_FFMPEG: return FileFFMPEG::get_best_colormodel(asset, driver);
}
case FILE_FFMPEG: return FileFFMPEG::get_best_colormodel(asset, driver);
}
@@
-1390,6
+1436,8
@@
int File::renders_video(int format)
case FILE_EXR_LIST:
case FILE_PNG:
case FILE_PNG_LIST:
case FILE_EXR_LIST:
case FILE_PNG:
case FILE_PNG_LIST:
+ case FILE_PPM:
+ case FILE_PPM_LIST:
case FILE_TGA:
case FILE_TGA_LIST:
case FILE_TIFF:
case FILE_TGA:
case FILE_TGA_LIST:
case FILE_TIFF:
@@
-1404,7
+1452,7
@@
int File::renders_video(int format)
int File::renders_video(Asset *asset)
{
return asset->format == FILE_FFMPEG ?
int File::renders_video(Asset *asset)
{
return asset->format == FILE_FFMPEG ?
- F
ileF
FMPEG::renders_video(asset->fformat) :
+ FFMPEG::renders_video(asset->fformat) :
renders_video(asset->format);
}
renders_video(asset->format);
}
@@
-1430,7
+1478,7
@@
int File::renders_audio(int format)
int File::renders_audio(Asset *asset)
{
return asset->format == FILE_FFMPEG ?
int File::renders_audio(Asset *asset)
{
return asset->format == FILE_FFMPEG ?
- F
ileF
FMPEG::renders_audio(asset->fformat) :
+ FFMPEG::renders_audio(asset->fformat) :
renders_audio(asset->format);
}
renders_audio(asset->format);
}
@@
-1440,6
+1488,7
@@
int File::is_image_render(int format)
case FILE_EXR:
case FILE_JPEG:
case FILE_PNG:
case FILE_EXR:
case FILE_JPEG:
case FILE_PNG:
+ case FILE_PPM:
case FILE_TGA:
case FILE_TIFF:
return 1;
case FILE_TGA:
case FILE_TIFF:
return 1;
@@
-1466,6
+1515,8
@@
const char* File::get_tag(int format)
case FILE_PCM: return "pcm";
case FILE_PNG: return "png";
case FILE_PNG_LIST: return "png";
case FILE_PCM: return "pcm";
case FILE_PNG: return "png";
case FILE_PNG_LIST: return "png";
+ case FILE_PPM: return "ppm";
+ case FILE_PPM_LIST: return "ppm";
case FILE_TGA: return "tga";
case FILE_TGA_LIST: return "tga";
case FILE_TIFF: return "tif";
case FILE_TGA: return "tga";
case FILE_TGA_LIST: return "tga";
case FILE_TIFF: return "tif";
@@
-1484,6
+1535,7
@@
const char* File::get_prefix(int format)
case FILE_PCM: return "PCM";
case FILE_WAV: return "WAV";
case FILE_PNG: return "PNG";
case FILE_PCM: return "PCM";
case FILE_WAV: return "WAV";
case FILE_PNG: return "PNG";
+ case FILE_PPM: return "PPM";
case FILE_JPEG: return "JPEG";
case FILE_TIFF: return "TIFF";
case FILE_GIF: return "GIF";
case FILE_JPEG: return "JPEG";
case FILE_TIFF: return "TIFF";
case FILE_GIF: return "GIF";
@@
-1499,6
+1551,7
@@
const char* File::get_prefix(int format)
case FILE_RAWDV: return "RAWDV";
case FILE_TIFF_LIST: return "TIFF_LIST";
case FILE_PNG_LIST: return "PNG_LIST";
case FILE_RAWDV: return "RAWDV";
case FILE_TIFF_LIST: return "TIFF_LIST";
case FILE_PNG_LIST: return "PNG_LIST";
+ case FILE_PPM_LIST: return "PPM_LIST";
case FILE_AC3: return "AC3";
case FILE_EXR: return "EXR";
case FILE_EXR_LIST: return "EXR_LIST";
case FILE_AC3: return "AC3";
case FILE_EXR: return "EXR";
case FILE_EXR_LIST: return "EXR_LIST";