diff options
author | Marco <marpan@google.com> | 2015-03-12 17:19:43 -0700 |
---|---|---|
committer | Marco <marpan@google.com> | 2015-03-13 11:10:02 -0700 |
commit | e38066a74df096a92f8a14734a632ae360bcb144 (patch) | |
tree | 44bdd17a27997923b7e56ac7298be4b69eb99206 /test/datarate_test.cc | |
parent | deaf661f4548fe29c322801e169bfcfb14f4997a (diff) | |
download | libvpx-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.cc | 11 |
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; |