mirror of
https://github.com/DrKLO/Telegram.git
synced 2024-12-22 14:35:03 +01:00
346 lines
16 KiB
Text
346 lines
16 KiB
Text
|
||
Releases
|
||
-----------
|
||
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
|
||
------
|
||
- B-frame decoding support for Main and High Profile with two test cases
|
||
- Add support for loongson(https://en.wikipedia.org/wiki/Loongson) platform
|
||
- Add clang support for arm/arm64/x86 for NDK version over 17
|
||
- Enable stack protector
|
||
- Add some test cases
|
||
- Avoid using C++/CX code for threads for Windows Phone/Windows Store/UWP
|
||
- Remove extra visual studio projects for the decoder
|
||
- Remove check for working compiler in NDK
|
||
- Bug fixes
|
||
|
||
v1.8.0
|
||
------
|
||
- Add meson build for Linux/Windows platform
|
||
- Disable background detection for screen route
|
||
- Add a workaround for Visual Studio 2013 C++ x64 compiler bug on AVX2. That bug will cause crash and has been fixed in Visual Studio 2014
|
||
- Change the default profile from baseline to high if user does not set it and CABAC is specified
|
||
- Skip frames that are marked as IDR due to scene change and simultaneously marked as skip frame to reduce bit rate
|
||
- Refine threshold calculation algorithms for rate control in lower frame rate to get better effect
|
||
- Encoder return with a specific return value instead of uninitialize encoder when input resolution is invalid
|
||
- Refine strategy on level change to avoid frequent IDR. Encoder will not be reset if level is changed to a smaller one
|
||
- Support to set the min and max QP values on screen content mode
|
||
- Fix a memory issue that may cause encoder crash when temporal layer change
|
||
- Corrected some statistics information
|
||
- Refine error concealment algorithms to improve user experience
|
||
- Support to get information about current output picture is reference picture or not on decoder side
|
||
- Bug fix for decoder when 8x8 prediction mode is enabled on the input bitstream
|
||
- Enable NEON for ChromeOS devices
|
||
- Support for Fuchsia operating systerm
|
||
- Support for building arm64 with MSVC
|
||
- Remove some warnings when building with MSVC
|
||
- Fix clang compiler error when building arm assembly funtions
|
||
- Bug fixes for unit test
|
||
|
||
v1.7.0
|
||
------
|
||
- Changed SPS/PPS strategy option name,See enum ENCODER_OPTION
|
||
- Changed NAL size length parameter from static array to pointer to support more NALs.See struct SParserBsInfo
|
||
- Changed semaphores to condition variables on apple platform
|
||
- Changed version update mechanism as Major.Minor.patch,like 1.7.0
|
||
- Supported to force IDR independently for each layer in simulcast AVC case.See API ForceIntraFrame()
|
||
- Supported LTR request independently for each layer in simulcast AVC case.See struct SLTRRecoverRequest and SLTRMarkingFeedback
|
||
- Supported to set sample aspect ratio in VUI on encoder side. See struct SSpatialLayerConfig
|
||
- Supported to set profile and level, changed the default level as 4.1 if the user doesn’t set it. See enum ELevelIdc
|
||
- Supported to get profile and level info on decoder side.See enum DECODER_OPTION
|
||
- Supported for enable/disable AVX2 build option. Build option: HAVE_AVX2
|
||
- Supported to set decoder statistics log interval, Add DECODER_OPTION_STATISTICS_LOG_INTERVAL.See DECODER_OPTION.
|
||
- Supported for AU delimiter NAL on decoder side. AU delimiter refers to section 7.3.2.4
|
||
- Supported for x86 PIC assembly and build option. Build option: ENABLEPIC. git issues:#2263 #2534
|
||
- Supported for Cygwin x86_64 build
|
||
- Supported to get sample aspect ratio by GetOption on decoder. Add option: DECODER_OPTION_GET_SAR_INFO
|
||
- Set constraint_set4_flag constraint_set5_flag to align to CHP definition in latest H264 standard
|
||
- Improved VUI support on decoder side
|
||
- Improved decoder statistics info output
|
||
- Refined the return value when failed in memory allocation
|
||
- Added SSSE3 motion compensation routines
|
||
- Added AVX2 motion compensation routines
|
||
- Optimization on some of SSE2/MMX functions
|
||
- Refactor rate control for RC_BUFFERBASED_MODE and RC_QUALITY_MODE mode
|
||
- Added more unit tests for random resolution input,slice mode switch,profile/level setting
|
||
- Refined logs
|
||
- Bug fixes for 4:0:0 format support on decoder
|
||
- Bug fixes for complexity calculation for screen content mode
|
||
- Bug fixes for loadbalancing turn on, git issue:#2618
|
||
- Bug fixes for parser subsps, scalling list, parser longer bitstream
|
||
|
||
v1.6.0
|
||
------
|
||
- Adjusted the encoder API structures
|
||
- Removed the unused data format in decoder API
|
||
- Encoder support of simulcast AVC
|
||
- Added support of video signal type present information
|
||
- Added support of encoder load-balancing
|
||
- Improved encoder multi-threads, rate control and down-sampling
|
||
- Fixed the frame size constraint in encoder
|
||
- Bug fixes for rate control, multi-threading, simulcasting in encoder
|
||
- Bug fixes for interface call, return value check, memory leak in decoder
|
||
- Bug fixes for UT and statistic information
|
||
- Bug fixes for assembly code
|
||
- Remove the unused and redundant code
|
||
- Improvements on UT, memory allocation failed protection, error-protection in decoder, input parameters checking in encoder, assembly for AVX2 support, assembly code performance, logging and documentation
|
||
- Correct some typos in source code and documents
|
||
|
||
v1.5.3
|
||
------
|
||
- Bug fixes for GMP Plugin
|
||
|
||
v1.5.2
|
||
------
|
||
- Fix GMP Plugin causing the Browser crash on Android
|
||
|
||
v1.5.1
|
||
------
|
||
- Bug fixes for GMP Plugin
|
||
|
||
v1.5.0
|
||
------
|
||
- Correct a typo in codec return value (github issue#2046, cmUnkonwReason -> cmUnknownReason)
|
||
- Added Codec demo and auto build script for WP8
|
||
- Decoder support of 'Constrained High Profile' of H.264
|
||
- Encoder support of CABAC of H.264
|
||
- Encoder support of input frame rate 60
|
||
- Improved syntax of gaps_in_frame_num_value_allowed_flag in encoder
|
||
- Improved memory usage for multi-threading in encoder
|
||
- Added VUI info for base layer in encoder
|
||
- Added encoder interface to get external setting of iMaxQp and iMinQp for rate control
|
||
- Bug fixes for Rate Control, multi-threading and simulcasting in encoder
|
||
- Bug fixes for NoDelay API, ParseOnly functions, error-concealment off functiond and error-detection in decoder
|
||
- Bug fixes for UT
|
||
- Fixes to avoid valgrind warnings, potential crash and calculation overflow
|
||
- Merged files for decoder/encoder and remove unused files
|
||
- Improvements on build scripts, UT, error-protection in decoder, input param checking in encoder, assembly for 64bit support, downsampling, logging and documentation
|
||
|
||
Note:
|
||
'Constrained High Profile' = 'Constrained Baseline Profile' plus:
|
||
- CABAC
|
||
- Intra 8x8 mode support
|
||
- 8x8 transform
|
||
- QP scaling matrices
|
||
- QP per chroma component
|
||
- Mono 4:0:0 (experimental)
|
||
- Weighted prediction
|
||
|
||
v1.4.0
|
||
------
|
||
- Decoder new interface of DecodeFrameNoDelay
|
||
- Added new encoder and decoder statistics
|
||
- Added option for generating pdb in windows builds
|
||
- Added new rate control mode (RC_TIMESTAMP_MODE) for inconstant frame rate input
|
||
- Added new Sps/Pps strategies for real-time video
|
||
— Added support for simulcast avc
|
||
- Improvements in code structure, assembly, input parameter checking, logging, UT and comments
|
||
- In gmp-openh264, return decoder error correctly and other fixes
|
||
- Decoder bug fixes when for Error Concealment disabled
|
||
- Bug fixes for ParseOnly functions
|
||
- Bug fixes for encoding large frame size (>32767MBs)
|
||
- Fixes to avoid valgrind warnings, potential crash and calculation overflow
|
||
|
||
-----------
|
||
v1.3.1
|
||
------
|
||
- Fixed and enhanced protection to avoid crash when reading lossy bitstreams
|
||
- Adjust the default mode of Error Concealment used by gmp-openh264
|
||
|
||
-----------
|
||
v1.3.0
|
||
------
|
||
- Removed manual API document, now using wiki: https://github.com/cisco/openh264/wiki (0af48e5 for v1.3.0)
|
||
- Added API version in API header files
|
||
- Added pkg-config file
|
||
- Added decoder support of parsing only (bParseOnly) for only parsing bit stream but not decoding
|
||
- Added timestamp and max nal size in gmp-openh264.cpp when calling encoding
|
||
- Added timestamp info in decoder input and return structure
|
||
- Added support of level 9 in decoder
|
||
- Added total length of the encoded frame in encoder return structure
|
||
- Added SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,&base) for encoder
|
||
- Set constraint set 0 and 1 flags for non-scalable
|
||
- Improved error concealment algorithms and provide more modes of error-concealment
|
||
- Improved rate control algorithms and reference selection algorithms for screen content encoding
|
||
- Added encoder and decoder statistics interface
|
||
- Improved input parameter checking and logging
|
||
- Bug fixes, warning reductions, and test improvements
|
||
|
||
-----------
|
||
v1.2.0
|
||
------
|
||
- Add and modify encoder APIs related to rate control and screen content encoding
|
||
- Remove PauseFrame in encoder APIs
|
||
- Improve rate control and compression ratio for screen content encoding
|
||
- Improve error concealment algorithm
|
||
- Improve validation of input parameters
|
||
- Add ARM64 assembly
|
||
- bug fixes
|
||
|
||
-----------
|
||
v1.1.0
|
||
------
|
||
- Modify some APIs (see API doc for detail)
|
||
- Improve the compression ratio of screen content encoding
|
||
- ARM64 assembly support for most of core functions in encoder & decoder
|
||
- Modify error concealment logic to always return decoding error info until IDR picture comes
|
||
- fix some bugs
|
||
|
||
|
||
Binaries
|
||
-----------
|
||
These binary releases are distributed under this license:
|
||
http://www.openh264.org/BINARY_LICENSE.txt
|
||
|
||
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
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-android19.so.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-ios.a.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-ios.a.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-linux32.4.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-linux32.4.so.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-linux64.4.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-linux64.4.so.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-osx32.4.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.8.0-osx64.4.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.8.0-win32.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.8.0-win64.dll.bz2
|
||
|
||
v1.7.0
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-android19.so.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-ios.a.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-ios.a.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-linux32.4.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-linux32.4.so.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-linux64.4.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-linux64.4.so.sig.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-osx32.4.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.7.0-osx64.4.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.7.0-win32.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.7.0-win64.dll.bz2
|
||
|
||
v1.6.0
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.6.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.6.0-ios.a.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.6.0-linux32.3.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.6.0-linux64.3.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.6.0-osx32.3.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.6.0-osx64.3.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.6.0-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.6.0-win64msvc.dll.bz2
|
||
|
||
v1.5.0
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.5.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.5.0-ios.a.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.5.0-linux32.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.5.0-linux64.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.5.0-osx32.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.5.0-osx64.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.5.0-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.5.0-win64msvc.dll.bz2
|
||
|
||
v1.4.0
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.4.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.4.0-linux32.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.4.0-linux64.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.4.0-osx32.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.4.0-osx64.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.4.0-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.4.0-win64msvc.dll.bz2
|
||
|
||
v1.3.1
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.1-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.1-linux32.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.1-linux64.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.1-osx32.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.1-osx64.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.3.1-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.3.1-win64msvc.dll.bz2
|
||
|
||
v1.3.0
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.0-linux32.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.0-linux64.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.0-osx32.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.3.0-osx64.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.3.0-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.3.0-win64msvc.dll.bz2
|
||
|
||
v1.2.0
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.2.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.2.0-linux32.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.2.0-linux64.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.2.0-osx32.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.2.0-osx64.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.2.0-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.2.0-win64msvc.dll.bz2
|
||
|
||
v1.1.0
|
||
------
|
||
http://ciscobinary.openh264.org/libopenh264-1.1.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.1.0-linux32.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.1.0-linux64.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.1.0-osx32.dylib.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.1.0-osx64.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.1.0-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.1.0-win64msvc.dll.bz2
|
||
|
||
v1.0.0
|
||
------
|
||
|
||
http://ciscobinary.openh264.org/libopenh264-1.0.0-android19.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.0.0-linux32.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.0.0-linux64.so.bz2
|
||
http://ciscobinary.openh264.org/libopenh264-1.0.0-osx64.dylib.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.0.0-win32msvc.dll.bz2
|
||
http://ciscobinary.openh264.org/openh264-1.0.0-win64msvc.dll.bz2
|
||
|
||
|
||
|
||
|