version update, bld tweaks, resize track booby, 10fps for images
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / file.C
index 13e1b457463a2876c411725d4c6ad2ff700c9336..f611b814e136ad4a5f19c7aad08ab26a32f474ec 100644 (file)
@@ -52,7 +52,6 @@
 #include "filejpeg.h"
 #include "filempeg.h"
 #undef HAVE_STDLIB_H // automake conflict
-#include "fileogg.h"
 #include "filepng.h"
 #include "fileppm.h"
 #include "filescene.h"
@@ -60,7 +59,6 @@
 #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;
@@ -237,10 +228,6 @@ int File::get_options(FormatTools *format,
                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;
        }
@@ -362,8 +349,6 @@ const char *File::default_probes[] = {
        "CR2",
        "TGA",
        "TIFF",
-       "OGG",
-       "Vorbis",
        "MPEG",
        "EDL",
                "FFMPEG_Late", 
@@ -430,8 +415,11 @@ int File::probe()
                        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
@@ -461,16 +449,6 @@ int File::probe()
                        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;
@@ -551,9 +529,12 @@ int File::open_file(Preferences *preferences,
                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:
@@ -591,13 +572,6 @@ int File::open_file(Preferences *preferences,
                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);
@@ -1181,6 +1155,7 @@ int File::read_frame(VFrame *frame, int is_thread)
 
                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__);
@@ -1247,6 +1222,8 @@ int File::strtoformat(const char *format)
        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;
@@ -1254,8 +1231,6 @@ int File::strtoformat(const char *format)
        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;
@@ -1283,6 +1258,8 @@ const char* File::formattostr(int format)
        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
@@ -1294,8 +1271,6 @@ 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_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);
@@ -1427,13 +1402,14 @@ int64_t File::get_memory_usage()
 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:
@@ -1463,8 +1439,6 @@ int File::renders_audio(int format)
        case FILE_FLAC:
        case FILE_PCM:
        case FILE_WAV:
-       case FILE_OGG:
-       case FILE_VORBIS:
        case FILE_AMPEG:
        case FILE_AU:
        case FILE_AIFF:
@@ -1507,22 +1481,22 @@ const char* File::get_tag(int format)
        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";
        }
@@ -1556,8 +1530,6 @@ const char* File::get_prefix(int format)
        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";
@@ -1571,16 +1543,7 @@ const char* File::get_prefix(int format)
 
 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;
 }