Revert of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #8 id:140001 of https://codereview.webrtc.org/2780943003/ )

Reason for revert:
Suspect of breaking Chrome FYI bots.

See
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/23065
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder

Example logs:
../../content/renderer/media/gpu/rtc_video_encoder_unittest.cc:18:46: fatal error: third_party/webrtc/video_encoder.h: No such file or directory
 #include "third_party/webrtc/video_encoder.h"
                                              ^

Original issue's description:
> Move video_encoder.h and video_decoder.h to /api and create GN targets for them
>
> BUG=webrtc:5881
> # Because PRESUBMIT ignores LINT blacklist for moved files and these
> # headers have some not easy to resolve issues.
> NOPRESUBMIT=True
>
> Review-Url: https://codereview.webrtc.org/2780943003
> Cr-Commit-Position: refs/heads/master@{#17511}
> Committed: c42f540570

TBR=solenberg@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5881

Review-Url: https://codereview.webrtc.org/2794033002
Cr-Commit-Position: refs/heads/master@{#17514}
This commit is contained in:
guidou 2017-04-03 09:15:52 -07:00 committed by Commit bot
parent 880c85ba7e
commit 716d7ac5c1
29 changed files with 61 additions and 100 deletions

View file

@ -16,8 +16,6 @@ import sys
# Files and directories that are *skipped* by cpplint in the presubmit script.
CPPLINT_BLACKLIST = [
'tools-webrtc',
'webrtc/api/video_codecs/video_decoder.h',
'webrtc/api/video_codecs/video_encoder.h',
'webrtc/base',
'webrtc/examples/objc',
'webrtc/media',
@ -40,6 +38,8 @@ CPPLINT_BLACKLIST = [
'webrtc/call.h',
'webrtc/common_types.h',
'webrtc/common_types.cc',
'webrtc/video_decoder.h',
'webrtc/video_encoder.h',
'webrtc/video_send_stream.h',
]

View file

@ -14,6 +14,8 @@ include_rules = [
"+webrtc/config.h",
"+webrtc/transport.h",
"+webrtc/typedefs.h",
"+webrtc/video_decoder.h",
"+webrtc/video_encoder.h",
"+webrtc/video_frame.h",
"+webrtc/video_receive_stream.h",
"+webrtc/video_send_stream.h",

View file

@ -1,28 +0,0 @@
# Copyright (c) 2017 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.
import("../../webrtc.gni")
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
}
rtc_source_set("video_codecs_api") {
sources = [
"video_decoder.h",
"video_encoder.h",
]
deps = [
# TODO(ilnik): Add dependency on webrtc/video_frame.h when it will have it's
# own build target.
"../..:webrtc_common",
"../../base:rtc_base_approved",
]
}

View file

@ -226,7 +226,6 @@ rtc_static_library("rtc_media") {
"../api:video_frame_api",
"../api/audio_codecs:audio_codecs_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/video_codecs:video_codecs_api",
"../base:rtc_base",
"../base:rtc_base_approved",
"../call",
@ -306,7 +305,6 @@ if (rtc_include_tests) {
"..:webrtc_common",
"../api:call_api",
"../api:video_frame_api",
"../api/video_codecs:video_codecs_api",
"../base:rtc_base",
"../base:rtc_base_approved",
"../base:rtc_base_tests_main",
@ -440,7 +438,6 @@ if (rtc_include_tests) {
":rtc_unittest_main",
"../api:video_frame_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/video_codecs:video_codecs_api",
"../audio",
"../base:rtc_base",
"../base:rtc_base_approved",

View file

@ -14,10 +14,7 @@
#include <map>
#include <set>
#include <vector>
#include <string>
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/basictypes.h"
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/gunit.h"
@ -27,6 +24,8 @@
#include "webrtc/media/engine/webrtcvideodecoderfactory.h"
#include "webrtc/media/engine/webrtcvideoencoderfactory.h"
#include "webrtc/modules/video_coding/include/video_error_codes.h"
#include "webrtc/video_decoder.h"
#include "webrtc/video_encoder.h"
namespace cricket {
static const int kEventTimeoutMs = 10000;

View file

@ -14,7 +14,7 @@
#include <memory>
#include <string>
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/video_decoder.h"
namespace webrtc {

View file

@ -8,7 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/video_decoder.h"
#include "webrtc/base/checks.h"
#include "webrtc/media/engine/videodecodersoftwarefallbackwrapper.h"
#include "webrtc/modules/video_coding/include/video_error_codes.h"

View file

@ -15,8 +15,8 @@
#include <string>
#include <vector>
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/media/base/codec.h"
#include "webrtc/video_encoder.h"
namespace webrtc {

View file

@ -17,8 +17,6 @@
#include <utility>
#include "webrtc/api/video/i420_buffer.h"
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/copyonwritebuffer.h"
#include "webrtc/base/logging.h"
#include "webrtc/base/stringutils.h"
@ -37,6 +35,8 @@
#include "webrtc/media/engine/webrtcvoiceengine.h"
#include "webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h"
#include "webrtc/system_wrappers/include/field_trial.h"
#include "webrtc/video_decoder.h"
#include "webrtc/video_encoder.h"
using DegradationPreference = webrtc::VideoSendStream::DegradationPreference;

View file

@ -13,7 +13,6 @@
#include <memory>
#include <vector>
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/arraysize.h"
#include "webrtc/base/gunit.h"
#include "webrtc/base/stringutils.h"
@ -31,6 +30,7 @@
#include "webrtc/media/engine/webrtcvideoengine2.h"
#include "webrtc/media/engine/webrtcvoiceengine.h"
#include "webrtc/test/field_trial.h"
#include "webrtc/video_encoder.h"
using webrtc::RtpExtension;
@ -3803,6 +3803,7 @@ TEST_F(WebRtcVideoChannel2Test, RedRtxPacketDoesntCreateUnsignalledStream) {
// The first unsignalled SSRC received will create a default receive stream.
// Any different unsignalled SSRC received will replace the default.
TEST_F(WebRtcVideoChannel2Test, ReceiveDifferentUnsignaledSsrc) {
// Allow receiving VP8, VP9, H264 (if enabled).
cricket::VideoRecvParameters parameters;
parameters.codecs.push_back(GetEngineCodec("VP8"));

View file

@ -129,7 +129,6 @@ rtc_static_library("video_coding_utility") {
deps = [
"../..:webrtc_common",
"../../api/video_codecs:video_codecs_api",
"../../base:rtc_base_approved",
"../../base:rtc_numerics",
"../../base:rtc_task_queue",
@ -225,7 +224,6 @@ rtc_static_library("webrtc_vp8") {
deps = [
":video_coding_utility",
"../..:webrtc_common",
"../../api/video_codecs:video_codecs_api",
"../../base:rtc_base_approved",
"../../common_video",
"../../system_wrappers",
@ -324,7 +322,6 @@ if (rtc_include_tests) {
":video_coding_utility",
":webrtc_vp8",
"../..:webrtc_common",
"../../api/video_codecs:video_codecs_api",
"../../base:rtc_base_approved",
"../../common_video:common_video",
"../../system_wrappers:system_wrappers",
@ -531,7 +528,6 @@ if (rtc_include_tests) {
":webrtc_vp9",
"../..:webrtc_common",
"../../api:video_frame_api",
"../../api/video_codecs:video_codecs_api",
"../../base:rtc_base",
"../../base:rtc_base_approved",
"../../base:rtc_task_queue",

View file

@ -13,12 +13,12 @@
#include <memory>
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/event.h"
#include "webrtc/base/thread_annotations.h"
#include "webrtc/test/gtest.h"
#include "webrtc/video_decoder.h"
#include "webrtc/video_encoder.h"
namespace webrtc {

View file

@ -16,10 +16,10 @@
#include <map>
#include <memory>
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/constructormagic.h"
#include "webrtc/common_video/include/video_bitrate_allocator.h"
#include "webrtc/modules/video_coding/codecs/vp8/temporal_layers.h"
#include "webrtc/video_encoder.h"
namespace webrtc {

View file

@ -14,12 +14,12 @@
#include <vector>
#include "webrtc/api/video/video_frame.h"
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/common_types.h"
#include "webrtc/modules/include/module_common_types.h"
#include "webrtc/modules/video_coding/include/video_error_codes.h"
#include "webrtc/typedefs.h"
#include "webrtc/video_decoder.h"
#include "webrtc/video_encoder.h"
namespace webrtc {

View file

@ -14,7 +14,7 @@
#include <utility>
#include "webrtc/common_types.h"
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/video_encoder.h"
#include "webrtc/base/optional.h"
#include "webrtc/base/sequenced_task_checker.h"
#include "webrtc/modules/video_coding/utility/moving_average.h"

View file

@ -8,12 +8,12 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/common_video/include/video_bitrate_allocator.h"
#include "webrtc/common_types.h"
#include "webrtc/modules/video_coding/codecs/vp8/temporal_layers.h"
#include "webrtc/modules/video_coding/include/video_codec_initializer.h"
#include "webrtc/test/gtest.h"
#include "webrtc/video_encoder.h"
namespace webrtc {

View file

@ -145,7 +145,6 @@ rtc_static_library("libjingle_peerconnection") {
":rtc_pc",
"../api:call_api",
"../api:rtc_stats_api",
"../api/video_codecs:video_codecs_api",
"../call",
"../media",
"../stats",

View file

@ -13,15 +13,15 @@
#include "webrtc/sdk/android/src/jni/androidmediaencoder_jni.h"
#include <algorithm>
#include <list>
#include <memory>
#include <string>
#include <utility>
#include <list>
#include "third_party/libyuv/include/libyuv/convert.h"
#include "third_party/libyuv/include/libyuv/convert_from.h"
#include "third_party/libyuv/include/libyuv/video_common.h"
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/sdk/android/src/jni/androidmediacodeccommon.h"
#include "webrtc/sdk/android/src/jni/classreferenceholder.h"
#include "webrtc/sdk/android/src/jni/native_handle_impl.h"
#include "webrtc/base/bind.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
@ -38,11 +38,9 @@
#include "webrtc/modules/video_coding/include/video_codec_interface.h"
#include "webrtc/modules/video_coding/utility/quality_scaler.h"
#include "webrtc/modules/video_coding/utility/vp8_header_parser.h"
#include "webrtc/sdk/android/src/jni/androidmediacodeccommon.h"
#include "webrtc/sdk/android/src/jni/classreferenceholder.h"
#include "webrtc/sdk/android/src/jni/native_handle_impl.h"
#include "webrtc/system_wrappers/include/field_trial.h"
#include "webrtc/system_wrappers/include/logcat_trace_context.h"
#include "webrtc/video_encoder.h"
using rtc::Bind;
using rtc::Thread;
@ -125,7 +123,7 @@ class MediaCodecVideoEncoder : public webrtc::VideoEncoder {
private:
class EncodeTask : public rtc::QueuedTask {
public:
explicit EncodeTask(rtc::WeakPtr<MediaCodecVideoEncoder> encoder);
EncodeTask(rtc::WeakPtr<MediaCodecVideoEncoder> encoder);
bool Run() override;
private:
@ -236,7 +234,7 @@ class MediaCodecVideoEncoder : public webrtc::VideoEncoder {
int64_t stat_start_time_ms_; // Start time for statistics.
int current_frames_; // Number of frames in the current statistics interval.
int current_bytes_; // Encoded bytes in the current statistics interval.
int current_acc_qp_; // Accumulated QP in the current statistics interval.
int current_acc_qp_; // Accumulated QP in the current statistics interval.
int current_encoding_time_ms_; // Overall encoding time in the current second
int64_t last_input_timestamp_ms_; // Timestamp of last received yuv frame.
int64_t last_output_timestamp_ms_; // Timestamp of last encoded frame.
@ -261,10 +259,10 @@ class MediaCodecVideoEncoder : public webrtc::VideoEncoder {
const webrtc::VideoRotation rotation;
};
std::list<InputFrameInfo> input_frame_infos_;
int32_t output_timestamp_; // Last output frame timestamp from
// |input_frame_infos_|.
int64_t output_render_time_ms_; // Last output frame render time from
// |input_frame_infos_|.
int32_t output_timestamp_; // Last output frame timestamp from
// |input_frame_infos_|.
int64_t output_render_time_ms_; // Last output frame render time from
// |input_frame_infos_|.
webrtc::VideoRotation output_rotation_; // Last output frame rotation from
// |input_frame_infos_|.
// Frame size in bytes fed to MediaCodec.
@ -278,8 +276,8 @@ class MediaCodecVideoEncoder : public webrtc::VideoEncoder {
webrtc::H264BitstreamParser h264_bitstream_parser_;
// VP9 variables to populate codec specific structure.
webrtc::GofInfoVP9 gof_; // Contains each frame's temporal information for
// non-flexible VP9 mode.
webrtc::GofInfoVP9 gof_; // Contains each frame's temporal information for
// non-flexible VP9 mode.
uint8_t tl0_pic_idx_;
size_t gof_idx_;
@ -521,9 +519,8 @@ int32_t MediaCodecVideoEncoder::InitEncodeInternal(int width,
ScopedLocalRefFrame local_ref_frame(jni);
const VideoCodecType codec_type = GetCodecType();
ALOGD << "InitEncodeInternal Type: " << static_cast<int>(codec_type) << ", "
<< width << " x " << height << ". Bitrate: " << kbps
<< " kbps. Fps: " << fps;
ALOGD << "InitEncodeInternal Type: " << (int)codec_type << ", " << width
<< " x " << height << ". Bitrate: " << kbps << " kbps. Fps: " << fps;
if (kbps == 0) {
kbps = last_set_bitrate_kbps_;
}
@ -553,10 +550,9 @@ int32_t MediaCodecVideoEncoder::InitEncodeInternal(int width,
input_frame_infos_.clear();
drop_next_input_frame_ = false;
use_surface_ = use_surface;
// TODO(ilnik): Use rand_r() instead to avoid LINT warnings below.
picture_id_ = static_cast<uint16_t>(rand()) & 0x7FFF; // NOLINT
picture_id_ = static_cast<uint16_t>(rand()) & 0x7FFF;
gof_.SetGofInfoVP9(webrtc::TemporalStructureMode::kTemporalStructureMode1);
tl0_pic_idx_ = static_cast<uint8_t>(rand()); // NOLINT
tl0_pic_idx_ = static_cast<uint8_t>(rand());
gof_idx_ = 0;
last_frame_received_ms_ = -1;
frames_received_since_last_key_ = kMinKeyFrameInterval;
@ -680,7 +676,7 @@ int32_t MediaCodecVideoEncoder::Encode(
}
if (frames_encoded_ < kMaxEncodedLogFrames) {
ALOGD << "Encoder frame in # " << (frames_received_ - 1)
<< ". TS: " << static_cast<int>(current_timestamp_us_ / 1000)
<< ". TS: " << (int)(current_timestamp_us_ / 1000)
<< ". Q: " << input_frame_infos_.size() << ". Fps: " << last_set_fps_
<< ". Kbps: " << last_set_bitrate_kbps_;
}
@ -700,7 +696,7 @@ int32_t MediaCodecVideoEncoder::Encode(
if (input_frame_infos_.size() > MAX_ENCODER_Q_SIZE) {
ALOGD << "Already " << input_frame_infos_.size()
<< " frames in the queue, dropping"
<< ". TS: " << static_cast<int>(current_timestamp_us_ / 1000)
<< ". TS: " << (int)(current_timestamp_us_ / 1000)
<< ". Fps: " << last_set_fps_
<< ". Consecutive drops: " << consecutive_full_queue_frame_drops_;
current_timestamp_us_ += rtc::kNumMicrosecsPerSec / last_set_fps_;
@ -1143,13 +1139,14 @@ bool MediaCodecVideoEncoder::DeliverPendingOutputs(JNIEnv* jni) {
frame_encoding_time_ms = rtc::TimeMillis() - encoding_start_time_ms;
}
if (frames_encoded_ < kMaxEncodedLogFrames) {
int current_latency = static_cast<int>(last_input_timestamp_ms_ -
last_output_timestamp_ms_);
ALOGD << "Encoder frame out # " << frames_encoded_
<< ". Key: " << key_frame << ". Size: " << payload_size
<< ". TS: " << static_cast<int>(last_output_timestamp_ms_)
<< ". Latency: " << current_latency
<< ". EncTime: " << frame_encoding_time_ms;
int current_latency =
(int)(last_input_timestamp_ms_ - last_output_timestamp_ms_);
ALOGD << "Encoder frame out # " << frames_encoded_ <<
". Key: " << key_frame <<
". Size: " << payload_size <<
". TS: " << (int)last_output_timestamp_ms_ <<
". Latency: " << current_latency <<
". EncTime: " << frame_encoding_time_ms;
}
// Calculate and print encoding statistics - every 3 seconds.

View file

@ -403,7 +403,6 @@ rtc_source_set("test_common") {
":test_support",
":video_test_common",
"..:webrtc_common",
"../api/video_codecs:video_codecs_api",
"../audio",
"../base:rtc_base_approved",
"../call",

View file

@ -14,7 +14,7 @@
#include <memory>
#include <vector>
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/video_encoder.h"
namespace webrtc {
namespace test {

View file

@ -14,12 +14,12 @@
#include <vector>
#include <memory>
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/sequenced_task_checker.h"
#include "webrtc/base/task_queue.h"
#include "webrtc/common_types.h"
#include "webrtc/system_wrappers/include/clock.h"
#include "webrtc/video_encoder.h"
namespace webrtc {
namespace test {

View file

@ -58,7 +58,6 @@ rtc_static_library("video") {
deps = [
"..:webrtc_common",
"../api:transport_api",
"../api/video_codecs:video_codecs_api",
"../base:rtc_base_approved",
"../base:rtc_numerics",
"../base:rtc_task_queue",
@ -169,7 +168,6 @@ if (rtc_include_tests) {
"replay.cc",
]
deps = [
"../api/video_codecs:video_codecs_api",
"../system_wrappers:metrics_default",
"../test:field_trial",
"../test:run_test",

View file

@ -15,7 +15,6 @@
#include <string>
#include <vector>
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/event.h"
#include "webrtc/base/file.h"
@ -55,6 +54,7 @@
#include "webrtc/test/testsupport/fileutils.h"
#include "webrtc/test/testsupport/perf_test.h"
#include "webrtc/video/transport_adapter.h"
#include "webrtc/video_encoder.h"
#if defined(MEMORY_SANITIZER)
// Flaky under MemorySanitizer, see

View file

@ -13,12 +13,12 @@
#include <vector>
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/constructormagic.h"
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/thread_annotations.h"
#include "webrtc/common_types.h"
#include "webrtc/config.h"
#include "webrtc/video_encoder.h"
#include "webrtc/system_wrappers/include/atomic32.h"
namespace webrtc {

View file

@ -15,7 +15,6 @@
#include <sstream>
#include "gflags/gflags.h"
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/base/checks.h"
#include "webrtc/call/call.h"
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
@ -33,6 +32,7 @@
#include "webrtc/test/video_capturer.h"
#include "webrtc/test/video_renderer.h"
#include "webrtc/typedefs.h"
#include "webrtc/video_decoder.h"
namespace webrtc {
namespace flags {

View file

@ -13,7 +13,6 @@
#include "webrtc/test/gtest.h"
#include "webrtc/test/gmock.h"
#include "webrtc/api/video_codecs/video_decoder.h"
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/event.h"
#include "webrtc/media/base/fakevideorenderer.h"
@ -25,6 +24,7 @@
#include "webrtc/system_wrappers/include/clock.h"
#include "webrtc/system_wrappers/include/sleep.h"
#include "webrtc/test/field_trial.h"
#include "webrtc/video_decoder.h"
using testing::_;
using testing::Invoke;

View file

@ -17,7 +17,6 @@
#include <vector>
#include "webrtc/api/video/video_rotation.h"
#include "webrtc/api/video_codecs/video_encoder.h"
#include "webrtc/base/criticalsection.h"
#include "webrtc/base/event.h"
#include "webrtc/base/sequenced_task_checker.h"
@ -32,6 +31,7 @@
#include "webrtc/system_wrappers/include/atomic32.h"
#include "webrtc/typedefs.h"
#include "webrtc/video/overuse_frame_detector.h"
#include "webrtc/video_encoder.h"
#include "webrtc/video_send_stream.h"
namespace webrtc {

View file

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_API_VIDEO_CODECS_VIDEO_DECODER_H_
#define WEBRTC_API_VIDEO_CODECS_VIDEO_DECODER_H_
#ifndef WEBRTC_VIDEO_DECODER_H_
#define WEBRTC_VIDEO_DECODER_H_
#include <memory>
#include <string>
@ -83,4 +83,4 @@ class VideoDecoder {
} // namespace webrtc
#endif // WEBRTC_API_VIDEO_CODECS_VIDEO_DECODER_H_
#endif // WEBRTC_VIDEO_DECODER_H_

View file

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_API_VIDEO_CODECS_VIDEO_ENCODER_H_
#define WEBRTC_API_VIDEO_CODECS_VIDEO_ENCODER_H_
#ifndef WEBRTC_VIDEO_ENCODER_H_
#define WEBRTC_VIDEO_ENCODER_H_
#include <memory>
#include <string>
@ -189,4 +189,4 @@ class VideoEncoder {
};
} // namespace webrtc
#endif // WEBRTC_API_VIDEO_CODECS_VIDEO_ENCODER_H_
#endif // WEBRTC_VIDEO_ENCODER_H_