Closed totaam closed 10 years ago
Here's how we upgrade the win32 build (edit: requires r4548 for better backwards build compatibility):
- untar
libvpx-1.2.0
somewhere- create a "
build
" directory next to it- from a mingw32 shell:
cd build ../libvpx-1.2.0/configure --target=x86-win32-vs8 \ --enable-vp8 --enable-realtime-only --enable-runtime-cpu-detect make
(make only creates the build files - I couldn't get it to build everything)
- if not installed already, download yasm for win32 and install it in Visual Studio's
VC\bin
tool directory (the exe file must be renamed toyasm.exe
)- fire up Visual Studio 2008 (your mileage may vary with other versions)
- load the solution which has been created in the build directory:
build\vpx.sln
- change the vpx project's build properties to "Release" (instead of "Debug")
- rebuild the solution - there should be no errors
- create the installation directory structure that the xpra build file expects to find:
C:\vpx-1.2 C:\vpx-1.2\include C:\vpx-1.2\lib C:\vpx-1.2\lib\Win32
- copy the static library
vpxmd.lib
frombuild\Win32\Release\
toc:\vpx-1.2\lib\Win32
- copy all the header files (
*.h
) fromlibvpx-1.2.0\vpx\
toC:\vpx-1.2\include
Verify that we can build the vpx codec against the new version and that it loads OK (requires r4547 or later):
- build the win32 installer
- install xpra
- run
Encoding_info.exe
from xpra's installation directory, you should see:(...)
- vpx : 1.2.0
Optional steps for building a DLL. For reference only as we do not use the DLL ourselves:
- In Visual Studio, change the build from "
Static Library (.lib)
" to "Dynamic Library (.dll)
"- Build vpx only (or rebuild the solution and ignore other errors?)
- the resulting DLL can be found in
build\Win32\Release\vpx.dll
Please confirm that this all works and close this ticket.
Followed all the steps and found one error.
When building it looks for the header files in include\vpx so I just had to move them to that directory
Xpra built fine afterwards and ran Encoding_info.exe and got the desired result
Closing ticket
Building
libvpx-v1.3.0
is hard on win32 and probably not worth the effort right now. It would have been nice if it had been just a matter of adding--enable-vp9
... but no.I had to fix build issues, which I have documented here and ended up using visual studio to build the DLL (pretty much as per the instruction above, but with the extra patches and somehow ended up having to edit the project files by hand to fix some paths - just horrible)
I couldn't find it documented anywhere and it is painful to build, so here it is (libvpx 1.3.0 and ffmpeg 2.4.4) from a mingw shell:
libvpx:
cd libvpx-v1.3.0 ./configure --target=x86-win32-gcc \ --enable-vp8 --enable-vp9 \ --enable-realtime-only --enable-runtime-cpu-detect \ --prefix=/c/mingw make make install
See above for the strip and strtok problem (my answer from stackoverflow).
ffmpeg 2.4.4:
./configure \ --enable-swscale --cpu=i686 --enable-runtime-cpudetect \ --enable-static --enable-shared --enable-gpl --enable-memalign-hack \ --disable-avdevice --disable-decoders --disable-dxva2 --disable-encoders \ --enable-decoder=h264 --enable-decoder=vp8 --enable-libvpx \ --enable-libx264 --disable-devices --disable-muxers --disable-demuxers \ --disable-postproc --disable-avfilter --disable-filters --disable-protocols \ --disable-bsfs --disable-parsers \ --prefix=/c/ffmpeg-2.4.4-win32-bin make make install
Issue migrated from trac ticket # 440
component: packaging | priority: major | resolution: fixed | keywords: win32
2013-10-14 09:21:50: totaam created the issue