ShiftMediaProject / FFmpeg

Unofficial FFmpeg with added custom native Visual Studio project build tools. FFmpeg: A complete, cross-platform solution to record, convert and stream audio and video.
http://ffmpeg.org
Other
747 stars 289 forks source link

porting libaom #42

Open PeterList opened 5 years ago

PeterList commented 5 years ago

Hi Matthew Oliver, first let me tell you how thankfull I am that you share all your work necessary for porting ffmoeg and its libraries to VS. That was extremely helpfull for me!

Have you had a look at "libaom", the library that provides the new AV1 video codec? I believe it is an important addition to ffmpeg.

It was actually easy to build the aom-project with VS using the cmake option in VS-2017. Unfortunately the "CMakeLists.txt" file produces only *.exe files, since all the libraries in the project seem static. I am certain that it is possible and maybe easy to do the same with dynamic libraries, but I do not have the slightest idea, how to modify a cmake-file.

Do you have any plans to integrate libaom into the ShiftMediaProject collection of libraries? Best regards, Peter

Sibras commented 5 years ago

libaom is on the shortlist of libs to add support for. But it may be a little while before I can get around to it (gotta pay the bills first ;))

LukeRoss00 commented 5 years ago

Unfortunately the "CMakeLists.txt" file produces only *.exe files, since all the libraries in the project seem static. I am certain that it is possible and maybe easy to do the same with dynamic libraries, but I do not have the slightest idea, how to modify a cmake-file.

Have you tried adding "-DBUILD_SHARED_LIBS=1" to the cmake command line? Even though the README.md for aom says that this flag is officially not supported on Windows, I was able to produce .dll files for almost all Windows projects (only test_libaom does not link, complaining of an unresolved external symbol aom_codec_av1_cx_algo). I haven't yet tried using those .dll's from FFmpeg, though.

PeterList commented 5 years ago

Hi Luke,

yes, I think I did try something like: "-DBUILD_SHARED_LIBS=1. I do not remember exactly, some tip from the internet. Unfortunately I did not succeed.

I have now created a VS-project from scratch, for the AOM libs, which works well. Since I will have to modify the AOM code that additional effort was OK.

Best Regards

LukeRoss00 commented 5 years ago

Hi Peter, you might want to edit your personal details out of the previous reply, so they don't stay forever on GitHub for spammers to collect!