Reason for revert: Seems to be causing flakiness in perf test: FullStackTest.ScreenshareSlidesVP8_2TL_LossyNet Original issue's description: > Reland of Issue 2434073003: Extract bitrate allocation ... > > This is a reland of https://codereview.webrtc.org/2434073003/ including > some fixes for failing test cases. > > Original description: > > Extract bitrate allocation of spatial/temporal layers out of codec impl. > > This CL makes a number of intervowen changes: > > * Add BitrateAllocation struct, that contains a codec independent view > of how the target bitrate is distributed over spatial and temporal > layers. > > * Adds the BitrateAllocator interface, which takes a bitrate and frame > rate and produces a BitrateAllocation. > > * A default (non layered) implementation is added, and > SimulcastRateAllocator is extended to fully handle VP8 allocation. > This includes capturing TemporalLayer instances created by the > encoder. > > * ViEEncoder now owns both the bitrate allocator and the temporal layer > factories for VP8. This allows allocation to happen fully outside of > the encoder implementation. > > This refactoring will make it possible for ViEEncoder to signal the > full picture of target bitrates to the RTCP module. > > BUG=webrtc:6301 > > Committed: https://crrev.com/647bf43dcb2fd16fccf276bd94dc4400728bb405 > Cr-Commit-Position: refs/heads/master@{#15023} TBR=mflodman@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6301 Review-Url: https://codereview.webrtc.org/2491393002 Cr-Commit-Position: refs/heads/master@{#15026}
86 lines
2.6 KiB
Python
86 lines
2.6 KiB
Python
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file in the root of the source
|
|
# tree. An additional intellectual property rights grant can be found
|
|
# in the file PATENTS. All contributing project authors may
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
{
|
|
'includes': ['../build/common.gypi'],
|
|
'targets': [
|
|
{
|
|
'target_name': 'common_video',
|
|
'type': 'static_library',
|
|
'include_dirs': [
|
|
'<(webrtc_root)/modules/interface/',
|
|
'include',
|
|
'libyuv/include',
|
|
],
|
|
'dependencies': [
|
|
'<(webrtc_root)/base/base.gyp:rtc_task_queue',
|
|
'<(webrtc_root)/common.gyp:webrtc_common',
|
|
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'include',
|
|
'libyuv/include',
|
|
],
|
|
},
|
|
'conditions': [
|
|
['build_libyuv==1', {
|
|
'dependencies': ['<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',],
|
|
'export_dependent_settings': [
|
|
'<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',
|
|
],
|
|
}, {
|
|
# Need to add a directory normally exported by libyuv.gyp.
|
|
'include_dirs': ['<(libyuv_dir)/include',],
|
|
}],
|
|
['OS=="ios" or OS=="mac"', {
|
|
'sources': [
|
|
'corevideo_frame_buffer.cc',
|
|
'include/corevideo_frame_buffer.h',
|
|
],
|
|
'link_settings': {
|
|
'xcode_settings': {
|
|
'OTHER_LDFLAGS': [
|
|
'-framework CoreVideo',
|
|
],
|
|
},
|
|
},
|
|
}],
|
|
],
|
|
'sources': [
|
|
'bitrate_adjuster.cc',
|
|
'h264/sps_vui_rewriter.cc',
|
|
'h264/sps_vui_rewriter.h',
|
|
'h264/h264_common.cc',
|
|
'h264/h264_common.h',
|
|
'h264/pps_parser.cc',
|
|
'h264/pps_parser.h',
|
|
'h264/profile_level_id.cc',
|
|
'h264/profile_level_id.h',
|
|
'h264/sps_parser.cc',
|
|
'h264/sps_parser.h',
|
|
'h264/h264_bitstream_parser.cc',
|
|
'h264/h264_bitstream_parser.h',
|
|
'i420_buffer_pool.cc',
|
|
'video_frame.cc',
|
|
'incoming_video_stream.cc',
|
|
'include/bitrate_adjuster.h',
|
|
'include/frame_callback.h',
|
|
'include/i420_buffer_pool.h',
|
|
'include/incoming_video_stream.h',
|
|
'include/video_frame_buffer.h',
|
|
'libyuv/include/webrtc_libyuv.h',
|
|
'libyuv/webrtc_libyuv.cc',
|
|
'video_frame_buffer.cc',
|
|
'video_render_frames.cc',
|
|
'video_render_frames.h',
|
|
],
|
|
},
|
|
], # targets
|
|
}
|