Add support for input frame dropping?

NewHome Forums OSSC, OSSC Pro and DExx-vd isl OSSC – Feature Requests Add support for input frame dropping?

Tagged: , , , ,

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #48517
    clb
    Participant

      Hi all,

      OSSC does not support frame rate conversion – that is understandable. Though I wonder if it would be possible to add a cheap version of an input frame drop feature?

      The use case I have is that I’ve got an old Finnish “MikroMikko 4” PC with an integrated VGA display card. That display card generates a nonstandard 87Hz VGA video signal. The standard VGA video refresh rate is 70Hz.

      Only one of my three 60Hz HDMI displays will accept a 70Hz HDMI video signal from OSSC, but none will accept the odd 87Hz signal. 🙁

      You can find more information of the scenario in this thread: https://www.vogons.org/viewtopic.php?f=63&t=82506

      Would it be possible to add an option in the firmware to do a “Drop Frames To: xxHz” option, where one could select e.g. a 60Hz or some other rate output, and what OSSC would do is decimate input frames to produce the given output frame rate?

      This would definitely produce stuttering in panning motion, but at least it would allow the output image to be visible. For many non-gaming purposes (like retro programming, digital drawing or audio music tracker production etc.) this would not matter at all. Even for gaming purposes, this can be ok – after all, that is what the 60Hz HDMI displays will do when they see 70Hz input content(?)

      An alternative UI (for maybe more advanced control) for the same effect might be to have a “Frame skip: x/y” option instead of the “Drop Frames To: xxHz” option, where x/y could be a list of small rationals, like

      1:1 (disabled)
      6:7 (output 86% of frames)
      5:6 (83%)
      4:5 (80%)
      3:4 (75%)
      5:7 (71%)
      2:3 (66%)
      3:5 (60%)
      4:7 (57%)
      1:2 (50%)
      3:7 (43%)
      2:5 (40%)
      1:3 (33%)
      2:7 (29%)
      1:4 (25%)
      1:5 (20%)
      1:6 (17%)
      1:7 (14%)

      A value like 3:5 would mean “output three out of five frames” – though instead of doing it in a sequence like SSS## where S=show, #=drop, the dropped frames would like to be distributed evenly, e.g. in case of 3:5, it’d be SS#S#.

      Although one behavior of old DOS programs is that they tend to change the video mode rapidly (e.g. when switching programs, or different UIs within programs). So maybe a “Max Output Frame Rate: 60hz” style of option might be better, where OSSC would then calculate the appropriate frame rate drop fraction based on the input frame rate and the maximum output frame rate that is allowed by the user.

      This way OSSC would be more compatible with a wider range of HDMI displays that have a typical max refresh rate of 60Hz, or the newer “eye-friendly” marketed HDMI displays that have a 75Hz refresh rate.

      My understanding is that dropping frames from the output would be feasible to implement in firmware, without needing to change any hardware components? Would this feature be possible to implement?

      Thanks for considering!

      #48703
      Zacabeb
      Participant

        In order for that to work, the OSSC would need to keep a full frame buffer in order to decouple the input and output frame rates and always have something to output (dropping input frames would simply mean skipping overwriting the buffer with them). Unfortunately, there’s not enough memory available on the FPGA to do that.

        It might be possible on the OSSC Pro. There it might also be possible to do basic frame blending in the output to reduce say, 75 Hz to 60 Hz, with less judder. It would be nice if that got implemented.

        #48708
        BuckoA51
        Keymaster

          Yes you’re correct, impossible on OSSC, but we will likely see such features on OSSC Pro.

        Viewing 3 posts - 1 through 3 (of 3 total)
        • You must be logged in to reply to this topic.