From c5c878b8abddf7fbdbe6e7abff8ccac960cdbd46 Mon Sep 17 00:00:00 2001 From: Zhaoliang Ma Date: Wed, 17 Jun 2020 17:40:21 +0800 Subject: [PATCH] vp9_impl: Enable VP9D_SET_LOOP_FILTER_OPT for libvpx vp9 decoder enable this opt can give 20% performance improvement for video decoding with 720P video loopback and fake camera on chromebook sarien. Bug: None Test: ./modules_tests on chromebook sarien Change-Id: I8c6487b291b5861e6ba6b6d55b24d7ddb51c341e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177335 Reviewed-by: Sergey Silkin Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Ilya Nikolaevskiy Cr-Commit-Position: refs/heads/master@{#31543} --- modules/video_coding/codecs/vp9/vp9_impl.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/video_coding/codecs/vp9/vp9_impl.cc b/modules/video_coding/codecs/vp9/vp9_impl.cc index f557594b15..25e0ac7e8d 100644 --- a/modules/video_coding/codecs/vp9/vp9_impl.cc +++ b/modules/video_coding/codecs/vp9/vp9_impl.cc @@ -1710,6 +1710,15 @@ int VP9DecoderImpl::InitDecode(const VideoCodec* inst, int number_of_cores) { return WEBRTC_VIDEO_CODEC_UNINITIALIZED; } } + + vpx_codec_err_t status = + vpx_codec_control(decoder_, VP9D_SET_LOOP_FILTER_OPT, 1); + if (status != VPX_CODEC_OK) { + RTC_LOG(LS_ERROR) << "Failed to enable VP9D_SET_LOOP_FILTER_OPT. " + << vpx_codec_error(decoder_); + return WEBRTC_VIDEO_CODEC_UNINITIALIZED; + } + return WEBRTC_VIDEO_CODEC_OK; }