Git Product home page Git Product logo

vcs's People

Contributors

akbkuku avatar leikareipa avatar porkoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vcs's Issues

Linux version crashes if card is not /dev/video0 for first input

It's as the issue title says. Unfortunately, having the card's first input be on a virtual /dev/video0 introduces a lot of framerate issues (which I notice easily in my Atari 2600 games). Here's the error I get if this is loaded after something like, say, the v4l2 loopback driver:

seth@localhost:~/Downloads/vcs-master> ./vcs VCS 2.7.0 [Debug ] Parsing the command line. [Status] Initializing VCS. [Debug ] Initializing the video presets subsystem. [Debug ] Initializing the scaler subsystem. [Debug ] Initializing the capture subsystem. [Debug ] Initializing the Vision/V4L capture device. [Debug ] Opening /dev/video0. [Error ] A call to ioctl() failed. Request: 3234879188, error: -1. [Assert] src/capture/vision_v4l/input_channel_v4l.cpp:105 "The capture hardware failed to report its input resolution." [Error ] VCS has encountered a run-time error and will attempt to exit. [Status] Received orders to exit. Initiating cleanup. [Status] Ready to exit. Aborted (core dumped)

Failing to start VCS 1.65 & 2.0

When trying to start vcs 1.65 or 2.0 I get a pop up message with an error. It happens both in a command prompt and when clicking the executable. Running command prompt or vcs.exe as administrator does nothing different. This is from the vcs 2.0 binary from this github.

error pop up: https://imgur.com/y8L3B4A

command prompt dump:
VCS 2.0.0
---------+
[Info ] Parsing the command line.
[Info ] Initializing the program.
[Info ] Initializing the scaler.
[Debug] Initializing the memory manager...
[Error] The memory manager failed to allocate enough memory for its operation. ..\src\common\memory\memory.cpp 69
[Error] Assertion failure in ..\src\common\memory\memory.cpp {69}: "The memory manager failed to allocate enough memory for its operation."
[Error] VCS has encountered a runtime error and has decided that it's best to close down.
[Debug] Received orders to exit. Initiating cleanup.
[Debug] Releasing the display.
[Debug] Expected the display to have been acquired before releasing it. Ignoring this call.
[Debug] Releasing the scaler.
[Debug] Was asked to release a null pointer in the memory cache. Ignoring this.
[Debug] Was asked to release a null pointer in the memory cache. Ignoring this.
[Debug] Was asked to release a null pointer in the memory cache. Ignoring this.
[Debug] Releasing the capture API.

Win10Pro x64, 32Gb memory, Ryzen 2700X cpu, Datapath E1S. I don't know what more information to give.

Linux build issue

I'm running opencv is all 4.5.4+dfsg-9ubuntu4 and I'm on xubuntu 22.04.3 LTS.
I dont think I'm in a position to get a lower opencv build going.

I had to add to the vcs.pro in INCLUDEPATH
/usr/include/opencv4

This takes care of my opencv includes, but I'm getting the below, Ive tried with clang + gcc..

GCC

src/scaler/scaler.cpp:222:44: error: invalid initialization of reference of type ‘const image_s&’ from expression of type ‘<brace-enclosed initializer list>’
  222 |     image_s imageToBeScaled = kat_anti_tear({
      |                               ~~~~~~~~~~~~~^~
  223 |         .pixels = frame.pixels,
      |         ~~~~~~~~~~~~~~~~~~~~~~~             
  224 |         .resolution = frame.resolution
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      
  225 |     });
      |     ~~ 

clang

src/scaler/scaler.cpp:222:31: error: no matching function for call to 'kat_anti_tear'
    image_s imageToBeScaled = kat_anti_tear({
                              ^~~~~~~~~~~~~
src/anti_tear/anti_tear.h:167:9: note: candidate function not viable: cannot convert initializer list argument to 'const image_s'
image_s kat_anti_tear(const image_s &image);
        ^

Input profiles

Collect the various resolution settings to a profile. Save it, and load it back later.

To recognize the actual mode, use:

  • width
  • height
  • frequency: more exact (59.94), not rounded - the text mode and the graphical mode is slightly different at every video cards

Eg on Riva128 (I have checked with Vision window):

  • 720x400 70.00Hz (text mode 80x25)
  • 720x400 69.75Hz (VGA 320x200)
  • 720x400 66.59Hz (mode X, 320x368)

If you calibrated once the actual adapter, you can save to a file ("riva128.profile"), and you can create a new one for a different card and load it back later.

It would be possible to create a database about the profiles, and download it (but I am not sure, than every adapter use exactly the same frequencies - different BIOS, ramdac, etc).

Linux builds failing. Both 2.5.1 and latest git revision

Hi team,

I've been trying to build this program to use my E1S for retro machine capture under Linux (using Windows for the capture machine is unfortunately not possible)

When attempting to compile it I experience the following errors

/usr/include/opencv2 does not actually exist. On my machine the files vcs is searching for exist under /usr/include/opencv4/opencv2 however symlinking the directory to /usr/include/opencv2 allows the build to continue

During the make operation it quickly fails with the following error

src/filter/filters/delta_histogram/filter_delta_histogram.cpp:67:96: error: ‘CV_AA’ was not declared in this scope

Adding #define CV_AA cv::LINE_AA to the histogram.cpp file allows the build to continue for some time, eventually erroring out at the following however

generated_files -Igenerated_files -I../../../lib64/qt5/mkspecs/linux-g++ -o generated_files/scaler.o src/scaler/scaler.cpp
src/scaler/scaler.cpp: In function ‘void s_convert_frame_to_bgra(const captured_frame_s&)’:
src/scaler/scaler.cpp:490:30: error: ‘CV_BGR5652BGRA’ was not declared in this scope
  490 |             conversionType = CV_BGR5652BGRA;
      |                              ^~~~~~~~~~~~~~
src/scaler/scaler.cpp:494:30: error: ‘CV_BGR5552BGRA’ was not declared in this scope
  494 |             conversionType = CV_BGR5552BGRA;
      |                              ^~~~~~~~~~~~~~
src/scaler/scaler.cpp:503:34: error: ‘CV_RGBA2BGRA’ was not declared in this scope
  503 |                 conversionType = CV_RGBA2BGRA;
      |                                  ^~~~~~~~~~~~
src/scaler/scaler.cpp:507:34: error: ‘CV_BGR2BGRA’ was not declared in this scope
  507 |                 conversionType = CV_BGR2BGRA;
      |                                  ^~~~~~~~~~~
src/scaler/scaler.cpp:511:34: error: ‘CV_BGR5652BGRA’ was not declared in this scope
  511 |                 conversionType = CV_BGR5652BGRA;
      |                                  ^~~~~~~~~~~~~~
make: *** [Makefile:7075: generated_files/scaler.o] Error 1

Unfortunately I'm not a C++ programmer so this error is beyond my ability to correct.

Is there something I'm missing from the build on my machine? I am using the latest opencv-v4.6.0 which I am not sure if may be contributing to the issue.

I have seen @AkBKukU using this same card on their streams, albeit using a Ubuntu LTS which I assume includes a much older version of opencv?

Save and restore scaling settings

While using the settings for sega genesis from here there is an upscale and a downscale involved.

I want to easily swap between profiles for different consoles but cannot currently do so as saving and restoring the scaling settings via the command line cannot be done.

The feature request is saving and restore scaling settings could be added, or be able to be specified on the command line.

Auto crop / calibration (=> multiple video mode settings per resolution)

  1. It would be nice a button, or a shortcut to crop the black areas from the borders (manually is possible in the "Vision window").
  2. Maybe it would be useful to do an "auto" checkbox, to do after every resolution switch

Useful for:

Messy screen after program start

Not always, but at most of the cases it shows a messy screen after the starting of the program. If I click to a different resolution and back to the original, it is ok. With Vision window works well.

https://photos.app.goo.gl/ZXNcpvzVbSPkjgiV6

VCS 1.3.4
---------+
[Info ] Parsing the command line.
[Info ] Initializing the program.
[Info ] Initializing the scaler.
[Debug] Initializing the memory manager...
[Debug] Assigned 'Nearest' as the upscaling filter.
[Debug] Assigned 'Nearest' as the downscaling filter.
[Info ] Initializing the capturer.
[Info ] Initializing the capture card.
[Info ] Starting capture on input channel 1.
[Debug] No alias file defined, skipping.
[Debug] No mode settings file defined, skipping.
[Info ] Applying mode parameters for 1024 x 768.
[Info ] Unknown video mode; returning default parameters.
[Info ] Capturer reports new input mode: 1024 x 768.
[Info ] Initializing the anti-tear engine for 2048 x 4096 max.
[Debug] Initializing custom filtering.
[Info ] Acquiring the display.
[Info ] No filter set file defined, skipping.
[N.B. ] A call to RGBInputIsCompositeSupported() returned with an unexpected error (0x1160002).
[N.B. ] A call to RGBInputIsSVideoSupported() returned with an unexpected error (0x1160002).
[Debug] Assigned 'Linear' as the upscaling filter.
[Debug] Assigned 'Linear' as the downscaling filter.
[Debug] Broadcasting 0 alias set(s) to the GUI.
[Info ] Entering the main loop.
[Debug] Received a request via the GUI to set the input resolution to 800 x 600.
[Info ] Applying mode parameters for 800 x 600.
[Info ] Unknown video mode; returning default parameters.
[Info ] Capturer reports new input mode: 800 x 600.
[Debug] Skipping a frame, as requested.
[Debug] Skipping a frame, as requested.
[Debug] Received a request via the GUI to set the input resolution to 1024 x 768.
[Info ] Applying mode parameters for 1024 x 768.
[Info ] Unknown video mode; returning default parameters.
[Info ] Capturer reports new input mode: 1024 x 768.

Fullscreen not centered

When I try to go full screen with a 4:3 source on a 16:9 monitor I get a 4:3 box in my top left instead of a centered image. I couldn't find anything in the docs or settings to change this.

Keyboard shortcuts

I would like to suggest a couple of keyboard shortcuts, it would be practical especially for the full screen mode:

  • F1-F8 = predefined input resolutions (like now for F1-F2, just for the whole input grid)
  • cursor = horizontal / vertical positioning of the screen (it would be the biggest help)
  • +/- = horizontal size
  • R = reset input, this a useful feature in Vision window at the messy screen - maybe better than the predefined inputs
  • I = info toggle (input resolution, frequency)

Feature: low pass filter

Would it be possible to implement a software low pass filter for VCS? When I'm recording from consoles like the PS1 and Saturn I get noise patterns. These are rather constant and mostly visible on solid colours.

I assume some soft of low pass filter can smooth this noise out.

An example of the noise I'm talking about can be found here. Pay attention to the units health bars for example:
https://www.youtube.com/watch?v=c_UOuBQi8Ck

Recording problems [=> memory allocation/fragmentation issue]

I have difficulties to get the recording going. My target resolution is 720x400@70hz and output window is set to that.

I get his debug when I start vcs from poweshell:

PS D:\App\vcs> .\vcs.exe
VCS 2.1.0
---------+
[Info ] Parsing the command line.
[Info ] Initializing the program.
[Info ] Initializing the scaler.
[Debug] Initializing the memory manager...
[Debug] Assigned 'Nearest' as the upscaling filter.
[Debug] Assigned 'Nearest' as the downscaling filter.
[Info ] Initializing the capture API.
[Info ] Initializing the capture hardware.
[Info ] Starting capture on input channel 1.
[Info ] New video mode: 640 x 480 @ 70.000000 Hz.
[Debug] Expected the display to have been acquired before accessing it for redraw. Ignoring this call.
[Info ] Initializing the anti-tear engine for 2048 x 4096 max.
[Debug] Initializing custom filtering.
[Info ] Acquiring the display.
[Debug] Assigned 'Nearest' as the upscaling filter.
[Debug] Assigned 'Nearest' as the downscaling filter.
DirectWrite: CreateFontFaceFromHDC() failed (Indicates an error in an input file such as a font file.) for QFontDef(Family="MS Sans Serif", pointsize=11.25, pixelsize=15, styleHint=5, weight=75, stretch=100, hintingPreference=0) LOGFONT("MS Sans Serif", lfWidth=0, lfHeight=-15) dpi=96
DirectWrite: CreateFontFaceFromHDC() failed (Indicates an error in an input file such as a font file.) for QFontDef(Family="MS Sans Serif", pointsize=11.25, pixelsize=15, styleHint=5, weight=50, stretch=100, hintingPreference=0) LOGFONT("MS Sans Serif", lfWidth=0, lfHeight=-15) dpi=96
[Debug] Broadcasting 0 alias(es) to the GUI.
[Debug] No video presets file defined, skipping.
[Debug] No filter graph file defined, skipping.
[Debug] No alias file defined, skipping.
[Info ] Entering the main loop.
[Info ] New video mode: 720 x 400 @ 70.000000 Hz.
[Debug] Starting recording into file 'output.avi'.
Abort was called at 99 line in file:
D:\qb\workspace\21461\source\vpg-compute-neo\runtime\built_ins\built_ins.cpp

If I change output resolution with ctrl + 0 to 200% scaling or something else in numbers I usually just get:

[Error]** Failed to allocate memory for video frame buffers. The video's resolution may be too high.

if I change numbers back to 720x400 I get the same:

[Error] Failed to allocate memory for video frame buffers. The video's resolution may be too high.

and after I restart vcs process with 720x400 setting it comes again to

Abort was called at 99 line in file:
D:\qb\workspace\21461\source\vpg-compute-neo\runtime\built_ins\built_ins.cpp

before crashing.

Strange thing is that I have managed to get it working, but I don't know how :(

If I load presets after starting vcs and try to record with 720x400 setting I get again:

[Info ] Loaded 5 video preset(s).
[Error] Failed to allocate memory for video frame buffers. The video's resolution may be too high.

Main windows shows that (VCS - O - 720 x 400 (70.000 hz) scaled to 720 x 400 (~100%))

I have ran x264vfw codec config screen and also tried to restore default settings etc there.

Any ideas what I might be doing wrong?

Alias not working

Alias files created in text editor ending in .vcsa result in error, even when using the example in the readme.txt.
Text file contains one line: 848 480 640 480
Message: An error was encountered while loading the alias file. No data was loaded.
Terminal: Expected a 4-parameter row in the alias field.

aliaserror

Binary Missing Qd5Network.dll

I wasn't sure where else to get ahold of the developer.

The binary distribution on your website is missing Qt5Network.dll and errors when loaded.

Fails to compile under fedora 30

[root@localhost vcs-master]# /usr/lib64/qt5/bin/qmake && make
g++ -c -pipe -g -O2 -Wall -pipe -pedantic -std=c++11 -Wno-missing-field-initializers -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DUSE_OPENCV -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -Isrc -Isrc/display/qt/subclasses -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -Igenerated_files -isystem /usr/include/libdrm -Igenerated_files -I/usr/lib64/qt5/mkspecs/linux-g++ -o generated_files/output_window.o src/display/qt/windows/output_window.cpp
In file included from src/display/qt/windows/output_window.cpp:29:
src/display/qt/windows/output_window.h:67:67: error: ‘string’ in namespace ‘std::__cxx11’ does not name a type
67 | void signal_new_mode_settings_source_file(const std::__cxx11::string &filename);
| ^~~~~~
src/display/qt/windows/output_window.cpp: In member function ‘void MainWindow::measure_framerate()’:
src/display/qt/windows/output_window.cpp:493:25: error: ‘round’ was not declared in this scope; did you mean ‘qBound’?
493 | const int fps = round(1000 / (real(elapsed) / numFramesDrawn));
| ^~~~~
| qBound
src/display/qt/windows/output_window.cpp: At global scope:
src/display/qt/windows/output_window.cpp:569:6: error: no declaration matches ‘void MainWindow::signal_new_mode_settings_source_file(const string&)’
569 | void MainWindow::signal_new_mode_settings_source_file(const std::string &filename)
| ^~~~~~~~~~
In file included from src/display/qt/windows/output_window.cpp:29:
src/display/qt/windows/output_window.h:67:10: note: candidate is: ‘void MainWindow::signal_new_mode_settings_source_file(const int&)’
67 | void signal_new_mode_settings_source_file(const std::__cxx11::string &filename);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/display/qt/windows/output_window.h:25:7: note: ‘class MainWindow’ defined here
25 | class MainWindow : public QMainWindow
| ^~~~~~~~~~
src/display/qt/windows/output_window.cpp: In member function ‘void MainWindow::update_window_title()’:
src/display/qt/windows/output_window.cpp:595:26: error: ‘round’ was not declared in this scope; did you mean ‘qBound’?
595 | const int size = round((outRes.h / (real)inRes.h) * 100);
| ^~~~~
| qBound
make: *** [Makefile:949: generated_files/output_window.o] Error 1

Full screen feature

Hi,

I am really appreciated for this tool for the retro PC capturing, great job! Thank you.

Don't you plan to make a dedicated full screen view? I would like to use my E1S and modern monitor (without analog input) as a retro display. Maybe it would be useful to try without frequency convert, the adaptive sync of the modern monitors could handle this.

Best regards,
Arnold

Audio support

Thanks for making this great piece of software. Would you consider adding audio support to the record feature? I can't match the recording quality I get out of vcs in anything else so that's what I use, but I end up duplicate recording with a second piece of software so I can get audio and then match them up. Adding audio would save me a lot of trouble..

Designated initializers cannot be used with a non-aggregate type ‘image_s’

Greetings. After what seems like the most lucky struggle, I got Datapath's drivers working on kernel 6.6.6-1 with only minor tweaks. However the included Vision utility compiled to only instantly bring my system to it's knees to the point where RSEIUB won't respond and the log shows nothing, so I thought I'd give VCS a try.

I'm running into an error very early on in scaler.cpp:

g++ -c -pipe -pedantic -std=c++2a -Wno-missing-field-initializers -march=native -O3 -Wall -Wextra -D_REENTRANT -fPIC -DCAPTURE_BACKEND_VISION_V4L -DVCS_USES_OPENCV -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -Isrc -Isrc/display/qt/widgets -I../../Downloads/datapath/VisionInstall/include -I/usr/include/opencv2 -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -Igenerated_files -Igenerated_files -I/usr/lib64/qt5/mkspecs/linux-g++ -o generated_files/src/scaler/scaler.o src/scaler/scaler.cpp
src/scaler/scaler.cpp: In function ‘void ks_indicate_status(const std::string&)’:
src/scaler/scaler.cpp:354:5: error: designated initializers cannot be used with a non-aggregate type ‘image_s’
  354 |     };
      |     ^
make: *** [Makefile:2417: generated_files/src/scaler/scaler.o] Error 1

I'm running OpenSUSE Tumbleweed with qmake-qt5 ver 3.1 with Qt ver 5.15.11on kernel 6.6.6-1-default with Plasma 5.27.10. gcc version (SUSE Linux) 13.2.1 20231130.

Failed Compiling for Windows

Hi,

I installed all requirements (vision sdk, qt, openvc) and fixed the paths in vcs.pro to suit my setup. The project loads correctly in Qt Creator, but when trying to build it, I get the following errors:

14:43:30: Running steps for project vcs...
14:43:30: Configuration unchanged, skipping qmake step.
14:43:30: Starting: "C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\mingw32-make.exe" -j6
...
In file included from C:\Program Files (x86)\Vision\SDK\RGBEASY\C\INCLUDE/rgb.h:71:0,
                 from ..\vcs\src/capture/capture_api_rgbeasy.h:18,
                 from ..\vcs\src\capture\capture.cpp:11:
C:\Program Files (x86)\Vision\SDK\RGBEASY\C\INCLUDE/dgctypes.h:9:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4005)
 
C:\Program Files (x86)\Vision\SDK\RGBEASY\C\INCLUDE/dgctypes.h:11:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(default : 4005)
 
..\vcs\src\scaler\scaler.cpp: In function 'void s_convert_frame_to_bgra(const captured_frame_s&)':
..\vcs\src\scaler\scaler.cpp:425:30: error: 'CV_BGR5652BGRA' was not declared in this scope
             conversionType = CV_BGR5652BGRA;
                              ^~~~~~~~~~~~~~
..\vcs\src\scaler\scaler.cpp:429:30: error: 'CV_BGR5552BGRA' was not declared in this scope
             conversionType = CV_BGR5552BGRA;
                              ^~~~~~~~~~~~~~
..\vcs\src\scaler\scaler.cpp:438:34: error: 'CV_RGBA2BGRA' was not declared in this scope
                 conversionType = CV_RGBA2BGRA;
                                  ^~~~~~~~~~~~
..\vcs\src\scaler\scaler.cpp:438:34: note: suggested alternative: 'CV_RGB'
                 conversionType = CV_RGBA2BGRA;
                                  ^~~~~~~~~~~~
                                  CV_RGB
..\vcs\src\scaler\scaler.cpp:442:34: error: 'CV_BGR2BGRA' was not declared in this scope
                 conversionType = CV_BGR2BGRA;
                                  ^~~~~~~~~~~
..\vcs\src\scaler\scaler.cpp:446:34: error: 'CV_BGR5652BGRA' was not declared in this scope
                 conversionType = CV_BGR5652BGRA;
                                  ^~~~~~~~~~~~~~
In file included from ..\vcs\src\capture\capture.cpp:11:0:
..\vcs\src/capture/capture_api_rgbeasy.h:46:9: error: 'int capture_api_rgbeasy_s::get_device_max_input_count() const' marked 'override', but does not override
     int get_device_max_input_count(void)  const override;
         ^~~~~~~~~~~~~~~~~~~~~~~~~~
..\vcs\src\capture\capture.cpp: In function 'void kc_initialize_capture()':
..\vcs\src\capture\capture.cpp:30:13: error: invalid new-expression of abstract class type 'capture_api_rgbeasy_s'
         new capture_api_rgbeasy_s;
             ^~~~~~~~~~~~~~~~~~~~~
In file included from ..\vcs\src\capture\capture.cpp:11:0:
..\vcs\src/capture/capture_api_rgbeasy.h:25:8: note:   because the following virtual functions are pure within 'capture_api_rgbeasy_s':
 struct capture_api_rgbeasy_s : public capture_api_s
        ^~~~~~~~~~~~~~~~~~~~~
In file included from ..\vcs\src/capture/capture_api_rgbeasy.h:14:0,
                 from ..\vcs\src\capture\capture.cpp:11:
..\vcs\src/capture/capture_api.h:60:17: note: 	virtual int capture_api_s::get_device_maximum_input_count() const
     virtual int get_device_maximum_input_count(void) const = 0;
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..\vcs\src/capture/capture_api.h:115:20: note: 	virtual double capture_api_s::get_refresh_rate_exact() const
     virtual double get_refresh_rate_exact(void) const = 0;
                    ^~~~~~~~~~~~~~~~~~~~~~
mingw32-make[1]: *** [Makefile.Debug:3986: generated_files/scaler.o] Error 1
mingw32-make[1]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [Makefile.Debug:4344: generated_files/capture.o] Error 1
..\vcs\src\filter\filter.cpp: In function 'void filter_func_delta_histogram(u8*, const resolution_s*, const u8*)':
..\vcs\src\filter\filter.cpp:487:92: error: 'CV_AA' was not declared in this scope
         cv::line(output, cv::Point(x1, y1b), cv::Point(x2, y2b), cv::Scalar(255, 0, 0), 2, CV_AA);
                                                                                            ^~~~~
..\vcs\src\filter\filter.cpp:487:92: note: suggested alternative: 'CV_PI'
         cv::line(output, cv::Point(x1, y1b), cv::Point(x2, y2b), cv::Scalar(255, 0, 0), 2, CV_AA);
                                                                                            ^~~~~
                                                                                            CV_PI
mingw32-make[1]: *** [Makefile.Debug:4317: generated_files/filter.o] Error 1
..\vcs\src\record\record.cpp: In function 'void krecord_record_new_frame()':
..\vcs\src\record\record.cpp:407:40: error: 'CV_BGRA2BGR' was not declared in this scope
     cv::cvtColor(originalFrame, frame, CV_BGRA2BGR);
                                        ^~~~~~~~~~~
mingw32-make[1]: *** [Makefile.Debug:4756: generated_files/record.o] Error 1
mingw32-make[1]: Leaving directory 'X:/temp/build-vcs-Desktop_Qt_5_14_2_MinGW_64_bit-Debug'
mingw32-make: *** [Makefile:45: debug] Error 2
14:43:35: The process "C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project vcs (kit: Desktop Qt 5.14.2 MinGW 64-bit)
When executing step "Make"
14:43:35: Elapsed time: 00:05.

Any idea what is wrong here?

Thank you.

Build error in linux with "include" folder from actual VisionInstall v7.22.0 (22 Mar 2022)

Previous VisionInstall v7.21 - isn't available on datapath site.
And all "Archive Downloads" isn't available too (broken links)
Please add appropriate "include" folder to project.
I tried to use "include" folder from VisionLCInstall v1.0.0 (https://www.datapathsoftware.com/datapath-archive-downloads/vision-capture-card-archive/linux-visionlc-driver-archive/388-visionlcinstall-v1-0-0-2), published on 03 March 2017 - build was successful, but i can't change resolution.

Missing option for deinterlace mode

Hello, I noticed that there's no option for changing interlace mode in video presets.

See pic:

interlace_option_needed

There's a vision window with the settings page open and vcs interpretation of the output.

Lack of Colourspace Options

VCS is great but currently there is no way to change the colourspace. In regular vision you can change between different RGB colour spaces, and also change to a YPbPr colourspace. Without this option it means any component video source isn't displayed correctly. Many people use VCS in conjunction with their Datapath cards for retro game console capture so the feature would be greatly appreciated. Thanks!

"UNKNOWN" Message when capturing 640x480 and resolutions with similar pixel count

When I try capturing a 640x480 analog source, I get this green driver message:
image

If I set certain lower or higher resolutions, the capture starts working, but is either cut off or surrounded by previous memory contents. Capturing a source at such resolutions (tested 1280x1024) also works correctly. When using OBS, this issue is not present, but OBS does not expose any positioning controls and breaks when 24bpp color is selected. The Vision demo application hangs my system and qv4l2 segfaults trying to open the device.

This may be a driver issue. I had to change some lines to make it work with my kernel 6.2.0-39-generic. Any guidance on that front?

I'm using an original VisionRGB E1, looks like this:

20231215_125231_HDR

I tested it in a Windows 8 machine and it worked there.

Input resolution presets

Would it be possible to have an ini file or equivalent so I could change the default resolutions showing on 8 of those 9 buttons? Or what would be even better would be if vcs looked at the resolutions saved in the loaded video presets and showed them as the options.

Requested input channel out of bounds

I'm using the software with both a VisionAV-SDI card and 2 VisionE2S card. In VCS and even an old and outdated OBS classic plugin (source code found here https://github.com/mufunyo/OBS-DatapathPlugin) I am able to access my VisionE2S inputs. In VCS however I can only access the AV inputs. While they appear as an option in the UI the console shows nothing. When forcing the input via -i in command line, I get this as the errors.

VCS 1.6.4
---------+
[Info ] Parsing the command line.
[Info ] Initializing the program.
[Info ] Initializing the scaler.
[Debug] Initializing the memory manager...
[Debug] Assigned 'Nearest' as the upscaling filter.
[Debug] Assigned 'Nearest' as the downscaling filter.
[Info ] Initializing capture.
[Info ] Initializing the capture hardware.
[N.B. ] The requested input channel 4 is out of bounds.
[N.B. ] Failed to initialize capture.
[N.B. ] A call to the RGBEasy API returned with error code (0x1160008).
[N.B. ] A call to the RGBEasy API returned with error code (0x1160008).

A VCS Assertion Error also appears.

Error: The capture hardware failed to report its input resolution.
In file: ..\src\capture\capture.cpp
On line: 1085

Since it works in other programs using RGBEasy API it should also be able to work in VCS properly right? This issue appears on every single release available to download on your main website.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.