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

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

Issue 2020593002: Refactor scaling. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Trivial rebase. Created 4 years, 6 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/videoprocessor.cc
diff --git a/webrtc/modules/video_coding/codecs/test/videoprocessor.cc b/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
index 9a9a0ddf16576e9232bdd9998c1cfe53bb5d1a6d..1f7d738dc53ad9996b9cd06864d779fc0c192d8c 100644
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
@@ -66,8 +66,7 @@ VideoProcessorImpl::VideoProcessorImpl(webrtc::VideoEncoder* encoder,
num_dropped_frames_(0),
num_spatial_resizes_(0),
last_encoder_frame_width_(0),
- last_encoder_frame_height_(0),
- scaler_() {
+ last_encoder_frame_height_(0) {
assert(encoder);
assert(decoder);
assert(frame_reader);
@@ -335,23 +334,16 @@ void VideoProcessorImpl::FrameDecoded(const VideoFrame& image) {
// upsample back to original size: needed for PSNR and SSIM computations.
if (image.width() != config_.codec_settings->width ||
image.height() != config_.codec_settings->height) {
- VideoFrame up_image;
- int ret_val = scaler_.Set(
- image.width(), image.height(), config_.codec_settings->width,
- config_.codec_settings->height, kI420, kI420, kScaleBilinear);
- assert(ret_val >= 0);
- if (ret_val < 0) {
- fprintf(stderr, "Failed to set scalar for frame: %d, return code: %d\n",
- frame_number, ret_val);
- }
- ret_val = scaler_.Scale(image, &up_image);
- assert(ret_val >= 0);
- if (ret_val < 0) {
- fprintf(stderr, "Failed to scale frame: %d, return code: %d\n",
- frame_number, ret_val);
- }
+ rtc::scoped_refptr<I420Buffer> up_image(
+ new rtc::RefCountedObject<I420Buffer>(config_.codec_settings->width,
+ config_.codec_settings->height));
+
+ // Should be the same aspect ratio, no cropping needed.
+ up_image->ScaleFrom(image.video_frame_buffer());
+
// TODO(mikhal): Extracting the buffer for now - need to update test.
- size_t length = CalcBufferSize(kI420, up_image.width(), up_image.height());
+ size_t length =
+ CalcBufferSize(kI420, up_image->width(), up_image->height());
std::unique_ptr<uint8_t[]> image_buffer(new uint8_t[length]);
int extracted_length = ExtractBuffer(up_image, length, image_buffer.get());
assert(extracted_length > 0);

Powered by Google App Engine
This is Rietveld 408576698