Giter Site home page Giter Site logo

Comments (4)

ekeeke avatar ekeeke commented on June 10, 2024

Crop Overscan is an option from the frontend, core does not know anything about it: cores render a video buffer and send it to the frontend with buffer height/width informations. This is done correctly in Genesis Plus GX.

Anyway, what is this option supposed to do ? What are you expecting and what do you get instead ?

from genesis-plus-gx.

Patrickdroid avatar Patrickdroid commented on June 10, 2024

Okay, I understand. Let me describe the issue rather than what I think is causing it.

Crop overscan is supposed to remove the top and bottom 8 (I think) rows of pixels. Since Genesis output frame is 320x240, I have my render resolution set to 1280x960. At this resolution the frame should be scaled perfectly by 4x, so that it fills the vertical area with no black space showing. Genesis Plus GX always displays the black space. I assumed it was related to cropping behavior because that's what the image should look like when crop overscan is enabled. Not sure who to report the issue to since a libretro.com admin said it was a core problem.

from genesis-plus-gx.

Patrickdroid avatar Patrickdroid commented on June 10, 2024

I thought maybe this was related to the resolution I'm using, so I just tested 960x720 and the problem is still there.

Upon closer examination, it looks like none of the image is actually being cropped off. Instead, the window is being drawn the same size as if crop overscan was enabled. In other words, the image is being compressed vertically, revealing the letterboxing that normally shows when crop overscan is enabled.

from genesis-plus-gx.

ekeeke avatar ekeeke commented on June 10, 2024

Crop overscan is supposed to remove the top and bottom 8 (I think) rows of pixels.

That's not something the core does (that option is not even reported to the core and the output frame is left untouched by it), that's something the frontend (retroarch) does so if it does not work as expected, it means this is an issue to deal with the frontend, not the core.

Since Genesis output frame is 320x240, I have my render resolution set to 1280x960. At this resolution the frame should be scaled perfectly by 4x, so that it fills the vertical area with no black space showing.

That's a wrong assumption. Genesis output frame is 320x224 so if you upscale it to 1280x960 while keeping integer scaling in retroarch then you will indeed have empty space (i.e black borders) on top/bottom.

You can actually have the core output a 320x240 frame if you enable top/bottom borders in core settings. This will still give you colored borders (generally black but not always) though so upscaling that to 1280x960 in retroarch will give same result. Not sure what crop overscan will do to these extra lines.

I assumed it was related to cropping behavior because that's what the image should look like when crop overscan is enabled.

Upon closer examination, it looks like none of the image is actually being cropped off. Instead, the window is being drawn the same size as if crop overscan was enabled. In other words, the image is being compressed vertically, revealing the letterboxing that normally shows when crop overscan is enabled.

If the image is intact (i.e there is no missing lines) but you only have additional black lines on top/bottom then it's not cropping anything, it's just upscaling in retroarch that maintain an integer ratio vertically. Try picking different upscaling options in retroarch. If you say setting crop overscan to off or on does not change anything, it probably means that setting is overridden by another video setting that keeps the aspect ratio letter boxed. But again, this is something related to retroarch settings and assistance on that should come from retroarch people, not from me.

since a libretro.com admin said it was a core problem.

That makes absolutely no sense. The core has absolutely no idea about output resolutions, aspect ratio, cropping, upscaling, etc... this is the role of the frontend to handle all these stuff so if something is not displayed properly at some specific resolution then it's an issue with the frontend (or the way you configured it), not the core.

Anyway, there is nothing I can do about your issue so I'm closing it.

from genesis-plus-gx.

Related Issues (20)

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.