Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate -qtRecord functionality and codec defaults #85

Open
pceDev16 opened this issue Jun 6, 2022 · 4 comments
Open

Investigate -qtRecord functionality and codec defaults #85

pceDev16 opened this issue Jun 6, 2022 · 4 comments
Labels
enhancement New feature or request Recording Items related to the Mednafen QT Record functionality. video Video related

Comments

@pceDev16
Copy link
Collaborator

pceDev16 commented Jun 6, 2022

Currently the -qtrecord functionality has some areas for potential improvement.

The following items could allow for easier use of the resulting Quicktime media:

  • Switch -qtrecord to use the png codec as a default, allowing for direct support in 99% of NLE's without having to do any transcoding

  • Allow for user defined resolutions or 1:1 support. Currently the resolution is defined as follows, per the original authors intent:

"Conceptually, the video recording is done via the "ideal" video output from the emulation module, before any driver/frontend-side filters or scaling are applied.

The width is the least common multiple of the different possible horizontal resolutions on the emulated system, taking up the same physical space. For PCE, they are (nominally) 256, 341.33333..., and 512.

256 * 4 = 1024
341.33333.... * 3 = 1024
512 * 2 = 1024

The same idea is in place for PSX, though I admit 2720 is a bit...obscene. Wink

The height is treated similarly. PSX can be progressive/noninterlaced(Xx240), or interlaced(Xx480), so the least common multiple of the two is used, which
is 480.

It's done this way so as to not unnecessarily degrade video data(that and I'm not sure how to do a multiple-resolution video stream in QuickTime, and if it is possible, many video editing tools might not even accept it...).

The qtrecord.h_double_threshold and qtrecord.w_double_threshold settings control the dimensions below which the width and/or height are doubled; this doubling is why PCE is 1024x464 instead of 1024x232. It's more of a convenience feature, so that if you use an external video encoder to encode to a different format without fancy rescaling, the result won't be a blurry mess on playback. Beyond these settings, it's not possible to control the resolution of the outputted video recording via settings."

@pceDev16 pceDev16 added enhancement New feature or request video Video related labels Jun 6, 2022
@pceDev16
Copy link
Collaborator Author

Broken out into #87 and #88

@pceDev16
Copy link
Collaborator Author

#88 has #90 submitted to close it out.

@pceDev16 pceDev16 added the Recording Items related to the Mednafen QT Record functionality. label Jun 25, 2022
@pceDev16
Copy link
Collaborator Author

#90 has been merged, one down!

@dshadoff
Copy link
Member

While you're at it, you might want to review changes to official Mednafen 1.32.1 (or 1.32.0 UNSTABLE), where the changelog contains:

October 21, 2023:
Align QTRecord CSCD video codec line data to 4-byte boundaries, as is correct, to fix broken recorded video in some
circumstances.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Recording Items related to the Mednafen QT Record functionality. video Video related
Projects
None yet
Development

No branches or pull requests

2 participants