X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvideodevice.C;h=78214adacacf00fc6b8cf1aedd793861bfd3fe41;hp=8f9f6bbdc9b277d9e00a3e97bfa2dbf17f365579;hb=4a894820c0dad2eef6a281f00988aea48696765b;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd diff --git a/cinelerra-5.1/cinelerra/videodevice.C b/cinelerra-5.1/cinelerra/videodevice.C index 8f9f6bbd..78214ada 100644 --- a/cinelerra-5.1/cinelerra/videodevice.C +++ b/cinelerra-5.1/cinelerra/videodevice.C @@ -29,7 +29,9 @@ #include "edl.h" #include "edlsession.h" #include "file.inc" +#ifdef HAVE_DV #include "libdv.h" +#endif #include "libmjpeg.h" #include "mainmenu.h" #include "mutex.h" @@ -46,9 +48,7 @@ #ifdef HAVE_FIREWIRE #include "vdevice1394.h" #endif -#include "vdevicebuz.h" #include "vdevicedvb.h" -#include "vdevicev4l.h" #include "vdevicev4l2.h" #include "vdevicev4l2jpeg.h" #include "vdevicev4l2mpeg.h" @@ -192,6 +192,8 @@ int VideoDevice::initialize() single_frame = 0; channel_changed = 0; picture_changed = 0; + odd_field_first = 0; + do_cursor = 0; return 0; } @@ -211,12 +213,6 @@ int VideoDevice::open_input(VideoInConfig *config, if( input_base ) return 1; // device already open switch(in_config->driver) { - case VIDEO4LINUX: - keepalive = new KeepaliveThread(this); - keepalive->start_keepalive(); - break; - - #ifdef HAVE_VIDEO4LINUX2 case VIDEO4LINUX2: @@ -232,12 +228,6 @@ int VideoDevice::open_input(VideoInConfig *config, this->input_x = input_x; this->input_y = input_y; break; - case CAPTURE_LML: - case CAPTURE_BUZ: -//printf("VideoDevice 1\n"); - keepalive = new KeepaliveThread(this); - keepalive->start_keepalive(); - break; #ifdef HAVE_FIREWIRE case CAPTURE_FIREWIRE: case CAPTURE_IEC61883: @@ -264,11 +254,6 @@ int VideoDevice::open_input(VideoInConfig *config, VDeviceBase* VideoDevice::new_device_base() { switch(in_config->driver) { -#ifdef HAVE_VIDEO4LINUX - case VIDEO4LINUX: - return input_base = new VDeviceV4L(this); -#endif - #ifdef HAVE_VIDEO4LINUX2 case VIDEO4LINUX2: case CAPTURE_JPEG_WEBCAM: @@ -283,13 +268,6 @@ VDeviceBase* VideoDevice::new_device_base() case SCREENCAPTURE: return input_base = new VDeviceX11(this, 0); -#ifdef HAVE_VIDEO4LINUX - case CAPTURE_BUZ: - return input_base = new VDeviceBUZ(this); - case CAPTURE_LML: - return input_base = new VDeviceLML(this); -#endif - #ifdef HAVE_FIREWIRE case CAPTURE_FIREWIRE: case CAPTURE_IEC61883: @@ -309,9 +287,6 @@ static const char* get_channeldb_path(VideoInConfig *vconfig_in) char *path = 0; switch(vconfig_in->driver) { - case VIDEO4LINUX: - path = (char*)"channels_v4l"; - break; case VIDEO4LINUX2: case CAPTURE_JPEG_WEBCAM: case CAPTURE_YUYV_WEBCAM: @@ -323,9 +298,6 @@ static const char* get_channeldb_path(VideoInConfig *vconfig_in) case VIDEO4LINUX2MPEG: path = (char*)"channels_v4l2mpeg"; break; - case CAPTURE_BUZ: - path = (char*)"channels_buz"; - break; case CAPTURE_DVB: path = (char*)"channels_dvb"; break; @@ -362,10 +334,8 @@ DeviceMPEGInput *VideoDevice::mpeg_device() 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) || + return ((driver == VIDEO4LINUX2JPEG && use_fixed) || (driver == CAPTURE_JPEG_WEBCAM && use_fixed) || - driver == CAPTURE_LML || driver == CAPTURE_FIREWIRE || driver == CAPTURE_IEC61883); } @@ -381,13 +351,12 @@ void VideoDevice::fix_asset(Asset *asset, int driver) // Fix asset using legacy routine const char *vcodec = 0; switch(driver) { +#ifdef HAVE_DV case CAPTURE_IEC61883: case CAPTURE_FIREWIRE: vcodec = CODEC_TAG_DVSD; break; - - case CAPTURE_BUZ: - case CAPTURE_LML: +#endif case VIDEO4LINUX2JPEG: vcodec = CODEC_TAG_MJPEG; break; @@ -417,16 +386,12 @@ const char* VideoDevice::drivertostr(int driver) case PLAYBACK_X11: return PLAYBACK_X11_TITLE; case PLAYBACK_X11_XV: return PLAYBACK_X11_XV_TITLE; case PLAYBACK_X11_GL: return PLAYBACK_X11_GL_TITLE; - case PLAYBACK_BUZ: return PLAYBACK_BUZ_TITLE; - case VIDEO4LINUX: return VIDEO4LINUX_TITLE; case VIDEO4LINUX2: return VIDEO4LINUX2_TITLE; case VIDEO4LINUX2JPEG: return VIDEO4LINUX2JPEG_TITLE; case VIDEO4LINUX2MPEG: return VIDEO4LINUX2MPEG_TITLE; case CAPTURE_JPEG_WEBCAM: return CAPTURE_JPEG_WEBCAM_TITLE; case CAPTURE_YUYV_WEBCAM: return CAPTURE_YUYV_WEBCAM_TITLE; case SCREENCAPTURE: return SCREENCAPTURE_TITLE; - case CAPTURE_BUZ: return CAPTURE_BUZ_TITLE; - case CAPTURE_LML: return CAPTURE_LML_TITLE; case CAPTURE_DVB: return CAPTURE_DVB_TITLE; #ifdef HAVE_FIREWIRE case CAPTURE_FIREWIRE: return CAPTURE_FIREWIRE_TITLE; @@ -532,6 +497,21 @@ int VideoDevice::set_field_order(int odd_field_first) return 0; } +void VideoDevice::set_do_cursor(int do_cursor, int do_big_cursor) +{ + int cursor_scale = 0; + if(do_cursor) + { + cursor_scale = 1; + if(do_big_cursor) + { + cursor_scale = 2; + } + } + + this->do_cursor = cursor_scale; +} + int VideoDevice::set_channel(Channel *channel) { int result = 0; @@ -586,8 +566,7 @@ int VideoDevice::update_translation() if(frame_resized) { input_x = new_input_x; input_y = new_input_y; - if( in_config->driver == VIDEO4LINUX || - in_config->driver == VIDEO4LINUX2 ) { + if( in_config->driver == VIDEO4LINUX2 ) { if(input_z != new_input_z) { input_z = new_input_z; //z_changed = 1; @@ -691,14 +670,6 @@ int VideoDevice::open_output(VideoOutConfig *config, float rate, //printf("VideoDevice::open_output 1 %d\n", out_config->driver); switch(out_config->driver) { -#ifdef HAVE_VIDEO4LINUX - case PLAYBACK_BUZ: - output_base = new VDeviceBUZ(this); - break; - case PLAYBACK_LML: - output_base = new VDeviceLML(this); - break; -#endif case PLAYBACK_X11: case PLAYBACK_X11_XV: case PLAYBACK_X11_GL: @@ -746,10 +717,10 @@ void VideoDevice::goose_input() if(input_base) input_base->goose_input(); } -void VideoDevice::new_output_buffer(VFrame **output, int colormodel) +void VideoDevice::new_output_buffer(VFrame **output, int colormodel, EDL *edl) { if(!output_base) return; - output_base->new_output_buffer(output, colormodel); + output_base->new_output_buffer(output, colormodel, edl); } @@ -779,7 +750,7 @@ int VideoDevice::set_cloexec_flag(int desc, int value) { int oldflags = fcntl(desc, F_GETFD, 0); if( oldflags < 0 ) return oldflags; - if( value != 0 ) + if( value != 0 ) oldflags |= FD_CLOEXEC; else oldflags &= ~FD_CLOEXEC;