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

IIDX 31: 120fps recording output and subscreen timer freeze #373

Merged
merged 1 commit into from
Oct 29, 2024

Conversation

drmext
Copy link
Contributor

@drmext drmext commented Oct 29, 2024

Maybe someone can figure out how to increase recording bitrate too

@Radioo
Copy link

Radioo commented Oct 29, 2024

Looked at the docs real quick and it should be just a matter of setting correct values in the initialization struct. The question is if its possible to do with a patch.
https://docs.nvidia.com/video-technologies/video-codec-sdk/11.1/nvenc-video-encoder-api-prog-guide/index.html
image

Also this is the example code they're using in the actual game for reference:
https://github.com/NVIDIA/video-sdk-samples/blob/master/Samples/NvCodec/NvEncoder/NvEncoder.cpp

@aixxe
Copy link
Contributor

aixxe commented Oct 29, 2024

Nice patch! Here's something to control the values set here. Lower values seem to result in better quality video.

image

// 2024-08-26 (LDJ-010)
{
    type: "number",
    name: "Set Video Recording QP InterP",
    tooltip: "Lower values increase quality at the cost of file size",
    offset: 0x54F9EA,
    size: 4,
    min: 0,
    max: 99,
},
{
    type: "number",
    name: "Set Video Recording QP InterB",
    tooltip: "Lower values increase quality at the cost of file size",
    offset: 0x54F9F2,
    size: 4,
    min: 0,
    max: 99,
},
{
    type: "number",
    name: "Set Video Recording QP Intra",
    tooltip: "Lower values increase quality at the cost of file size",
    offset: 0x54FA08,
    size: 4,
    min: 0,
    max: 99,
},

@mon
Copy link
Owner

mon commented Oct 29, 2024

I'd like to see the video quality patches in another PR, but maybe experiment a bit and find some good sets of values? Otherwise I expect idiots are just gonna set everything to 0 and be shocked that they're producing multi-gig files.

@mon mon merged commit 9b9a5a5 into mon:master Oct 29, 2024
1 check passed
@drmext
Copy link
Contributor Author

drmext commented Oct 29, 2024

@aixxe Pls see if you can also increase the 160kbps audio bitrate 😅

@drmext drmext deleted the upstream branch October 29, 2024 23:00
@aixxe
Copy link
Contributor

aixxe commented Oct 30, 2024

@aixxe Pls see if you can also increase the 160kbps audio bitrate 😅

bm2dx.dll+A027EF - 48 C7 44 24 40 A0000000 - mov qword ptr [rsp+40],000000A0 { 160 }

Only briefly tested, but swapping A0 00 to 40 01 seems to work for 320kbps.

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 17 s 205 ms
Bit rate mode                            : Variable
Bit rate                                 : 320 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Frame rate                               : 43.066 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 672 KiB (18%)
Encoded date                             : 2024-10-30 21:59:12 UTC
Tagged date                              : 2024-10-30 21:59:12 UTC

Some values seem to freeze or crash the game though, e.g. at 500 it just gets stuck and uses 100% CPU

image

@drmext
Copy link
Contributor Author

drmext commented Oct 30, 2024

Damn, I actually tried this previously and the crash happens with any values other than 160 for me

(using ASIO4ALL lol)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants