summaryrefslogtreecommitdiff
path: root/test/datarate_test.cc
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2015-03-12 17:19:43 -0700
committerMarco <marpan@google.com>2015-03-13 11:10:02 -0700
commite38066a74df096a92f8a14734a632ae360bcb144 (patch)
tree44bdd17a27997923b7e56ac7298be4b69eb99206 /test/datarate_test.cc
parentdeaf661f4548fe29c322801e169bfcfb14f4997a (diff)
downloadlibvpx-e38066a74df096a92f8a14734a632ae360bcb144.tar
libvpx-e38066a74df096a92f8a14734a632ae360bcb144.tar.gz
libvpx-e38066a74df096a92f8a14734a632ae360bcb144.tar.bz2
libvpx-e38066a74df096a92f8a14734a632ae360bcb144.zip
Fix crash with vp9 denoiser on.
Crash occured on very first key frame, because denoiser temporal function was beng entered. Updated denoiser unittest to set cpu_used from first frame, and verified fix fixes the crash. Change-Id: I3be1124b52846fbbe7248d2c3d6136e086c80bc1
Diffstat (limited to 'test/datarate_test.cc')
-rw-r--r--test/datarate_test.cc11
1 files changed, 4 insertions, 7 deletions
diff --git a/test/datarate_test.cc b/test/datarate_test.cc
index 94efeae97..fc9e1f425 100644
--- a/test/datarate_test.cc
+++ b/test/datarate_test.cc
@@ -44,9 +44,8 @@ class DatarateTestLarge : public ::libvpx_test::EncoderTest,
virtual void PreEncodeFrameHook(::libvpx_test::VideoSource *video,
::libvpx_test::Encoder *encoder) {
- if (video->frame() == 1) {
+ if (video->frame() == 0)
encoder->Control(VP8E_SET_NOISE_SENSITIVITY, denoiser_on_);
- }
if (denoiser_offon_test_) {
ASSERT_GT(denoiser_offon_period_, 0)
@@ -353,7 +352,7 @@ class DatarateTestVP9Large : public ::libvpx_test::EncoderTest,
virtual void PreEncodeFrameHook(::libvpx_test::VideoSource *video,
::libvpx_test::Encoder *encoder) {
- if (video->frame() == 1)
+ if (video->frame() == 0)
encoder->Control(VP8E_SET_CPUUSED, set_cpu_used_);
if (denoiser_offon_test_) {
@@ -368,7 +367,7 @@ class DatarateTestVP9Large : public ::libvpx_test::EncoderTest,
encoder->Control(VP9E_SET_NOISE_SENSITIVITY, denoiser_on_);
if (cfg_.ts_number_layers > 1) {
- if (video->frame() == 1) {
+ if (video->frame() == 0) {
encoder->Control(VP9E_SET_SVC, 1);
}
vpx_svc_layer_id_t layer_id = {0, 0};
@@ -376,9 +375,7 @@ class DatarateTestVP9Large : public ::libvpx_test::EncoderTest,
frame_flags_ = SetFrameFlags(video->frame(), cfg_.ts_number_layers);
layer_id.temporal_layer_id = SetLayerId(video->frame(),
cfg_.ts_number_layers);
- if (video->frame() > 0) {
- encoder->Control(VP9E_SET_SVC_LAYER_ID, &layer_id);
- }
+ encoder->Control(VP9E_SET_SVC_LAYER_ID, &layer_id);
}
const vpx_rational_t tb = video->timebase();
timebase_ = static_cast<double>(tb.num) / tb.den;