Menu

1920 lines horizontal sampling/output for all inputs + aspect ratio controls

Home Forums OSSC OSSC – Feature Requests 1920 lines horizontal sampling/output for all inputs + aspect ratio controls

This topic contains 23 replies, has 5 voices, and was last updated by  tcdev 3 months, 1 week ago.

Viewing 15 posts - 1 through 15 (of 24 total)
  • Author
    Posts
  • #14493

    Thomago
    Participant

    Implementing an option to fix the horizontal output resolution to 1920 pixels while keeping the vertical output resolution flexible (“1920x[whatever]”) would be very beneficial. Why?

    1. The OSSC is able to sample/output full 1920 horizontal lines. Right now, only 240p/288p signals can make use of that (via Line5x mode). Other signals, e.g. 384p, 400p, 480i/p and 576i/p can’t; they are limited to 1440 horizontal lines sampling/output at best (forcing higher output resolutions via the Sampling settings is possible, but is a) a pain in the ass and b) doesn’t seem to yield the same results actual high res sampling would).
    The proposed 1920x[whatever] sampling/output option would enable the best picture quality the OSSC is able to produce for any type of signal.

    2. Most monitors and – I assume – many TVs aren’t able to display the OSSC’s 1440x[whatever] output signals in 4:3 (actually, many monitors can’t even display 720×480 and 720×576 in 4:3). However, displaying 1920x[whatever] in 16:9 by stretching it to full screen is something any monitor I’ve seen so far was able to accomplish.
    This could be exploited for a highy flexible aspect ratio control function:
    16:9 signal? Show the full 1920 pixels!
    4:3 signal? Show only 1440 pixels, mapped into the 1920 pixel frame!
    5:4 signal? 1350 pixels it is!
    16:10 signal? You know the drill!
    Console games with 1:1 pixel aspect ratio, but 720x[whatever] instead of 640x[whatever] output? 1620 it is (I guess)!
    And so long…! For utmost flexibilty, one could just implement a variable “inner” resolution.

    #14500

    marqs
    Participant

    1. It is now possible in all modes with upsample2x, but not as straightforward as you noted. If you want exactly 1920 pixel active horizontal area, you should set samplerate to around 2046 and H.active to 1920 (or half of those if mode uses upsample2x). Since typically 75% of an analog scanline contains picture, your effective picture width would then be 0.75*2046 = 1534, which comes close to ideal 4:3 aspect when strected to full 16:9 screen. However, the picture will not be centered with those settings (and you have little room for backporch and synclen adjustments), so the centering logic from L5 modes would need to be adapted for other modes as well. As for manual adjustments not yielding same results as high res sampling would, I’m not sure what you mean. With upsample2x horizontal values are just duplicated internally in respective modes so there should be no difference. I cannot either fully agree on supersampling producing best results in all cases, but naturally it’s good to have that option available.

    2. I’m afraid such flexibility is not really feasible with OSSC HW. An output with active width of 1920 requires a fixed sampling rate, so you’d always get that ~1534 pixels of picture from the digitizer. That could be naturally scaled to whatever portion of the said 1920-wide frame depending on source aspect, but I’m a bit doubtful whether a linear (or NN) scaling as a postprocessing step would look very good.

    #14501

    paulb_nl
    Participant

    Couldn’t the way the OSSC outputs 960 pixels in a 1280 frame with lineX3 generic 4:3 mode be used to at least be able to output 1440 pixels in a 1920 frame with 480pX2 for example? I would like to see that feature for all 4:3 resolutions.

    #14503

    Thomago
    Participant

    marqs: Since typically 75% of an analog scanline contains picture, your effective picture width would then be 0.75*2046 = 1534, which comes close to ideal 4:3 aspect when strected to full 16:9 screen. However, the picture will not be centered with those settings

    Just tried that with a 576i signal; I don’t even get a picture that way.

    marqs: As for manual adjustments not yielding same results as high res sampling would, I’m not sure what you mean. With upsample2x horizontal values are just duplicated internally in respective modes so there should be no difference.

    I managed to produce 1920 horizontal pixel output using both the OSSC’s 480p passthrough (Line2x wouldn’t work) and 576i Line4x + upsampling 2x modes as a basis.
    In both cases, the resulting picture was relatively soft (even after extensively tinkering with Video LPF and the Sampling phase); the 480p picture in particular wasn’t looking any better than the original 720×480 output, and that using a game that has a rendering resolution of 512 pixels! See here: [Older post]
    At the same time, 1920 pixel output generated via 240p Line5x looks nearly pixel perfect.
    So… my manual adjustments didn’t yield the same result as “actual” high res sampling.

    paulb_nl: Couldn’t the way the OSSC outputs 960 pixels in a 1280 frame with lineX3 generic 4:3 mode be used to at least be able to output 1440 pixels in a 1920 frame with 480pX2 for example? I would like to see that feature for all 4:3 resolutions.

    That’s exactly what I was getting at. No postprocessing/scaling step, just mapping some lower resolution to the middle of a 1920 pixel frame.

    #14504

    paulb_nl
    Participant

    In both cases, the resulting picture was relatively soft

    I don’t think you can get a very sharp picture from the 480p era consoles because they resample the output to 720 pixels and the Wii 480p is just ridiculously blurred by Nintendo. The only exception is the Dreamcast which outputs 1:1 640 pixels in a 720 frame with black borders.

    That’s exactly what I was getting at. No postprocessing/scaling step, just mapping some lower resolution to the middle of a 1920 pixel frame.

    In lineX3 4:3 mode the input sampling rate is also fixed to the output so if you change H.active to 768 you will get 1024×720 output resolution. It will always be output = (input pixels X 4/3).

    #14506

    Thomago
    Participant

    I don’t think you can get a very sharp picture from the 480p era consoles because they resample the output to 720 pixels and the Wii 480p is just ridiculously blurred by Nintendo. The only exception is the Dreamcast which outputs 1:1 640 pixels in a 720 frame with black borders.

    I was using a PS2 there. That console doesn’t use any such resampling and is even able to produce a decently crisp 1080p picture (via GSM).

    In lineX3 4:3 mode the input sampling rate is also fixed to the output so if you change H.active to 768 you will get 1024×720 output resolution. It will always be output = (input pixels X 4/3).

    I don’t know what you are getting at?

    #14510

    paulb_nl
    Participant

    If it truly outputs 512 pixels then you should be able to get the sharpest output by using 480pX2 with upsample2x turned off and H.active at 512 and H.samplerate somewhere around 682. Since that is sampling at pixel perfect mode you have to find the best sampling rate and phase. The SNES also looks better at 512 pixels than at 720 pixels in lineX2 mode.

    Here is some talk about black borders with 512×448 games in 480p mode and that God of War 2 changes to 639×448 in 480p mode so that makes it seem like its probably outputting 640 pixels. http://psx-scene.com/forums/f291/gs-mode-selector-development-feedback-61808-print/index208.html

    #14514

    Thomago
    Participant

    Just took a look again at God of War 2; with the added clearness of the upsample2x option, it looks *suspciously* unsharp. The game might really use resampling, which makes my comparison useless.

    Final Fantasy XII is actually sporting a horizontal resolution of 512 pixels, so I tried – just for the fun of it – to enable 512×576 output (I have the PAL version). Didn’t work at all; as soon as I go below H.active = 640, the picture drops and my display shows an “Out of Range” message. Same thing in Line4x mode with or without upsample2x enabled.
    Any thoughts on that?

    So yeah, manual adjustments might actually yield the same results as preimplemented high res sampling. So point 1.b) from the opening post is invalid; point 1.a) (“it’s a pain in the ass”) still stands. As does the whole aspect ratio control point.

    #14517

    paulb_nl
    Participant

    You’ll have to decrease H.samplerate and H.active and then adjust H.synclen and H.backporch until you get a picture again.

    #14518

    Thomago
    Participant

    Did that, but no once the picture dropped, no adjustment to H.synclen and H.backporch (I tried various combinations, as in low/low, low/high, high/low and high/high, as well as intermediate values) could get it back again.

    Any chance you might try that yourself and tell me values that work out for your display device?

    #14521

    paulb_nl
    Participant

    I don’t have a PS2 but I tried it with a Gamecube just now and my monitor displayed the 512×480 image just fine with only changing H.active and H.samplerate. Maybe your monitor doesn’t support that low resolution.

    Did you try to set 480p in sampler to VESA 640×480 with God of War 480p? That together with 480pX2 upsampler2x: off could give a sharper image if the game is outputting 640 pixels.

    #14523

    marqs
    Participant

    Do you know whether 512-column PS2 games use different dot clock than usual 480i games (858 dots per line), or whether PS2 internally scales framebuffer width to usual 640/720 output? At least PS1 has suitable timings for 512px modes, so it’d be a bit strange if PS2 games could not use that.

    @paulb_nl: the trick of dual clocks in Line3x 4:3 mode is a bit hacky, and while something similar could be done for Line2x (e.g. output = 5/2 * input), it wouldn’t be very flexible.

    @thomago: Now that I checked, 240p/288p/384p/480i/576i processing in Line2x uses 2x sampling internally (to minimize jitter and to generate a frequency within PLL lock range), which does not really work if samplerate is increased significantly (e.g. from 858 to 2046). I could add a check which causes fall back to 1x sampling if e.g. sampling rate is more than doubled.

    #14526

    Thomago
    Participant

    paul_nl: I don’t have a PS2 but I tried it with a Gamecube just now and my monitor displayed the 512×480 image just fine with only changing H.active and H.samplerate. Maybe your monitor doesn’t support that low resolution.

    I guess so.

    Did you try to set 480p in sampler to VESA 640×480 with God of War 480p? That together with 480pX2 upsampler2x: off could give a sharper image if the game is outputting 640 pixels.

    I will try that tomorrow.

    marqs: Do you know whether 512-column PS2 games use different dot clock than usual 480i games (858 dots per line), or whether PS2 internally scales framebuffer width to usual 640/720 output?

    Back in the days I used a TV card to play console games on my PC monitor; that also allowed me to take videos and screenshots in whatever horizontal resolution I wanted. With Final Fantasy XII, using 512 horizontal pixels gave me pixel perfect captures. If the PS2 did internal upscaling, I guess that wouldn’t have been the case.
    Also, in contrast to God of War 2, Final Fantasy XII is very crisp in Line4x + upsample2x mode, which again speaks against general upscaling.

    #14539

    Thomago
    Participant

    paul_nl: Did you try to set 480p in sampler to VESA 640×480 with God of War 480p? That together with 480pX2 upsampler2x: off could give a sharper image if the game is outputting 640 pixels.

    Na, VESA mode doesn’t help.
    You know – he forum discussion you referred to is from an emulator forum, and as far as I know, emulators generally only pay heed to the “inner frame” without the overscan borders left and right, which would leave… 640 pixels. Goes nicely with the observation that the game looks best with full 720 pixel sampling (it’s unsharp than, but at least pixel sizes are consistent).

    #14599

    paulb_nl
    Participant

    @marqs When you say it would not be very flexible, how unflexible would it be?

Viewing 15 posts - 1 through 15 (of 24 total)

You must be logged in to reply to this topic.