-
Notifications
You must be signed in to change notification settings - Fork 76
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
Can not Generator libavcodec #5
Comments
Ive made some code fixes in the repo that should clear up some of these issues (ill update the latest release build in a couple of days). However, you might have to adjust your command line a little. For one your trying to enable h264_vaapi despite VAAPI not being available on windows. But mainly you cant use 'hardcoded-tables' option so you may want to look at whether you really want to use that option (as it makes the output binaries much larger which goes against also trying to use the 'small' option, also most systems that run windows wont see a performance increase from using this option but will end up using more memory so thats why its not currently supported). |
I changed the option(delete small,hardcoded-tables ,h264_vaapi ) and update to last master changed , but none project files and config.h or config.asm be created. stop info: SET PGOPTIONS= ^ |
Ive tried your previous command line options and it works fine. The point you said it stops is during the generation of DCE symbols, this just takes some time to complete as it has to scan the entire code base. Depending on how fast your cpu is it may take a minute or two, so you just need to wait for it to finish. |
I created a new version based on this master (X86/release), and placed it in the FFMpeg(FFMpeg(https://github.com/ShiftMediaProject/FFmpeg/tree/master/SMP)) directory along with those files ( project_generate.exe、smp_project_get_dependencies and smp_project_generate_noredist.bat), Then use the above parameters, However, it automatically exits when during the generation of DCE symbols, I debug the program , found line 243 in projectGenerator_dce.cpp will copy of libavcodec\x86 similar to the flacdsp_init.i file, But there is no such files , so it runs to return false and quit. I found the 189、244 line of code in projectGenerator_dce.cpp might be wrong line244 Git is a bit slow to communicate. Can you help me by email ?My email address is 332994606@qq.com ,thank you sir! |
OK , ill investigate this as having the project_generate.exe placed in the SMP sub-directory is not something that ive tested. In the meantime place the project_generate.exe and associated files in a directory along side the ffmpeg source code directory (e.g. if ffmpeg source code is in d:/somefolder/ffmpeg/, then place project_generate.exe in d:/somefolder/FFVS/) and run it from there. |
I pushed a commit to the repo that I think should fix your issue. Try it out and let me know. |
After update the last master version, then maybe error in line 179 projectGenerator_compiler.cpp , I guess it will not return false, because it is test ,but it return false。 the project directory path like this: D:/somefolder/bzip2 error message info: I changed the line 179 of projectGenerator_compiler.cpp and shielding it ,but found generation projecs files all error, The wrong first line is n="1.0" encoding="utf-8"?> I moved the lines manually, Finally, only 4 projects failed to compile, error message info: |
That error is not an error in FFVS. That is a legitimate error message because you have used a configuration command line that enables several dependencies that are not available. So all you have to do is exactly what it tells you to: From the error message: You have tried creating a ffmpeg library with iconv enabled. This requires the iconv headers and lib to be available. The error message is telling you that you havent made them available and so those configure options wont work. So again following the error message it gave you: So just do as it says, open up the download project repos for the projects you want to use (from the command line you gave it appears your trying to use speex, x264, sdl, iconv, zlib, bzip2, liblzma) and build the projects using the VS solution from the included SMP folders. If you dont want to do that then you have to disable the use of those dependencies by changing your command line. |
hello, And here is the command-line output : E:\visual-studio\FFVS> .\smp_project_generate_noredist.bat Creating project_get_dependencies.bat... Do you want to download/update the required dependency projects (Y/N)?y Getting and updating any required dependency libs... libvpx: Existing folder found. Checking for updates... opus: Existing folder found. Checking for updates... x264: Existing folder found. Checking for updates... Ensure that any dependency projects have been built using the supplied project within the dependencies ./SMP folder before continuing. Running project generator... Error: Errors detected during test compilation :- |
FFVS uses the configure script found in the FFmpeg source code in order to build a VS project using the same rules that are specified in the loaded configure file. By default FFmpeg enables zlib, bzip2, iconv and lzma in configure and so FFVS just follows that. So if you want to build a project not using one of these libs then you have to manually disable them on the command line. This is the exact same command line that you would pass if building FFmpeg normally as FFVS uses identical syntax. |
oh I see. Thanks a lot. Kudos for your wonderful work with these projects ! |
@Sibras when i use following config,then can not generate libavcodec.I use the latest code |
You've got a lot of typos in that command line so I assume that it is not exactly the one that you used. Anyway i cleaned it up and tested it locally and the above behavior is expected. avcodec requires the null_bsf to be enabled which you have explicitly disabled in your command line so avcodec cannot be built. You need to add --enable-bsf=null to the end of your command line to get avcodec to build. You should also make sure you are using the latest 1.5.7 build. Also you are trying to explicitly enable several things that just arent possible on windows (vda vdpau etc. are linux only, also crystalhd, mediacodec, mmal are all only available on different platforms. dxva is the windows equivalent for hardware decoders and is enabled by default). This wont have any impact on the output as these lines will be ignored as they are impossible but i thought id just point that out. And for future reference this is a separate issue so you should have opened this as a new bug. |
When I use this,I found an error in the “smp_project_generate_noredist.bat” ,the line "%FFMPEGPATH%SMP/project_get_dependencies.bat" shoud be
"%FFMPEGPATH%/SMP/project_get_dependencies.bat", and I changed it,so the bat is ok, by it's not work to gen the config.h and libavcodec.vcxproj etc, the show msg folllow:
Warning: Reserved option (fast_64bit) was passed in command line option (--disable-fast_64bit)
This option is reserved and will be ignored
Outputting config.h...
Warning: Unknown option in ifa dependency (parisc64) for option (fast_64bit)
Outputting avconfig.h...
Outputting ffversion.h...
Outputting enabled components file libavcodec/bsf_list.c...
Outputting enabled components file libavformat/protocol_list.c...
Generating from Makefile (./libavcodec/)...
Warning: Unknown dynamic configuration option (CONFIG_MPEG4_OMX_ENCODER) used when passing object (omx)
Generating from Makefile (./libavcodec/x86/)...
Generating missing DCE symbols (libavcodec)...
Warning: Found unknown macro in DCE condition FMT_H261
Warning: Found unknown macro in DCE condition FMT_H263
Warning: Found unknown macro in DCE condition FMT_MJPEG
Warning: Found unknown macro in DCE condition FMT_MJPEG
Warning: Found unknown macro in DCE condition FMT_H263
Warning: Found unknown macro in DCE condition FMT_H263
Warning: Found unknown macro in DCE condition HUFFMAN_TABLE_OPTIMAL
Warning: Found unknown macro in DCE condition FMT_MJPEG
Warning: Found unknown macro in DCE condition CANDIDATE_MB_TYPE_DIRECT
Warning: Found unknown macro in DCE condition CANDIDATE_MB_TYPE_DIRECT0
Warning: Found unknown macro in DCE condition MV_DIRECT
Warning: Found unknown macro in DCE condition FMT_H263
Warning: Found unknown macro in DCE condition FMT_MPEG1
when show the msg, then stop , and can not gen the project files.
My options is:
SET PGOPTIONS= ^
--disable-everything ^
--enable-small ^
--enable-ffmpeg ^
--enable-ffplay ^
--enable-gpl ^
--enable-version3 ^
--enable-nonfree ^
--enable-zlib ^
--enable-hardcoded-tables ^
--enable-avcodec ^
--enable-avformat ^
--enable-swresample ^
--enable-swscale ^
--enable-postproc ^
--enable-avfilter ^
--enable-avresample ^
--enable-avfilter ^
--enable-avdevice ^
--enable-d3d11va ^
--enable-dxva2 ^
--enable-sse ^
--enable-sse2 ^
--enable-sse3 ^
--enable-ssse3 ^
--enable-sse4 ^
--enable-sse42 ^
--enable-yasm ^
--disable-fast_64bit ^
--enable-decoder=h264 ^
--enable-decoder=aac ^
--enable-encoder=aac ^
--enable-encoder=libspeex ^
--enable-encoder=libx264 ^
--enable-hwaccel=h264_vaapi ^
--enable-hwaccel=h264_dxva2 ^
--enable-hwaccel=h264_d3d11va ^
--enable-demuxer=aac ^
--enable-demuxer=h264 ^
--enable-demuxer=mpegts ^
--enable-demuxer=rtp ^
--enable-muxer=h264 ^
--enable-muxer=mpegts ^
--enable-muxer=rtp ^
--enable-muxer=rtp_mpegts ^
--disable-parsers ^
--enable-parser=aac ^
--enable-parser=h264 ^
--enable-protocol=rtp ^
--enable-protocol=udp ^
--enable-indev=dshow ^
--enable-indev=gdigrab ^
--enable-outdev=sdl2 ^
--toolchain=msvc
The text was updated successfully, but these errors were encountered: