Signed-off-by: lizimian <lizimian@huawei.com>
This commit is contained in:
lizimian
2022-05-23 20:37:01 +08:00
parent 1ea1557b67
commit 094bde1ead
2 changed files with 123 additions and 28 deletions
+32 -28
View File
@@ -38,11 +38,16 @@ OS Support
----------
- Windows 64-bit and 32-bit
- Mac OS X 64-bit and 32-bit
- Mac OS X ARM64
- Linux 64-bit and 32-bit
- Android 64-bit and 32-bit
- iOS 64-bit and 32-bit
- Windows Phone 32-bit
Architectures verified to be working
----------
- ppc64el
Processor Support
-----------------
- Intel x86 optionally with MMX/SSE (no AVX yet, help is welcome)
@@ -51,7 +56,7 @@ Processor Support
Building the Library
--------------------
NASM needed to be installed for assembly code: workable version 2.10.06 or above, NASM can downloaded from http://www.nasm.us/.
NASM needed to be installed for assembly code: workable version 2.10.06 or above, NASM can be downloaded from http://www.nasm.us/.
For Mac OSX 64-bit NASM needed to be below version 2.11.08 as NASM 2.11.08 will introduce error when using RIP-relative addresses in Mac OSX 64-bit
To build the arm assembly for Windows Phone, gas-preprocessor is required. It can be downloaded from git://git.libav.org/gas-preprocessor.git
@@ -93,38 +98,36 @@ is `SDK_MIN`, specifying the minimum deployment target for the built library.
For other details on building using make on the command line, see
'For All Platforms' below.
For Linux Builds
--------------
You can build the libraries (but not the demo applications) using the
make based build system from the command line. Build with
make OS=linux ARCH=**ARCH**
You can set `ARCH` according to your linux device .
`ARCH` specifies the architecture of the device. Currently `arm`, `arm64`, `x86` and `x86_64` are supported
NOTICE:
If your computer is x86 architecture, for build the libnary which be used on arm/aarch64 machine, you may need to use cross-compiler, for example:
make OS=linux CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ ARCH=arm64
or
make OS=linux CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ ARCH=arm
For Windows Builds
------------------
Our Windows builds use MinGW which can be downloaded from http://www.mingw.org/
"make" must be installed. It is recommended to install the Cygwin and "make" must be selected to be included in the installation. After the installation, please add the Cygwin bin path to your PATH.
To build with gcc, add the MinGW bin directory (e.g. `/c/MinGW/bin`) to your path and follow the 'For All Platforms' instructions below.
openh264/build/AutoBuildForWindows.bat is provided to help compile the libraries on Windows platform.
Usage of the .bat script:
To build with Visual Studio you will need to set up your path to run cl.exe. The easiest way is to start MSYS from a developer command line session. Instructions can be found at http://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx. If you need to do it by hand here is an example from a Windows 64bit install of VS2012:
export PATH="$PATH:/c/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin:/c/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE"
You will also need to set your INCLUDE and LIB paths to point to your VS and SDK installs. Something like this, again from Win64 with VS2012 (note the use of Windows-style paths here).
export INCLUDE="C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include;C:\Program Files (x86)\Windows Kits\8.0\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared"
export LIB="C:\Program Files (x86)\Windows Kits\8.0\Lib\Win8\um\x86;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib"
Then add `OS=msvc` to the make line of the 'For All Platforms' instructions.
For Windows Phone Builds
------------------------
Follow the instructions above for normal Windows builds, but use `OS=msvc-wp`
instead of `OS=msvc`. You will also need gas-preprocessor (as mentioned below
"Building the Library").
If building for Windows Phone with MSVC 2013, there's no included bat file that sets the lib paths to the Windows Phone kit, but that can be done with a command like this:
export LIB="c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\store\arm;c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\arm;c:\Program Files (x86)\Windows Phone Kits\8.1\lib\arm"
This is only necessary for building the DLL; the static library can be built without setting this.
Note, only Windows Phone 8.1 or newer is supported, 8.0 is no longer supported.
`AutoBuildForWindows.bat Win32-Release-ASM` for x86 Release build
`AutoBuildForWindows.bat Win64-Release-ASM` for x86_64 Release build
`AutoBuildForWindows.bat ARM64-Release-ASM` for arm64 release build
for more usage, please refer to the .bat script help.
For All Platforms
-------------------
@@ -136,6 +139,7 @@ From the main project directory:
- `make` for automatically detecting architecture and building accordingly
- `make ARCH=i386` for x86 32-bit builds
- `make ARCH=x86_64` for x86 64-bit builds
- `make ARCH=arm64` for arm64 Mac 64-bit builds
- `make V=No` for a silent build (not showing the actual compiler commands)
- `make DEBUGSYMBOLS=True` for two libraries, one is normal libraries, another one is removed the debugging symbol table entries (those created by the -g option)
+91
View File
@@ -1,6 +1,27 @@
Releases
-----------
v2.2.0
------
- Add support for B-slice error concealment
- Thread decoding support for multi-slice frame
- SIMD optimization for loongson platform
- Support the arm64 compilation on Windows and MacOS platform
- Some Bug fixes for B-frame decoding
- Some minor bug fixes
v2.1.1
------
- release x86 and x64 libraries for android platform
- release arm and arm64 libraries for linux platform
- Bug fixes
v2.1.0
------
- Experimentally support for multi-thread decoding(default disabled,and may result in random problems if enabled)
- Assembly optimization for loongson platform
- Update meson version to 5
- Some minor bug fixes
v2.0.0
------
@@ -192,6 +213,76 @@ Binaries
These binary releases are distributed under this license:
http://www.openh264.org/BINARY_LICENSE.txt
v2.2.0
http://ciscobinary.openh264.org/libopenh264-2.2.0-android-arm.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-android-arm64.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-android-x86.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-android-x64.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-ios.a.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-linux32.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-linux64.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-linux-arm.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-linux-arm64.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-osx-arm64.6.dylib.bz2
http://ciscobinary.openh264.org/libopenh264-2.2.0-osx-x64.6.dylib.bz2
http://ciscobinary.openh264.org/openh264-2.2.0-win32.dll.bz2
http://ciscobinary.openh264.org/openh264-2.2.0-win64.dll.bz2
v2.1.1
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-arm.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-arm.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-arm64.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-arm64.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-x86.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-x86.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-x64.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-android-x64.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-ios.a.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-ios.a.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux32.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux32.6.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux64.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux64.6.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux-arm.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux-arm.6.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux-arm64.6.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-linux-arm64.6.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-osx32.6.dylib.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.1-osx64.6.dylib.bz2
http://ciscobinary.openh264.org/openh264-2.1.1-win32.dll.bz2
http://ciscobinary.openh264.org/openh264-2.1.1-win64.dll.bz2
v2.1.0
http://ciscobinary.openh264.org/libopenh264-2.1.0-android-arm.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-android-arm.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-android-arm64.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-android-arm64.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-ios.a.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-ios.a.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-linux32.5.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-linux32.5.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-linux64.5.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-linux64.5.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-osx32.5.dylib.bz2
http://ciscobinary.openh264.org/libopenh264-2.1.0-osx64.5.dylib.bz2
http://ciscobinary.openh264.org/openh264-2.1.0-win32.dll.bz2
http://ciscobinary.openh264.org/openh264-2.1.0-win64.dll.bz2
v2.0.0
------
http://ciscobinary.openh264.org/libopenh264-2.0.0-android.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-android.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-ios.a.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-ios.a.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-linux32.5.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-linux32.5.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-linux64.5.so.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-linux64.5.so.sig.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-osx32.5.dylib.bz2
http://ciscobinary.openh264.org/libopenh264-2.0.0-osx64.5.dylib.bz2
http://ciscobinary.openh264.org/openh264-2.0.0-win32.dll.bz2
http://ciscobinary.openh264.org/openh264-2.0.0-win64.dll.bz2
v1.8.0
------
http://ciscobinary.openh264.org/libopenh264-1.8.0-android19.so.bz2