Comments (12)
This is what I use to use for MinGW build....
CXXFLAGS=-D__STDC_CONSTANT_MACROS ./configure --disable-doc --disable-outdevs --disable-static --enable-shared --disable-ffplay --disable-ffserver --enable-memalign-hack --enable-w32threads --enable-zlib --cpu=i686
from ffvs-project-generator.
I assume your comparing the Release configurations speed as opposed to the debug configuration (the debug is the default configuration)?
There are some differences in a few cases as old code in the ffmpeg user base sometimes has inline assembly code that is not supported by msvc compiler. All the more recent code uses nasm as an external assembler to support assembly optimisations so as long as you project uses nasm for assembly youll get all the latest optimisations. It is however possible that an older codec such as mpeg2 still uses the older inline asm and hasnt been updated due to its age. If you use a more recent encoder you should see near identical performance, if not then that would require additional investigation.
from ffvs-project-generator.
Is there any way to get that inline assembly code to compile in VS? Using the Intel encoder maybe? Our main purpose for using VS over MinGW was being able to add breakpoints to the ffmpeg code when we were having issues, but we rely on that MPEG-2 encoder and can’t use it if it's 1/2 the speed.
from ffvs-project-generator.
The intel compiler does support the inline assembly and FFVS supports creating projects for icl.
from ffvs-project-generator.
I've been doing some testing and the VS build is slower in other areas too. I was testing all the decoders and the MinGW build is faster in every test. Something weird is going on. I'm going o download the trial for the Intel compiler and see if it makes a difference.
from ffvs-project-generator.
You may also want to try testing against the precompiled binaries at https://github.com/ShiftMediaProject/FFmpeg/releases to see if there is a difference there.
from ffvs-project-generator.
Good idea. I'll try that too just to be sure
from ffvs-project-generator.
Did you end up reproducing the speed issues with the precompiled binaries? If not ill close this issue.
from ffvs-project-generator.
I got pulled away on another project so I couldn’t finish all my testing. But the precompiled binaries did not have the speed issues. However the one we compiled, using your project generator and VS2019, does. And I have no idea why. Same code compiled in mingw is faster so we're just using that for now. I plan to revisit this eventually but I'm busy on another project right now.
from ffvs-project-generator.
Well the precompiled binaries are using the supplied VS projects with any modification. Double check and make sure that you are using one of the Release Configurations and your not accidentally comparing it to a debug build.
from ffvs-project-generator.
We're using a custom build script and your project generator, not your published project files. We need a custom build because we're using this in a commercial app and can only use the LGPL stuff. We also need zlib support because we have customers who edit MP4 files with compressed headers.
It's been a couple years since I generated the projects, so maybe you've fixed something since then. It was just a big process, and I need to remember how exactly to do it, so I haven’t had time to start over and do it again. I'm hoping that's all it is. But if not I'll start a new bug if you close this one.
from ffvs-project-generator.
Closing this for now.
For reference if all you want is lgpl with zlib then you can use FFVS with the command line "--enable-lgpl --disable-autodetect --enable-zlib" then just build one of the desired release configurations in the generated VS projects.
from ffvs-project-generator.
Related Issues (20)
- Is it possible to generate a solution that only builds a few specific decoders and nothing else? HOT 17
- some improvements to the bat code
- Project generation fails due to stdatomic HOT 12
- Definition of `HAVE_AV_CONFIG_H` in tools projects HOT 1
- DCE from header file definition
- Static compile with libx264 HOT 6
- Error: Failed opening file (SMP/) HOT 7
- Wrapper Files HOT 3
- Invalid switch - "" Error HOT 3
- Could not work for ffmpeg 5.1 HOT 2
- Error: Could not find valid source file for object (fftoolsres)
- can not support multiples components with one option: --enable-demuxer=mov,m4v HOT 1
- and no avcodec project file? HOT 7
- vcruntime.h and av_cmp_q HOT 1
- Some path resolution exceptions
- Unable to disable assembly optimizations HOT 1
- Unable to find Git HOT 2
- Cannot find GL & SDL even after putting them , please help HOT 4
- pthread.h not found invalid switch error HOT 1
- ffmpeg6.1 cuda fail. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ffvs-project-generator.