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..57bfcff7386ce8f9bda204d5bcfb568ae520f96d 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,19 @@ 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 ation, no cropping needed. |
pbos-webrtc
2016/05/31 14:14:02
ratio
nisse-webrtc
2016/06/01 09:15:18
Done.
|
+ RTC_DCHECK_EQ(image.width() * config_.codec_settings->height, |
+ image.height() * config_.codec_settings->width); |
+ |
+ up_image->CropAndScale(image.video_frame_buffer(), 0, 0, |
pbos-webrtc
2016/05/31 14:14:02
Should this be the center crop?
nisse-webrtc
2016/06/01 09:15:18
This code used to use the Scaler class, which alwa
pbos-webrtc
2016/06/01 15:55:41
I just meant that the center crop method has easie
nisse-webrtc
2016/06/02 09:00:06
I see you point, but it's a bit strange to call a
|
+ image.width(), image.height()); |
// 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); |