Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
3rd October 2013, 17:28 | #2 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
You have to distinguished between compiler-optimizations and hand-written assembly code here:
Compiler-optimizations are solely a question about the compiler (and compiler settings) being use to build the software! So any software can use AVX2 and/or AVX512, if it gets built with a compiler that supports generating AVX2/AVX512 code - and if that option is enabled in the compiler settings (which generally breaks compatibility to CPU's without AVX2/AVX512 support). Having said that, I don't know which compilers support AVX2 and/or AVX512 yet, but the Intel C Compiler probably is your best bet. Once you have such a compiler, you simply need to re-compile FFdshow with AVX2/AVX512 optimizations enabled. How much speed improvement (if any) you'd get from that is a completely different question though! (But looking at the manual, it seems the latest Intel C Compiler at least has AVX2 support, but there's no sign of AVX512. The Microsoft compiler, as of VS2012, definitely does not support AVX2 or AVX512, only AVX) At the same time, hand-written assembly that takes advantage of AVX2 and/or AVX512 has to be added to the software by the developers. This is usually takes some time. And it will only be done, if at all, where the new AVX2 and/or AVX512 instructions are actually beneficial for the specific software! In case of FFdshow, you need to be aware that FFdshow is nothing but a DirectShow-wrapper around the libavcodec library from FFmpeg (and a few other libraries). So, if AVX2/AVX512 assembly code ever gets added, then it will be added to libavcodec, by the FFmpeg developers - it will not be added to FFdshow itself. Having said that, I have no idea whether FFmpeg/libavcodec already has any AVX2/AVX512 code yet. (Though looking at the CPU flags in "libavutil/cpu.h" it seems that ffmpeg/libav currently has AVX support, but I cannot see any sign of explicit AVX2 and/or AVX512 support at the moment)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 3rd October 2013 at 20:32. |
3rd October 2013, 19:37 | #4 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
If you had read (and understood) my explanations, you would now know that there is no definitive answer to your question, because it depends on how (i.e. with which compiler and with which compiler settings) the specific build of FFdshow was created! Also you would now know that adding AVX2/AVX512 assembly code to FFdshow itself, which is (more or less) only a wrapper, doesn't matter. Instead, adding AVX2/AVX512 assembly to the actual decoder libraries (i.e. libavcodec) is what might be of interest here! Last but not least, and regardless of FFdshow, the question is not whether a specific software "works" with AVX2/AVX512, but whether that software is capable of taking advantage from AVX2/AVX512 instructions.
Reading your reply, I have to assume you did not understand the above, so I recommend you read my first post again...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 3rd October 2013 at 19:52. |
4th October 2013, 04:31 | #6 | Link | |
Registered User
Join Date: Nov 2008
Posts: 39
|
Well I read your reply and as it says you do not know
Please read your answer Quote:
Or having or no having Dark Shikari give me clear answer |
|
4th October 2013, 07:23 | #7 | Link |
Yes, I'm weird.
Join Date: May 2010
Location: Southeast Asia
Posts: 271
|
I can recompile FFDshow with a compiler support AVX2/AVX512, set it to optimize for AVX2/AVX512 and then I can say FFDshow now support AVX2/AVX512, no?
Like LoRd_MuldeR said, the answer is not that simple, at least for your question.
__________________
“Never argue with stupid people, they will drag you down to their level and then beat you with experience.” — Mark Twain |
4th October 2013, 11:17 | #8 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
He answered a question you did not even ask for, while I explained (see above) why that is the right question you probably should have asked...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 4th October 2013 at 14:00. |
4th October 2013, 21:47 | #9 | Link |
*****
Join Date: Feb 2005
Posts: 5,647
|
This question shows up every time a new instruction set is introduced. Some seem to expect major performance benefits. Well, that all just marketing bullshit.
The new instructions are only useful for very specific types of calculations. They have little to no benefit for most applications. But a more relevant answer to the question: The ffdshow project has been pretty much dead for more than a year...
__________________
MPC-HC 2.2.1 |
5th October 2013, 15:16 | #10 | Link | |||
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
It's like: Hey, my brand new CPU supports that fancy instruction set I have heard about. I assume this magically makes everything faster. So why the heck doesn't every single program in existence make use of it ??? Quote:
If there's no suitable use case for the new instructions in a specific program, it simply isn't possible to use those instructions in that program (in a reasonable way). And even if the program actually can benefit from the new instructions, still somebody has to think up smart algorithms that make use of the new instructions and outperform the previous algorithms. That's not trivial at all and thus won't happen all of a sudden... Quote:
Given, of course, that they didn't break the API
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 6th October 2013 at 12:41. |
|||
Thread Tools | Search this Thread |
Display Modes | |
|
|