X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fvideodevice.C;h=e5f78e88d4d8388476e3cf68b4a73541d68bf277;hb=6c0c8bd0e577001d1cc18c6c27d58e62f58a6bff;hp=eceb75c8a85a9714b90d5cbe5ec1e457d97a4bfd;hpb=2d99bb8ce591f05a31464b517d85dc2bc35b2abe;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/videodevice.C b/cinelerra-5.0/cinelerra/videodevice.C index eceb75c8..e5f78e88 100644 --- a/cinelerra-5.0/cinelerra/videodevice.C +++ b/cinelerra-5.0/cinelerra/videodevice.C @@ -30,6 +30,8 @@ #include "edlsession.h" #include "file.inc" #include "../hvirtual_config.h" +#include "libdv.h" +#include "libmjpeg.h" #include "mainmenu.h" #include "mutex.h" #include "mwindow.h" @@ -360,7 +362,6 @@ int VideoDevice::is_compressed(int driver, int use_file, int use_fixed) // FileMOV needs to have write_frames called so the start codes get scanned. return ((driver == CAPTURE_BUZ && use_fixed) || (driver == VIDEO4LINUX2JPEG && use_fixed) || - (driver == VIDEO4LINUX2MPEG && use_fixed) || (driver == CAPTURE_JPEG_WEBCAM && use_fixed) || driver == CAPTURE_LML || driver == CAPTURE_FIREWIRE || @@ -376,32 +377,27 @@ int VideoDevice::is_compressed(int use_file, int use_fixed) void VideoDevice::fix_asset(Asset *asset, int driver) { // Fix asset using legacy routine - switch(driver) - { - case CAPTURE_JPEG_WEBCAM: - if(asset->format != FILE_AVI && - asset->format != FILE_MOV) - asset->format = FILE_MOV; - strcpy(asset->vcodec, QUICKTIME_JPEG); - break; - - case CAPTURE_BUZ: - case CAPTURE_LML: - case VIDEO4LINUX2JPEG: - if(asset->format != FILE_AVI && - asset->format != FILE_MOV) - asset->format = FILE_MOV; - if( strncmp(asset->vcodec,QUICKTIME_MJPG,4) != 0 ) - strncpy(asset->vcodec,QUICKTIME_MJPA,4); - return; - - case CAPTURE_FIREWIRE: - case CAPTURE_IEC61883: - if(asset->format != FILE_AVI && - asset->format != FILE_MOV) - asset->format = FILE_MOV; - strcpy(asset->vcodec, QUICKTIME_DVSD); - return; + const char *vcodec = 0; + switch(driver) { + case CAPTURE_IEC61883: + case CAPTURE_FIREWIRE: + vcodec = CODEC_TAG_DVSD; + break; + + case CAPTURE_BUZ: + case CAPTURE_LML: + case VIDEO4LINUX2JPEG: + vcodec = CODEC_TAG_MJPEG; + break; + + case CAPTURE_JPEG_WEBCAM: + vcodec = CODEC_TAG_JPEG; + break; + } + if( vcodec ) { + asset->format = FILE_FFMPEG; + strcpy(asset->vcodec, vcodec); + return; } // Fix asset using inherited routine