[Bug]: Caps: MAX_THROUGHPUT always returns 0
Describe the bug
AMF_VIDEO_ENCODER_CAP_MAX_THROUGHPUT exclusively returns 0 on AMD r5 4500u. Tested on several drivers, including latest.
To Reproduce Steps to reproduce the behavior:
- Query Caps thru AMF_VIDEO_ENCODER_CAP_MAX_THROUGHPUT I did this by adding the following to the "CapabilityManger.cpp" sample, on line 260:
amf_uint32 maxThruput = 0;
encoderCaps->GetProperty(AMF_VIDEO_ENCODER_CAP_MAX_THROUGHPUT, &maxThruput);
std::wcout << L"\t\tmaxThruput:" << maxThruput << L"\n\n";
- Compile and run the executable.
- Observe how its always "0"
Also tested this via the latest OBS studio git using breakpoints. https://github.com/obsproject/obs-studio/commit/e3f416f3fc72db49d1ba71b8423454d053a9d6bf
Setup (please complete the following information):
- OS: Windows 11
- Driver Version: 22.6.1 and 22.5.1
- GPU: R5 4500u APU
- Which component has the issue: Encoder, but I guess technically driver / Caps.
Debug Log (please upload or paste):
Querying video encoder capabilities...
Codec AMFVideoEncoderVCE_AVC
Number HW instances:1
Acceleration Type:Hardware-accelerated
maximum profile:100
maximum level:52
Number of temporal Layers:4
IsBPictureSupported:0
maxThruput:0
Expected behavior I expect the Max throughput in MB to be returned.
Additional context It seems this will return a value on higher end/modern GPUs, like the 6900 XT.
Unsure what would be the expected fix. Maybe some way to designate that the GPU does not support this query (if possible return -1 or similar).
It would be very nice to know which GPUs support this cap query. Is it just missing from APUs, or is this something we can only expect on RDNA1 and newer for instance?
Existing issue on OBS repo: https://github.com/obsproject/obs-studio/issues/6793