Skip to content

Video Capture: Split on resolution change and allow recording on 0x0 resolution. - #13245

Draft
sestain wants to merge 1 commit into
PCSX2:masterfrom
sestain:av-dumping
Draft

Video Capture: Split on resolution change and allow recording on 0x0 resolution.#13245
sestain wants to merge 1 commit into
PCSX2:masterfrom
sestain:av-dumping

Conversation

@sestain

@sestain sestain commented Sep 8, 2025

Copy link
Copy Markdown
Contributor

Description of Changes

Add video splitting for every resolution change. Allow recording from frame 0 (if using "Pause on Start") or when resolution is 0x0 / No Image, this will create blank video with 640x480 resolution. Before on blank frames it used last visible frame that was visible but now it's blank.

Rationale behind Changes

Instead of stretching video we can keep the resolution as is and just create a new file for each resolution, and later stretch or do something else with raw footage. Fixes not being able to start video capture when starting emulation. Fixes blanks using last visible frame.

Suggested Testing Steps

Test recording from frame 0, when resolution changes, during 0x0 resolution (should result in a 640x480 video).

Did you use AI to help find, test, or implement this issue or feature?

Yes, asked copilot to explain why blank frame used last visible frame in video capture.


This works but in my opinion code needs refactoring.

@github-actions github-actions Bot added the GS label Sep 8, 2025
Comment thread pcsx2/GS/GSState.cpp
Console.Error("GS: Unknown video mode. Please report: https://github.com/PCSX2/pcsx2/issues");
return 0;
return 60;
//Console.Error("GS: Unknown video mode. Please report: https://github.com/PCSX2/pcsx2/issues");

@Mrlinkwii Mrlinkwii Sep 8, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may i ask why this was removed ? , also why are you defaulting to 60

@sestain sestain Sep 8, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Video capture didn't start if fps was 0 due to assert(fps != 0). Like I said, code works but needs refactoring. Defaulted to 60 because then video capture would be using it. There most likely is better ways to do this.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what happens is you want to record a PAL game ?

@sestain sestain Sep 10, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It records at 50 as it should. Don't see how pal would be affected by this change. Unless on PAL Progressive which isn't supported by PCSX2 afaik and only used accessible by homebrew also.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also I'm wondering why does GetTvRefreshRate() even exist when there's VMManager::GetFrameRate() which calls GetVerticalFrequency() which gives the fps like GetTvRefreshRate would. I'm thinking that GetTvRefreshRate() call should get replaced by GetVerticalFrequency() or VMManager::GetFrameRate() call.

@F0bes

F0bes commented Sep 8, 2025

Copy link
Copy Markdown
Member

This works but in my opinion code needs refactoring.

This should be drafted then.

@F0bes
F0bes marked this pull request as draft September 8, 2025 19:20
@Mrlinkwii Mrlinkwii added this to the Release 2.X milestone Nov 28, 2025
@Mrlinkwii

Copy link
Copy Markdown
Contributor

@sestain whats the status of this ?

@sestain

sestain commented Feb 27, 2026

Copy link
Copy Markdown
Contributor Author

Haven't worked on this since I made this pull request, been busy with other projects and school. I can finish this if it's somewhat urgent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants