-
Notifications
You must be signed in to change notification settings - Fork 148
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
Is there a plan to implement amf decoder in ffmpeg? #199
Comments
AMF decoders can work through DXVA2 or D3D11VA on Windows so there is no gain in this code path. But option to do encoding via Vulkan was integrated into AMF encoder in FFmpeg. This is useful for Vulkan applications and for Linux. We tried to submit AMF decoder to FFmpeg (especially Vulkan option) but nobody in FFmpeg is willing to commit the proposed patches. Don't really know why. We submitted such patch to Handbrake and it was accepted there. |
I also tried to submit patches to ffmpeg but it took a long time to commit them. Some players don't know the details, so they think that AMD's work in this area is not actively leading to the lack of available AMF decoders. On the one hand, I use the D3D11 decoder and h264_amf encoder on Windows. On the other hand, I use the VAAPI decoder on linux and the h264_amf encoder via vulkan. However, the encoding and decoding are not completely solved by AMF. I hope your team can promote the implementation of codec software in the new year : ) |
BTW could you provide the AMF decoder patch submitted to ffmpeg if possible? I want to compile them for use in ffmpeg myself. |
You should send its to ffmpeg branch again. Sometimes there is no crew or just forgotten, and by two or three commits its being added |
We tried several times. You can find the patches and discussion in FFmpeg archives if you search for "Ovchinnikov". |
I can find some patches but they seems irrelevant to AMF decoder? Perhaps the patch you submitted was obscured by other new patches. And what is the new AMF decoder called in ffmpeg? https://patchwork.ffmpeg.org/project/ffmpeg/list/?submitter=824 |
I will notify the developer with link to this issue. He should be able to send you the latest. |
@nyanmisaka Hi! a patches with a decoder dependencies (hw_context_amf) were sent earlier but not applied.They are a bit outdated and now I am updating them and plan to re-send the entire series of patches soon, including the patch with the decoder. I'll be back when there's an update. |
I can't wait to apply the new AMF decoder to my project. Thank you for helping me submit a patch about fixing the HEVC profile option not long ago, although it does not seem to have been merged yet. |
Ok, I'll port AMF to Gentoo Linux distribution if all become successfull. |
Any news? |
Now we are preparing and testing patches, will be published soon |
Thank you for your works! Don't forget to send the |
That's very good news. |
FFmpeg 4.3 seems to be coming soon, the AMF decoder may not be able to catch up 😂 |
Ffmpeg 4.3 is out. |
@RarogCmex which closed components are required for this to work after this gets sorted out? I'm also on Gentoo |
@OvchinnikovDmitrii I found that when using the decoder, In addition, the encoder only creates At this point, I can't let decoding and encoding be done in GPU memory at the same time. I am not an expert in ffmpeg. Could you please guide me which parts need to be changed? Perhaps it was caused by API changes in ffmpeg and AMF as these patches were last submitted two years ago. I sincerely hope AMD can restart ffmpeg integration that has been stuck for two years. Over the years, the decoder/encoder/filter of QSV and NVENC have gone through many iterations, and their functions and types have become more and more complete, and they have even become a selling point. However, the lack of AMF decoder and scaler in ffmpeg results in the transcoding pipeline not being able to be performed completely in GPU memory. This is neither efficient nor power-saving. Start by adding you to the list of ffmpeg maintainers. This is very helpful to speed up the merge patch. @MikhailAMD |
Hi! Decoder implementation needs some fixes, but I had a lot of high-priority tasks at this time.
Accepted formats defined in .pix_fmts = ff_amf_pix_fmts, not in format_map. During this time, I updated the patches several times, but they quickly became outdated. I can send the patch version for 19.06.
I asked about this in ffmpeg- dev , but they rejected, because of the small amount of patches published by me. I will try again after accepting the new patch pack. |
Thank you for your reply! Here are some of my questions:
My tiny suggestions on plans:
Please let me know once you have a new patch. |
where are we at currently? @OvchinnikovDmitrii |
Just another respectful ask for an update on this @OvchinnikovDmitrii :) |
Hi! Last time, the preparatory patches were rejected, so I need to reorganize the code and submit it again. As soon as I finish my current task(hopefully this month), I will prepare new patches and submit again. |
Thanks for your work again! I have seen that patch series last year. |
hi!, what is the current status of your patches? @OvchinnikovDmitrii |
@OvchinnikovDmitrii Hi! It seems AMD has finally been added into the ffmpeg maintainer for AMF codes. Any plans on the upcoming AV1 encoder and the AMF hwcontext? |
@nyanmisaka |
Would two AMF H264 and H265 decodes be built in |
Only amf encoders(h264_amf/hevc_amf) are available in ffmpeg now while there is no amf decoder to use.
AFAIK on Window VCN/UVD is accessable via dxva/d3d11. Can we gain much more trancoding speed from amf decoders instead of dxva/d3d11 hardware acceleration?
The text was updated successfully, but these errors were encountered: