[Bug]: AMF_VIDEO_ENCODER_RECONSTRUCTED_PICTURE returns AMF_NOT_FOUND on RX 7900 XTX Ubuntu 22.04
Describe the bug
data->GetProperty(AMF_VIDEO_ENCODER_RECONSTRUCTED_PICTURE, &recon) always returns AMF_NOT_FOUND.
I initially found this issue in my own code, but discovered this can also be observed by building and running the SimpleFrameInjection sample project and checking the return value using a debugger. The docs suggest that this should be supported on the RX 7900 XTX.
"This feature is supported by Radeon RX 5000 Series or newer GPUs"
To Reproduce
cd AMF/amf
VK_SDK_PATH=~/vulkan/1.3.239.0 make -C public/samples
./bin/dbg_64/SimpleFrameInjection
Setup (please complete the following information): OS: Ubuntu Linux 22.04 LTS (5.19.0-45-generic) GPU: RX 7900 XTX Driver Version:
amdgpu 1:5.4.50406-1580598.22.04 amd64 Meta package to install amdgpu components.
libamdenc-amdgpu-pro:amd64 1.0-1580631.22.04 amd64 AMD Encode Core Library
amf-amdgpu-pro:amd64 1.4.29-1580631.22.04 amd64 AMDGPU Pro Advanced Multimedia Framework
AMF Source: 1.4.29 origin/master (bd5db31)
Which component has the issue: Encoder
Debug Log (please upload or paste):
$ ./bin/dbg_64/SimpleFrameInjection
0123-06-04 11:57:55 D2691740 [AMFVideoCore] Warning: AMFVideoCore::Init() Versions Differ, hostVersion=20003 videoCoreVersion=20002
0123-06-04 11:57:55 D2691740 [AMFVideoCore] Warning: AMFVideoCore::Init() Versions Differ, hostVersion=20003 videoCoreVersion=20002
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreH264] Warning: Failed to create video core service!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreH264] Warning: Failed to create video core service!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreBaseImpl] Warning: Failed to QueryThroughput()!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreBaseImpl] Warning: Failed to QueryThroughput()!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreH264] Warning: Failed to create video core service!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreH264] Warning: Failed to create video core service!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreBaseImpl] Warning: Failed to QueryThroughput()!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreBaseImpl] Warning: Failed to QueryThroughput()!
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreH264] Error: ../../../../../runtime/src/components/EncoderCore/EncoderCoreH264Impl.cpp(4123):Assertion failed:GetBandwidthConfig: m_hVideoCoreService null
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreH264] Error: ../../../../../runtime/src/components/EncoderCore/EncoderCoreH264Impl.cpp(4123):Assertion failed:GetBandwidthConfig: m_hVideoCoreService null
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreBaseImpl] Warning: RequireThroughput() - Failed to require throughput.
0123-06-04 11:57:55 D2691740 [AMFEncoderCoreBaseImpl] Warning: RequireThroughput() - Failed to require throughput.
Expected behavior
GetProperty returns AMF_OK and the reconstructed picture is available for use.
Additional context Other sample projects function correctly including SimpleEncoder and SimpleDecoder.
Thank you for catching this. The current public driver does not have support for this feature in Vulkan. The support will be available in the next public driver release.
Please stay tuned 😃
Thanks for the update @rhutsAMD, that's great! Is there a similar limitation with support for B-frames using Vulkan? I've noticed that I haven't been able to generate any so far. Happy to put more details in another issue if it helps.
B-frame support for Vulkan should already be present in the latest public driver.
Could you please provide the following information on how you are trying to generate B-frames?
- Full command line args used
- Any modifications to the sample code
- Debug log
- Driver version
Sorry for the slow response, I've been quite busy. I'll try and get these bits together soon
Thanks for your patience. To avoid mixing things up, I've opened https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/403 with the information requested above
Closing as the issue has been resolved in #403.