#include "filejpeg.h"
#include "filempeg.h"
#undef HAVE_STDLIB_H // automake conflict
-#include "fileogg.h"
#include "filepng.h"
#include "fileppm.h"
#include "filescene.h"
#include "filetga.h"
#include "filethread.h"
#include "filetiff.h"
-#include "filevorbis.h"
#include "filexml.h"
#include "formatwindow.h"
#include "formattools.h"
#include "samples.h"
#include "vframe.h"
-//static int temp_debug = 0;
-//suppress noref warning
-void *vorbis0_ov_callbacks[] = {
- &OV_CALLBACKS_DEFAULT, &OV_CALLBACKS_NOCLOSE,
- &OV_CALLBACKS_STREAMONLY, &OV_CALLBACKS_STREAMONLY_NOCLOSE,
-};
-
File::File()
{
cpus = 1;
FileTIFF::get_parameters(parent_window, asset, format_window,
audio_options, video_options, edl);
break;
- case FILE_OGG:
- FileOGG::get_parameters(parent_window, asset, format_window,
- audio_options, video_options, edl);
- break;
default:
break;
}
"CR2",
"TGA",
"TIFF",
- "OGG",
- "Vorbis",
"MPEG",
"EDL",
"FFMPEG_Late",
return FILE_OK;
}
if( !strcmp(pref->name,"GIF") ) { // GIF file
- if( !FileGIF::check_sig(this->asset)) continue;
- file = new FileGIF(this->asset, this);
+ if( FileGIFList::check_sig(this->asset) )
+ file = new FileGIFList(this->asset, this);
+ else if( FileGIF::check_sig(this->asset) )
+ file = new FileGIF(this->asset, this);
+ else continue;
return FILE_OK;
}
#ifdef HAVE_EXR
file = new FileTIFF(this->asset, this);
return FILE_OK;
}
- if( !strcmp(pref->name,"OGG") ) { // OGG file
- if( !FileOGG::check_sig(this->asset) ) continue;
- file = new FileOGG(this->asset, this);
- return FILE_OK;
- }
- if( !strcmp(pref->name,"Vorbis") ) { // VorbisFile file
- if( !FileVorbis::check_sig(this->asset) ) continue;
- 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;
break;
case FILE_GIF:
- case FILE_GIF_LIST:
file = new FileGIF(this->asset, this);
break;
+ case FILE_GIF_LIST:
+ file = new FileGIFList(this->asset, this);
+ break;
+
#ifdef HAVE_OPENEXR
case FILE_EXR:
case FILE_EXR_LIST:
file = new FileMPEG(this->asset, this);
break;
#endif
- case FILE_OGG:
- file = new FileOGG(this->asset, this);
- break;
-
- case FILE_VORBIS:
- file = new FileVorbis(this->asset, this);
- break;
#ifdef HAVE_DV
case FILE_RAWDV:
file = new FileDV(this->asset, this);
int File::close_file(int ignore_thread)
{
- const int debug = 0;
-
- if( debug ) printf("File::close_file file=%p %d\n", file, __LINE__);
-
if( !ignore_thread ) {
stop_audio_thread();
stop_video_thread();
}
-
-
- if( debug ) printf("File::close_file file=%p %d\n", file, __LINE__);
if( file ) {
// The file's asset is a copy of the argument passed to open_file so the
// user must copy lengths from the file's asset.
file->close_file();
delete file;
}
- if( debug ) printf("File::close_file file=%p %d\n", file, __LINE__);
delete_temp_samples_buffer();
delete_temp_frame_buffer();
- if( debug ) printf("File::close_file file=%p %d\n", file, __LINE__);
-
- if( debug ) printf("File::close_file file=%p %d\n", file, __LINE__);
-
reset_parameters();
- if( debug ) printf("File::close_file file=%p %d\n", file, __LINE__);
return 0;
}
-
-
int File::get_index(IndexFile *index_file, MainProgressBar *progress_bar)
{
return !file ? -1 : file->get_index(index_file, progress_bar);
}
-
-
int File::start_audio_thread(int buffer_size, int ring_buffers)
{
this->audio_ring_buffers = ring_buffers;
return 0;
}
-int File::start_video_thread(int buffer_size,
- int color_model,
- int ring_buffers,
- int compressed)
+int File::start_video_thread(int buffer_size, int color_model,
+ int ring_buffers, int compressed)
{
this->video_ring_buffers = ring_buffers;
this->video_buffer_size = buffer_size;
if( !video_thread ) {
video_thread = new FileThread(this, 0, 1);
- video_thread->start_writing(buffer_size,
- color_model,
- ring_buffers,
- compressed);
+ video_thread->start_writing(buffer_size, color_model,
+ ring_buffers, compressed);
}
return 0;
}
if( !temp_frame ) {
temp_frame = new VFrame(asset->width, asset->height, supported_colormodel, 0);
+ temp_frame->clear_frame();
}
// printf("File::read_frame %d\n", __LINE__);
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, _(GIF_NAME)) ) return FILE_GIF;
+ if( !strcasecmp(format, _(GIF_LIST_NAME)) ) return FILE_GIF_LIST;
if( !strcasecmp(format, _(CR2_NAME)) ) return FILE_CR2;
if( !strcasecmp(format, _(CR2_LIST_NAME)) ) return FILE_CR2_LIST;
if( !strcasecmp(format, _(MPEG_NAME)) ) return FILE_MPEG;
if( !strcasecmp(format, _(VMPEG_NAME)) ) return FILE_VMPEG;
if( !strcasecmp(format, _(TGA_NAME)) ) return FILE_TGA;
if( !strcasecmp(format, _(TGA_LIST_NAME)) ) return FILE_TGA_LIST;
- if( !strcasecmp(format, _(OGG_NAME)) ) return FILE_OGG;
- if( !strcasecmp(format, _(VORBIS_NAME)) ) return FILE_VORBIS;
if( !strcasecmp(format, _(RAWDV_NAME)) ) return FILE_RAWDV;
if( !strcasecmp(format, _(FFMPEG_NAME)) ) return FILE_FFMPEG;
if( !strcasecmp(format, _(DBASE_NAME)) ) return FILE_DB;
case FILE_CR2: return _(CR2_NAME);
case FILE_CR2_LIST: return _(CR2_LIST_NAME);
case FILE_FLAC: return _(FLAC_NAME);
+ case FILE_GIF: return _(GIF_NAME);
+ case FILE_GIF_LIST: return _(GIF_LIST_NAME);
case FILE_EXR: return _(EXR_NAME);
case FILE_EXR_LIST: return _(EXR_LIST_NAME);
#ifdef HAVE_LIBZMPEG
case FILE_TGA_LIST: return _(TGA_LIST_NAME);
case FILE_TIFF: return _(TIFF_NAME);
case FILE_TIFF_LIST: return _(TIFF_LIST_NAME);
- case FILE_OGG: return _(OGG_NAME);
- case FILE_VORBIS: return _(VORBIS_NAME);
case FILE_RAWDV: return _(RAWDV_NAME);
case FILE_FFMPEG: return _(FFMPEG_NAME);
case FILE_DB: return _(DBASE_NAME);
int File::renders_video(int format)
{
switch( format ) {
- case FILE_OGG:
case FILE_JPEG:
case FILE_JPEG_LIST:
case FILE_CR2:
case FILE_CR2_LIST:
case FILE_EXR:
case FILE_EXR_LIST:
+ case FILE_GIF:
+ case FILE_GIF_LIST:
case FILE_PNG:
case FILE_PNG_LIST:
case FILE_PPM:
case FILE_FLAC:
case FILE_PCM:
case FILE_WAV:
- case FILE_OGG:
- case FILE_VORBIS:
case FILE_AMPEG:
case FILE_AU:
case FILE_AIFF:
case FILE_RAWDV: return "dv";
case FILE_DB: return "db";
case FILE_EXR: return "exr";
- case FILE_EXR_LIST: return "exr";
+ case FILE_EXR_LIST: return "exrs";
case FILE_FLAC: return "flac";
case FILE_JPEG: return "jpg";
- case FILE_JPEG_LIST: return "jpg";
- case FILE_OGG: return "ogg";
+ case FILE_JPEG_LIST: return "jpgs";
+ case FILE_GIF: return "gif";
+ case FILE_GIF_LIST: return "gifs";
case FILE_PCM: return "pcm";
case FILE_PNG: return "png";
- case FILE_PNG_LIST: return "png";
+ case FILE_PNG_LIST: return "pngs";
case FILE_PPM: return "ppm";
- case FILE_PPM_LIST: return "ppm";
+ case FILE_PPM_LIST: return "ppms";
case FILE_TGA: return "tga";
- case FILE_TGA_LIST: return "tga";
+ case FILE_TGA_LIST: return "tgas";
case FILE_TIFF: return "tif";
- case FILE_TIFF_LIST: return "tif";
+ case FILE_TIFF_LIST: return "tifs";
case FILE_VMPEG: return "m2v";
- case FILE_VORBIS: return "ogg";
case FILE_WAV: return "wav";
case FILE_FFMPEG: return "ffmpg";
}
case FILE_EXR: return "EXR";
case FILE_EXR_LIST: return "EXR_LIST";
case FILE_CR2: return "CR2";
- case FILE_OGG: return "OGG";
- case FILE_VORBIS: return "VORBIS";
case FILE_FLAC: return "FLAC";
case FILE_FFMPEG: return "FFMPEG";
case FILE_SCENE: return "SCENE";
PackagingEngine *File::new_packaging_engine(Asset *asset)
{
- PackagingEngine *result;
- switch( asset->format ) {
- case FILE_OGG:
- result = (PackagingEngine*)new PackagingEngineOGG();
- break;
- default:
- result = (PackagingEngine*) new PackagingEngineDefault();
- break;
- }
-
+ PackagingEngine *result = (PackagingEngine*) new PackagingEngineDefault();
return result;
}