| |
| Releases |
| ----------- |
| |
| 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 |
| |
| 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 |
| |
| |
| |
| |