Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: webrtc/modules/video_coding/codecs/test/video_codec_test.cc

Issue 2726973003: Revert of Add QP for FFmpeg H264 decoder. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_coding/codecs/test/video_codec_test.cc
diff --git a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc b/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
deleted file mode 100644
index d0d86ce4d7a308b58c3283034f11ff7076c146f2..0000000000000000000000000000000000000000
--- a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
+++ /dev/null
@@ -1,115 +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.
- */
-
-#include "webrtc/modules/video_coding/codecs/test/video_codec_test.h"
-
-#include "webrtc/modules/video_coding/include/video_error_codes.h"
-#include "webrtc/test/frame_utils.h"
-#include "webrtc/test/testsupport/fileutils.h"
-
-static const int kEncodeTimeoutMs = 100;
-static const int kDecodeTimeoutMs = 25;
-// Set bitrate to get higher quality.
-static const int kStartBitrate = 300;
-static const int kTargetBitrate = 2000;
-static const int kMaxBitrate = 4000;
-static const int kWidth = 172; // Width of the input image.
-static const int kHeight = 144; // Height of the input image.
-static const int kMaxFramerate = 30; // Arbitrary value.
-
-namespace webrtc {
-
-EncodedImageCallback::Result
-VideoCodecTest::FakeEncodeCompleteCallback::OnEncodedImage(
- const EncodedImage& frame,
- const CodecSpecificInfo* codec_specific_info,
- const RTPFragmentationHeader* fragmentation) {
- rtc::CritScope lock(&test_->encoded_frame_section_);
- test_->encoded_frame_.emplace(frame);
- test_->encoded_frame_event_.Set();
- return Result(Result::OK);
-}
-
-void VideoCodecTest::FakeDecodeCompleteCallback::Decoded(
- VideoFrame& frame,
- rtc::Optional<int32_t> decode_time_ms,
- rtc::Optional<uint8_t> qp) {
- rtc::CritScope lock(&test_->decoded_frame_section_);
- test_->decoded_frame_.emplace(frame);
- test_->decoded_qp_ = qp;
- test_->decoded_frame_event_.Set();
-}
-
-void VideoCodecTest::SetUp() {
- // Using a QCIF image. Processing only one frame.
- FILE* source_file_ =
- fopen(test::ResourcePath("paris_qcif", "yuv").c_str(), "rb");
- ASSERT_TRUE(source_file_ != NULL);
- rtc::scoped_refptr<VideoFrameBuffer> video_frame_buffer(
- test::ReadI420Buffer(kWidth, kHeight, source_file_));
- input_frame_.reset(new VideoFrame(video_frame_buffer, kVideoRotation_0, 0));
- fclose(source_file_);
-
- encoder_.reset(CreateEncoder());
- decoder_.reset(CreateDecoder());
- encoder_->RegisterEncodeCompleteCallback(&encode_complete_callback_);
- decoder_->RegisterDecodeCompleteCallback(&decode_complete_callback_);
-
- InitCodecs();
-}
-
-bool VideoCodecTest::WaitForEncodedFrame(EncodedImage* frame) {
- bool ret = encoded_frame_event_.Wait(kEncodeTimeoutMs);
- EXPECT_TRUE(ret) << "Timed out while waiting for an encoded frame.";
- // This becomes unsafe if there are multiple threads waiting for frames.
- rtc::CritScope lock(&encoded_frame_section_);
- EXPECT_TRUE(encoded_frame_);
- if (encoded_frame_) {
- *frame = std::move(*encoded_frame_);
- encoded_frame_.reset();
- return true;
- } else {
- return false;
- }
-}
-
-bool VideoCodecTest::WaitForDecodedFrame(std::unique_ptr<VideoFrame>* frame,
- rtc::Optional<uint8_t>* qp) {
- bool ret = decoded_frame_event_.Wait(kDecodeTimeoutMs);
- EXPECT_TRUE(ret) << "Timed out while waiting for a decoded frame.";
- // This becomes unsafe if there are multiple threads waiting for frames.
- rtc::CritScope lock(&decoded_frame_section_);
- EXPECT_TRUE(decoded_frame_);
- if (decoded_frame_) {
- frame->reset(new VideoFrame(std::move(*decoded_frame_)));
- *qp = decoded_qp_;
- decoded_frame_.reset();
- return true;
- } else {
- return false;
- }
-}
-
-void VideoCodecTest::InitCodecs() {
- VideoCodec codec_inst = codec_settings();
- codec_inst.startBitrate = kStartBitrate;
- codec_inst.targetBitrate = kTargetBitrate;
- codec_inst.maxBitrate = kMaxBitrate;
- codec_inst.maxFramerate = kMaxFramerate;
- codec_inst.width = kWidth;
- codec_inst.height = kHeight;
- EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
- encoder_->InitEncode(&codec_inst, 1 /* number of cores */,
- 0 /* max payload size (unused) */));
- EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
- decoder_->InitDecode(&codec_inst, 1 /* number of cores */));
-}
-
-} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698