Commit 3c3e253c authored by sprang's avatar sprang Committed by Commit bot

Roll OpenH264 from v1.4.1 to v1.6.0

Second take.
Previous attempt (https://codereview.chromium.org/2440143002) caused
quality regressions. sSpatialLayers[0].sSliceArgument.uiSliceNum = 1 is
the workaround for now.

BUG=chromium:614970

Review-Url: https://codereview.chromium.org/2475623002
Cr-Commit-Position: refs/heads/master@{#430299}
parent 93070bc4
......@@ -288,7 +288,7 @@ deps = {
Var('catapult_revision'),
'src/third_party/openh264/src':
Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + 'b37cda248234162033e3e11b0335f3131cdfe488',
Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '0fd88df93c5dcaf858c57eb7892bd27763f0f0ac',
'src/third_party/re2/src':
Var('chromium_git') + '/external/github.com/google/re2.git' + '@' + 'dba3349aba83b5588e85e5ecf2b56c97f2d259b7',
......
......@@ -1023,7 +1023,7 @@ void H264Encoder::ConfigureEncoderOnEncodingTaskRunner(const gfx::Size& size) {
init_params.iMultipleThreadIdc = 1;
// TODO(mcasas): consider reducing complexity if there are few CPUs available.
DCHECK_EQ(MEDIUM_COMPLEXITY, init_params.iComplexityMode);
init_params.iComplexityMode = MEDIUM_COMPLEXITY;
DCHECK(!init_params.bEnableDenoise);
DCHECK(init_params.bEnableFrameSkip);
......@@ -1032,8 +1032,14 @@ void H264Encoder::ConfigureEncoderOnEncodingTaskRunner(const gfx::Size& size) {
init_params.sSpatialLayers[0].iVideoWidth = init_params.iPicWidth;
init_params.sSpatialLayers[0].iVideoHeight = init_params.iPicHeight;
init_params.sSpatialLayers[0].iSpatialBitrate = init_params.iTargetBitrate;
// Slice num according to number of threads.
init_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_AUTO_SLICE;
// When uiSliceMode = SM_FIXEDSLCNUM_SLICE, uiSliceNum = 0 means auto design
// it with cpu core number.
// TODO(sprang): Set to 0 when we understand why the rate controller borks
// when uiSliceNum > 1. See https://github.com/cisco/openh264/issues/2591
init_params.sSpatialLayers[0].sSliceArgument.uiSliceNum = 1;
init_params.sSpatialLayers[0].sSliceArgument.uiSliceMode =
SM_FIXEDSLCNUM_SLICE;
if (openh264_encoder_->InitializeExt(&init_params) != cmResultSuccess) {
NOTREACHED() << "Failed to initialize OpenH264 encoder";
......
......@@ -29,7 +29,14 @@ config("config") {
source_set("common") {
sources = [
"src/codec/common/inc/WelsCircleQueue.h",
"src/codec/common/inc/WelsList.h",
"src/codec/common/inc/WelsLock.h",
"src/codec/common/inc/WelsTask.h",
"src/codec/common/inc/WelsTaskThread.h",
"src/codec/common/inc/WelsThread.h",
"src/codec/common/inc/WelsThreadLib.h",
"src/codec/common/inc/WelsThreadPool.h",
"src/codec/common/inc/copy_mb.h",
"src/codec/common/inc/cpu.h",
"src/codec/common/inc/cpu_core.h",
......@@ -50,7 +57,10 @@ source_set("common") {
"src/codec/common/inc/welsCodecTrace.h",
"src/codec/common/inc/wels_common_defs.h",
"src/codec/common/inc/wels_const_common.h",
"src/codec/common/src/WelsTaskThread.cpp",
"src/codec/common/src/WelsThread.cpp",
"src/codec/common/src/WelsThreadLib.cpp",
"src/codec/common/src/WelsThreadPool.cpp",
"src/codec/common/src/common_tables.cpp",
"src/codec/common/src/copy_mb.cpp",
"src/codec/common/src/cpu.cpp",
......@@ -169,9 +179,9 @@ source_set("encoder") {
"src/codec/encoder/core/inc/nal_encap.h",
"src/codec/encoder/core/inc/param_svc.h",
"src/codec/encoder/core/inc/parameter_sets.h",
"src/codec/encoder/core/inc/paraset_strategy.h",
"src/codec/encoder/core/inc/picture.h",
"src/codec/encoder/core/inc/picture_handle.h",
"src/codec/encoder/core/inc/property.h",
"src/codec/encoder/core/inc/rc.h",
"src/codec/encoder/core/inc/ref_list_mgr_svc.h",
"src/codec/encoder/core/inc/sample.h",
......@@ -196,6 +206,9 @@ source_set("encoder") {
"src/codec/encoder/core/inc/wels_const.h",
"src/codec/encoder/core/inc/wels_func_ptr_def.h",
"src/codec/encoder/core/inc/wels_preprocess.h",
"src/codec/encoder/core/inc/wels_task_base.h",
"src/codec/encoder/core/inc/wels_task_encoder.h",
"src/codec/encoder/core/inc/wels_task_management.h",
"src/codec/encoder/core/inc/wels_transpose_matrix.h",
"src/codec/encoder/core/src/au_set.cpp",
"src/codec/encoder/core/src/deblocking.cpp",
......@@ -208,8 +221,8 @@ source_set("encoder") {
"src/codec/encoder/core/src/md.cpp",
"src/codec/encoder/core/src/mv_pred.cpp",
"src/codec/encoder/core/src/nal_encap.cpp",
"src/codec/encoder/core/src/paraset_strategy.cpp",
"src/codec/encoder/core/src/picture_handle.cpp",
"src/codec/encoder/core/src/property.cpp",
"src/codec/encoder/core/src/ratectl.cpp",
"src/codec/encoder/core/src/ref_list_mgr_svc.cpp",
"src/codec/encoder/core/src/sample.cpp",
......@@ -225,6 +238,9 @@ source_set("encoder") {
"src/codec/encoder/core/src/svc_set_mb_syn_cabac.cpp",
"src/codec/encoder/core/src/svc_set_mb_syn_cavlc.cpp",
"src/codec/encoder/core/src/wels_preprocess.cpp",
"src/codec/encoder/core/src/wels_task_base.cpp",
"src/codec/encoder/core/src/wels_task_encoder.cpp",
"src/codec/encoder/core/src/wels_task_management.cpp",
"src/codec/encoder/plus/inc/welsEncoderExt.h",
"src/codec/encoder/plus/src/welsEncoderExt.cpp",
......
Name: OpenH264
Short Name: openh264
URL: http://www.openh264.org/
Version: v.1.4.0
Version: v.1.6.0
License: 2-Clause BSD
License File: src/LICENSE
Security Critical: yes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment