VOGONS


Reply 60 of 183, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Don't worry about it unless you want to spend lots of time messing around. Just look for the release when it eventually comes out, and subscribe to whatever notification system GitHub has, since I usually don't particularly announce releases.

The feature currently works like this:

Attachments

Reply 61 of 183, by Kordanor

User metadata
Rank Member
Rank
Member

Render Text is just a placeholder I guess?

And I guess you have to set the output resolution in addition to that though?
My main problem was that I got multiple input formats, and they would need different output formats. From how I understand it, you are still setting a fix output resolution here, which is then first matched with the output resolution in the other setting.
So even if you had 2 different input resolutions, you could set different filters for them, but only one of these filters would ever match, and to have the other one match for the other resolution, you would manually need to readjust the output, or are these more dynamic now?

Last edited by Kordanor on 2022-11-23, 18:31. Edited 1 time in total.

Reply 62 of 183, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

If you have two different input resolutions, you'd set two different input gates, and either route them both to the same output or have different output paths. Or use the wildcard 0 in an input gate to catch a range of input widths/heights. The flow of data is always from input to output, and the filter chain with the most specific matching set of input/output conditions gets used. In the case of the output scaler, only the input gate matters, since the output resolution is dictated by the filter.

The text renderer is a new filter, generally as an internal text renderer for use by other filters, but also if you want to render some basic text yourself. You could also use the overlay for more advanced text display.

Last edited by vvbee on 2022-11-23, 18:35. Edited 1 time in total.

Reply 63 of 183, by Kordanor

User metadata
Rank Member
Rank
Member
vvbee wrote on 2022-11-23, 18:31:

If you have two different input resolutions, you'd set two different input gates, and either route them both to the same output or have different output paths. Or use the wildcard 0 in an input gate to catch a range of input widths/heights. The flow of data is always from input to output, and the filter chain with the most specific set of input/output conditions gets used. In the case of the output scaler, only the input gate matters, since the output resolution is dictated by the filter.

The text renderer is a new filter, generally as an internal text renderer for use by other filters, but also if you want to render some basic text yourself. You could also use the overlay for more advanced text display.

Ah, alright! So this means, it replaces the "Output Resolution" window?

From how I understand it, previously it always did what the Output resolution dicated (filter only applied if input and output matched). Or would you now set the output resolution to the full new window size in this new setup?

Reply 64 of 183, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

The output scaler filter takes control of the output size, scaling options outside the filter graph are disabled when an output scaling filter is active. The output gate matches whatever the current output size is, regardless of how it's achieved.

Reply 66 of 183, by bestemor

User metadata
Rank Oldbie
Rank
Oldbie

Version 2.5.2, there is no exe file ?

As usual, Github confuses me to no end...😳 and I am never sure what to really download.
But in the online manual it says something about an vcs.exe file to 'install'/run this program in Windows ?

Reply 67 of 183, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

No download for 2.5.2, it's such a small update over 2.5.1 and a bit time consuming to create and test those Windows exes. I'll put one up for the next version (2.6) when I get it released, many changes coming in that one.

For VCS, its Releases page on GitHub will have a vcsXXX.zip file under each release that a Windows exe is available for. The zip file's about 15 MB and has everything you need to run that version of VCS.

Reply 71 of 183, by Kordanor

User metadata
Rank Member
Rank
Member

Guess the exe file is down again?
I still have a downloaded version, but maybe it would be great to upload it to a platform where it can stay accessible. Ofc I could just put it on a googledrive or megaupload or anything, but dont want to do that without permission.

Also saw that there is a 2.6.1, seems like thats only necessary if the output should be 16 bit.
2.7.0 is then Linux only, which I won't be able to use.

Didnt have the time (well, actually the machine) to play around with 2.6.0 before (got my PC just running again). But with windows being dropped I am also not sure how valuable feedback would be anyways.

Reply 72 of 183, by Kordanor

User metadata
Rank Member
Rank
Member

Ok, giving some feedback anyways. ^^

-Great that its possible to rename the window now. You can't put in just some custom info there though, can you? Tried a few variables but it didnt work.
-I am not sure if this is a VGA thing or something related to the program. I tried to set a video preset, and it is correctly saved, however, it doesnt seem to apply if it is activated.
So if I set it up that I get a perfect picture, then leave the game. Then restart it, the picture is back to standard with big black border. Once I go back into the settings (where its shows that its green/activated) and then change horizontal from 800 to 801 and back to 800, its a perfect picture again. But it doesnt seem to be automatically applied.I also tested it with a shortcut, but it does not do anything either. However if I screw up the black level, that one is saved. Maybe its an unavoidable weirdness with the VGA Signal? But then I am not sure how I can set up a reliable input preset.
-The new filter graph is great and works with different input gates doing different things. One thing which would have been great is if you could also have an output node of the output scaler.
DOS has this "weirdness" that 320 x 200 is interpreted as 720 x 400. In theory 1280x1000 should be pixel perfect scaling. However even with linear scaling VCS adds artifacts, probably from the "weird" resolution.
I then used VCS to scale 720x400 down to 320x200 and then used OBS to scale it up to 1280x1000 and got a better result. Would have been great if this step could be done within VCS. I attached screenshots which show the difference.
I also tried around with filters to maybe "decimate" the signal or something like that, but couldn't find anything which did the job.
Ofc downscaling and then upscaling does screw up text modes. So maybe there is a better solution? But don't know how.

Attachments

  • ScalingCombiOBS.PNG
    Filename
    ScalingCombiOBS.PNG
    File size
    114.74 KiB
    Views
    896 views
    File license
    Fair use/fair dealing exception
  • Scaling VCS.png
    Filename
    Scaling VCS.png
    File size
    306.85 KiB
    Views
    896 views
    File license
    Fair use/fair dealing exception
  • comparison.png
    Filename
    comparison.png
    File size
    32.35 KiB
    Views
    896 views
    File license
    Fair use/fair dealing exception

Reply 73 of 183, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the feedback.

I'll see about implementing variables for the custom window title. I'd imagine they'd be like the variables for the overlay, so FPS, resolution, etc.?

Video presets not activating sounds like a bug, as long as the actual video mode (resolution and/or refresh rate) is changing without the preset activating. If it's the 640x400 vs 720x400 thing then potentially not much can be done. It's been a long time since I did proper VGA capture, no idea if there's been regressions with the presets, but I'll look into it at some point. I'm only maintaining the Linux version of VCS now though, hopefully someone picks up the Windows support - they use different capture APIs, so if there's a bug then it may only be in one of them.

If there are those kinds of grayscale artifacts with linear scaling then there's a good chance they're in the input signal. If you capture with no scaling and use the middle mouse button to zoom in on a part of the output window then you should see any problems if they're there. Looks kinda like analog ghosting from a less than clean video output. Whether 320x200 is seen as 640x400 or 720x400 shouldn't matter as such.

Reply 74 of 183, by Kordanor

User metadata
Rank Member
Rank
Member

I'll see about implementing variables for the custom window title. I'd imagine they'd be like the variables for the overlay, so FPS, resolution, etc.?
Yep, pretty much that. So that you can have like "Dos Source 740x200" or something like that without "hardcode" the resolution. It's just cosmetical though. With being able to remove the frame drop, I think it already works as it is. Was just wondering / would be "nice to have".

If there are those kinds of grayscale artifacts with linear scaling then there's a good chance they're in the input signal.
These artifacts are everywhere, not just greyscale. It's just what I think was easiest to distinguish. But I attach another example from the "No Diving Sign" which was just upscaled with nearest from 720x400 to 1440x800. I also attached the original capture. There it's not present. If you magnify it in GIMP for example you can see it as well. So to me it looks like nearest neighbour does create new colors even though I know it shouldn't and it everywhere (VCS, OBS, GIMP) and not just VCS.
I am not too familiar with how the stuff is naturally processed, like how a 320x200 is going to be displayed on a monitor. Like whether the graphics card already sends it as 720x400 signal. But my guess is that within the signal you already have this kind of ghosting or interpolation. On a CRT its absolutely impossible to tell, same on a TFT (scaling disabled). But if I keep it 740x200 and then scale it via OBS I get the same ghosting via linear scaling.
I attached photos of my TFT and CRT results.
I got no idea how to get rid of it though. Only downscaling to 320x200 and then upscaling seems to work (with just tiny bit of artifacts left)
For testing I also removed my VGA Splitter, but it doesnt to make a difference.

Attachments

  • OriginalCapture.PNG
    Filename
    OriginalCapture.PNG
    File size
    4.37 KiB
    Views
    878 views
    File license
    Fair use/fair dealing exception
  • NoDiving.PNG
    Filename
    NoDiving.PNG
    File size
    9.39 KiB
    Views
    878 views
    File license
    Fair use/fair dealing exception
  • TFT No Scaling2.jpg
    Filename
    TFT No Scaling2.jpg
    File size
    466.99 KiB
    Views
    878 views
    File license
    Fair use/fair dealing exception
  • CRT 2.jpg
    Filename
    CRT 2.jpg
    File size
    824.13 KiB
    Views
    878 views
    File license
    Fair use/fair dealing exception

Reply 75 of 183, by Kordanor

User metadata
Rank Member
Rank
Member

Also maybe darry got an idea regarding the scaling?

I used his idea after all:

darry wrote on 2022-11-19, 02:16:

Nesrest neighbour downscaling to 320x200 and then upscaling to 1600x1200 solves the aspect ratio isdue while maintining "pixel" perfection.

Reply 77 of 183, by Kordanor

User metadata
Rank Member
Rank
Member
happy wrote on 2023-02-28, 12:10:

I do exactly that but with a 1x decimate filter it reduces a little bit of noise in my case

I'm sad to hear about dropping Windows support, since there are no Linux drivers for my VisionRGB pro

You mean you downscale to 320x200 as well?

I played around with decimate but it doesnt give a better picture. It actually makes it slightly worse (upscaled nearest from 720x400 to 1440x800 nearest, decimate active/inactive at nearest 1).
Also any artifacts via "phase" are amplified. You can also use phase to shift the ghost from left to right, but never get rid of it (in general not just with decimate).

Attachments

  • WithDecimate.png
    Filename
    WithDecimate.png
    File size
    126.59 KiB
    Views
    868 views
    File license
    Fair use/fair dealing exception
  • NoDecimate.png
    Filename
    NoDecimate.png
    File size
    302.92 KiB
    Views
    868 views
    File license
    Fair use/fair dealing exception

Reply 78 of 183, by Kordanor

User metadata
Rank Member
Rank
Member

One other thing I noticed:
You can set a shortkey for activating different resolution inputs.

As I don't see a way to split between a profile for 320x200 and 720x400 I wanted to do that via hotkey. However it seems like the hotkey does not work. The profile with the hotkey (as only condition) never gets activated by pressing the hotkey.
(I deactivated the other profile by adding a bad resolution, so this was also the only choice for the program)
Here is a video demonstration:
https://youtu.be/cKIJMKJw6RM

Reply 79 of 183, by happy

User metadata
Rank Newbie
Rank
Newbie

I should've read more closely what you posted, my bad.

Regardless of your output resolution, have you ever just set the resolution to 640x400 manually? Ignore what VCS auto detects it at. And horizontal size to 800.

My chain is: Input Gate 640x400 (and manually set resolution to that) -> Decimate (2x, Average) (I mistakingly said 1x earlier) -> Output Scaler 320x200, nearest.
From this point on you could do a couple of different things, depending what the goal is.

For streaming I scale that 320x200 window to 1280x1000 in OBS, which is not 4:3 but kinda close. But it's integer scaled. Scaling it up to 1600x1200 is also possible and gives 4:3 ratio. I also know some people then scale that down to a standard size like 1920x1080, this time with a non-integer scaler. I don't know if that makes sense.