Closed Masa-tam closed 6 months ago
PA is supported starting on Radeon RX 5000 Series or newer GPUs as well as Ryzen 2000 U/H series or newer APUs as stated in the PreAnalysis API doc. Setting AMF_VIDEO_ENCODER_HEVC_PRE_ANALYSIS_ENABLE
on the RX Vega correctly returns AMF_INVALID_ARG
in agreement with the support described in the PA API doc while it is possible that the cap misreports PA support for the legacy RX Vega.
Closing as PA is not supported on the RX Vega, and the legacy GPU is no longer actively supported.
Describe the bug When
AMF_VIDEO_ENCODER_HEVC_CAP_PRE_ANALYSIS
is queried fromAMFVideoEncoder_HEVC
component to the GetCaps object, TRUE is returned.AMF_VIDEO_ENCODER_HEVC_PRE_ANALYSIS_ENABLE
operation on theAMFVideoEncoder_HEVC
component returnsAMF_INVALID_ARG
.To Reproduce Steps to reproduce the behavior:
diff --git a/amf/public/samples/CPPSamples/SimpleEncoder/SimpleEncoder.cpp b/amf/public/samples/CPPSamples/SimpleEncoder/SimpleEncoder.cpp index 3cbda9f..25bc814 100644 --- a/amf/public/samples/CPPSamples/SimpleEncoder/SimpleEncoder.cpp +++ b/amf/public/samples/CPPSamples/SimpleEncoder/SimpleEncoder.cpp @@ -65,7 +65,7 @@ static const amf::AMF_SURFACE_FORMAT efcSurfaceFormat[] = { amf::AMF_SURFACE_R10G10B10A2, amf::AMF_SURFACE_RGBA_F16 };
-static const int codecIndex = 0; // set to 0 for AVC, 1 for HEVC, 2 for AV1 +static const int codecIndex = 1; // set to 0 for AVC, 1 for HEVC, 2 for AV1 static_assert(!bEnable10bit || codecIndex != 0, "HEVC or AV1 required for 10 bit"); static const wchar_t pCodecNames[] = { AMFVideoEncoderVCE_AVC, AMFVideoEncoder_HEVC, AMFVideoEncoder_AV1 }; static const wchar_t fileNames[] = { L"./output.h264", L"./output.h265", L"./output.av1" }; diff --git a/amf/public/samples/CPPSamples/common/MiscHelpers.cpp b/amf/public/samples/CPPSamples/common/MiscHelpers.cpp index cfc923e..af4cce5 100644 --- a/amf/public/samples/CPPSamples/common/MiscHelpers.cpp +++ b/amf/public/samples/CPPSamples/common/MiscHelpers.cpp @@ -178,6 +178,8 @@ AMF_RESULT SetEncoderDefaultsHEVC(amf::AMFComponent* pEncoder, amf_int64 bitRate res = pEncoder->SetProperty(AMF_VIDEO_ENCODER_HEVC_LOWLATENCY_MODE, true); AMF_RETURN_IF_FAILED(res, L"SetProperty(AMF_VIDEO_ENCODER_HEVC_LOWLATENCY_MODE, true) failed"); }
AMF_RETURN_IF_FAILED(res, L"SetProperty(AMF_VIDEO_ENCODER_HEVC_PRE_ANALYSIS_ENABLE, true) failed");
return AMF_OK; }
Setup (please complete the following information):
Debug Log (please upload or paste):
Expected behavior Capability returns the correct result. Probably unsupported.