GPUOpen-LibrariesAndSDKs / AMF

The Advanced Media Framework (AMF) SDK provides developers with optimal access to AMD devices for multimedia processing
Other
596 stars 148 forks source link

Question Re: Setting encoder properties after usage #301

Open idhland opened 2 years ago

idhland commented 2 years ago

Hello! Are we supposed to be able to set encoder properties after setting "Usage" ( and before Init ). Different OS SKUs for Windows are giving my team different results. I was curious about any insight that could be provided. Thanks!

rhutsAMD commented 2 years ago

Hi! Yes, the different "Usages" are meant to provide a set of default values, after which you may further modify and set properties based on different categories.

Static Properties:

Dynamic Properties:

Per-Submission Properties:

idhland commented 2 years ago

Hey Roman, thanks for getting back to me so quickly! I thought that was the intention of the API. We're running into issues with this on a cloud VM SKU so I wanted to check first before going back to them. Basically we're unable to set properties after choosing a "Usage". Thanks again.

rhutsAMD commented 2 years ago

Could you please share which usage you are using as well as which properties are unable to be set afterwards? Additionally, could you please provide the OS, GPU, and driver version?

Properties set before Init() are stored inside AMF and will be passed to the HW in the Init() call. So it is unlikely that the VM is the issue.

Please also provide the debug output log and return codes.

idhland commented 2 years ago

That makes sense. Let me ping them first to see if this is on their radar or if there's a reason for it. I'll get back to you.

idhland commented 2 years ago

Hey Roman, I think we found our issue. It looks like AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD (and possibly other rate control parameters) cannot be set if the usage mode is set to AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY. This only happens on GCN cards though. RDNA seems to be fine. Could you provide more context on the this subject? I didn't see anything in the documentation about this but I could have missed it.

bisher13 commented 2 years ago

I agree while i am using my rx580 via FFmpeg encoder if i used the ultra latency mode (usage mode )the most settings ignored