Grabulosaure wrote:You like scalers, right ?
Sorgelig wrote:Thanks for updating!
1) Is version on your site OK to use, or you still testing?
2) Border feature is interesting. Should be good for debugging the video as well.
3) 3D should be interesting but i think it's not urgent to implement and can be postponed for future. Especially only couple cores have 3D.
4) So, tearing happens only in integer scaling?
BBond007 wrote:Is the scaler compatible will all video modes the Minimig core can produce?
The reason I ask is because many of the sequences in the new De Profundis demo don't properly display on HDMI or VGA with vga_scaler=1. For example, the very first sequence with the clock/key thing does not display for me.
De Profundis --> http://www.pouet.net/prod.php?which=81081
Grabulosaure wrote:What do you prefer for selecting the border colour? Do we take the convention of having cores output the border colour during blanking?
Grabulosaure wrote:You want to be able to display "overscan" debug information?
Grabulosaure wrote:I have tested that demo, there is a regression in Minimig between version 2019_03_09 and 2019_05_01, with the same scaler. Ask Minimig maintainers...
Grabulosaure wrote:3) Well it is implemented, just some details to fix. I'd rather keep it as a separate variant rather than complexifying ASCAL though.
Sorgelig wrote:Grabulosaure wrote:3) Well it is implemented, just some details to fix. I'd rather keep it as a separate variant rather than complexifying ASCAL though.
Not urgent anyway. May be at some stage you will decide to integrate it.
I have no TV to display 3D I have PS4 VR - not sure if it can be re-used as it uses HDMI as well.
Grabulosaure wrote:I can finish this week if no new feature is added.
zomgugoff wrote:The PSVR can be used as a normal HDMI display. Early on, people tried this as a cheaper alternative to the Oculus and Vive. There was work being done on software to use webcams for head tracking and reading the gyro/accelerometer. For this type of stationary 2d application, that software would be unnecessary. I'm not if it supports any other resolutions than 1920x1080, though.
Sorgelig wrote:head tracking is not required. What required is ability to output 3D to it. So it should accept some 3D format like side-by-side or frame alternating.
Grabulosaure wrote:What else? Any idea?[/b]
Some have suggested adding "hybrid scanlines", AFAIU it means reducing scanline constrast in high intensity areas, but I'm not sure what could be the correct way to implement that.
kitrinx wrote:Hybrid scanline/shadow mask/LCD color blending support, which Soltan can explain better than me. He has an idea what's needed.
Code: Select all
Hybrid Scanline Method 1:
(step1) Double all of the polyphase filter hardware in the scaler.
(step2) Each scaler gets different coefficients. Like Thick Scanline + Thin scanlines. You would just select both in the OSD.
(step3) After interpolation you would lerp between the two output pixels base on pixel brighness. This could be a simple 8 or 16 entry lut and use bit shifting for mixing if that would save resources.
Code: Select all
Hybrid Scanline Method 2:
(step1) Load two sets of coefficients like above. But we don't double the pixel pipeline.
(step2) When you get the row of coefficients based on phase you load two coeff sets: C0,C1,C2,C3 from the first coefficient set and the corresponding D0, D1, D2, D3 from the second set of coefficients
(step3) You lerp between the coefficients based on pixel brightness. So if brightness is B then
E0 = (1-B)*C0 +B*D0
E1 = (1-B)*C1 +B*D1
E2 = (1-B)*C2 +B*D2
E3 = (1-B)*C3 +B*D3
As above, if the lerp is too much you can use a small lut. Even 4 or 8 entries would be good enough!
(step4) Use those coefficients for the polyphase filter.
Code: Select all
Hybrid Scanline Method 3:
(step1) Add nothing to the scaler until the very end of the pipeline.
(step2) Lerp between the polyphase filter output pixel and either the bicubic/bilinear/sharp bilinear output pixel base on pixel brightness.
In this case it may be good to clamp the brightness at lower than 1.0 to keep the scanlines from fading out completely.
jemismyname wrote:can you implement supereagle scalar with scanlines? because that would make me happy. that's what i use on mednafen and it makes everything look just perfect to me. I wish i understood enough to implement it myself.
kitrinx wrote:- Cropping so people can use 5x integer scaling.
- Freely adjustable aspect ratio and canvas size. (this is more of a menu thing, I think it's already possible?)
ghogan42 wrote:[...] "hybrid scanlines" [...]
Grabulosaure wrote:See Genesis demo build
Grabulosaure wrote:To use the scaler as a framebuffer :
Sorgelig wrote:Does this clock must match the selected size of framebuffer or any clock is fine?
Sorgelig wrote:Grabulosaure wrote:See Genesis demo build
can you upload modified parts source to see how it's coded?
Sorgelig wrote:can you add ability to supply the frame buffer address in this mode? When new address is supplied then it will be active from the next frame. In this case HPS can manage the buffer and implement its own dual and triple buffer if needed. It also will allow to keep the HPS frame buffer separate from core's buffer.
Also for speed wise scaler needs to implement either 16bit or 32bit mode. 24bit writing in HPS is too slow. Probably 16bit color (X1:B5:G5:R5) will be enough - and won't require big buffer.
Grabulosaure wrote:Do you think that the ability of disabling pixels update is of any use? (for example to display the OSD menu, but it's tied to the input resolution)