-
Notifications
You must be signed in to change notification settings - Fork 32
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
Enhancement Proposal: Adding FFT3D as OpenCL Denoise Filter #199
Comments
Well, even if the FFT3dGPU is a bit dated, @pinterf may provide useful info to implement it... Here's the relative Doom9's info 3ad: Last but not least, as already reported in my old degrain issue, @AhmetCanSolak's aydin could be a very useful resource to exploit. Hope that helps/ispires ! |
Hi @forart, Thank you for your input and for bringing up resources like However, there is a crucial difference between FFT3DGPU and what I am proposing for QSVEnc. FFT3DGPU utilizes DirectCompute, fundamentally distinct from the OpenCL framework that QSVEnc uses for acceleration. The main difficulty is in modifying FFT-based denoising to integrate smoothly with QSVEnc's current GPU-accelerated pipeline using OpenCL. Although the instances you referred to are useful, they do not provide the precise technical details required for implementing OpenCL in QSVEnc. Thanks again for your suggestions, and I look forward to further discussions on how we can enhance QSVEnc's capabilities. Best, |
I agree with the usefulness of 3D noise reduction. I was able to understand the implementation of the basic FFT algorithms necessary to implement FFT3D. I've made a 1D FFT test code seems which seem to work fine, so I believe that I can add noise reduction by FFT. However, FFT3D looks like it is more than FFT denoise filter, it seems to have several extra options, which makes things complex. I think adding a similar filter to ffmpeg fftdnoiz shall be realistic, which is more simple 3D noise reduction filter by FFT. |
Thank you for considering adding the FFT-based denoise filter to QSVEnc. |
Well, may @AkarinVS help with this ? Seems that has "nice" experiences in VS/FFMPEG hardware-optimized filtering (and comes from Japan too). |
Dear @forart, I want you to know that I value your participation and willingness to offer suggestions on this platform. While this is not my GitHub project, everyone must maintain a respectful and constructive environment. Simply suggesting other tools or solutions without directly addressing the issues raised can be seen as unhelpful and dismissive of the developers' efforts. To elaborate on the points: 1. Issue 199: 2. Issue 193: 3. Issue 163: 4. Issue 76: To improve the effectiveness of your contributions, I suggest the following: - Address Specific Issues: - Offer Constructive Advice: - Acknowledge Efforts: - Maintain a Respectful Tone: Staying focused on the topic and providing relevant and constructive feedback are essential. This ensures that discussions remain focused and beneficial for everyone involved. My intention is not to offend or criticise you personally. I aim to highlight how we can all contribute more effectively to this collaborative environment. By ensuring that our feedback is specific, relevant, and respectful, we can support the developers and each other more positively and productively. Aim to contribute in a manner that is specific, constructive, and respectful: Specificity: Constructive Feedback: Tone and Respect: Regarding links to other tools, when I provide links to other tools or filters, I offer specific, actionable examples that can help the functionality of QSVEnc. For instance, when I mentioned the FFT3D filter, it was to illustrate a particular feature or capability that could be beneficial if implemented within QSVEnc. This differs from how it could be perceived as suggesting users look elsewhere; my goal is always to provide ideas that can be integrated into QSVEnc to make it even better. By focusing on these principles, I strive to ensure that my contributions benefit and support the ongoing development of QSVEnc. Thank you for understanding, and I hope we can all contribute positively to the development and improvement of QSVEnc. |
Thanks for verbose & detailed explaination. I basically agree: for people (like me) that can't materially contribute with code "Issues" is not the right place to push suggestions. So, from now on, i'll refrain from any contribution until the "Discussion" section will be available. Happy coding. |
Dear @forart, Thank you for understanding and for reading my message. I want to ensure you know your ideas and suggestions are valuable. Your interest in improving QSVEnc is excellent. If a Discussions section is added in the future, that would be a perfect place for more general ideas and suggestions. Thanks again for your understanding and support. Happy coding! |
--vpp-fft3d has been added in QSVEnc 7.66. Please check the link for details. I think the performance of the filter is acceptable, as it run around 145fps on Arc A380 with default parameters with 1080p target after I did some optimization (first implementation only run around 45fps...), but please have a test. |
I am sincerely grateful for implementing the - Thank you again for your hard work and dedication. |
Thank you for testing, nice to hear hat it works fine! |
Could you tell me which settings you use for testing 1080p? |
Great speed and excellent quality :-) |
That's great! The strong performance of Arc A770 (compared to A380) really helps with filters like fft3d or nlmeans with somewhat high computational load. |
Hi @rigaya ,
I hope you're doing well.
I appreciate your unwavering commitment to improving QSVEnc and responsiveness to user feedback.
I understand that you have many important tasks to attend to and that adding new features may only sometimes be possible.
Nevertheless, I am requesting that you kindly consider adding FFT3D as an OpenCL denoise filter.
Why FFT3D?
FFT3D provides a distinct noise reduction approach that can effectively complement the existing filters in QSVEnc.
Here is a summary of how it works and why it would be a valuable addition.
How It Works:
FFT3D utilizes fast Fourier transforms (FFT) to identify and isolate noise patterns in video material. This frequency-based approach filters noise more effectively, preserving finer details.
Unique Advantage:
Existing noise filters such as convolution3d, smooth, DCT, KNN, NLMeans, and PMD work efficiently for denoising videos.
However, these filters are limited when handling old and grainy video content. Even after making necessary adjustments, residual noise may be left behind. In such cases, using FFT3D can be highly beneficial as it can simultaneously handle noise across both temporal and spatial dimensions, resulting in more efficient and higher-quality denoising. This filter would add a tool to our denoise arsenal for challenging, older content.
Conclusion
This enhancement will be valuable for QSVEnc users, but I understand other tasks may take priority. If you can consider this request, it would be appreciated.
Thank you for your hard work and for providing such a versatile tool.
quamt
The text was updated successfully, but these errors were encountered: