vp8enc/vp8enc: set 1 for the default value of VP8E_SET_STATIC_THRESHOLD
authorJulien Isorce <jisorce@oblong.com>
Mon, 27 Jan 2020 23:17:27 +0000 (15:17 -0800)
committerNicolas Dufresne <nicolas@ndufresne.ca>
Tue, 28 Jan 2020 02:41:50 +0000 (02:41 +0000)
commit88ce7397fcbe1e9724728798af5905d00ee2d8a5
tree04cd147b2327aec5bcce551fe8f005c4c99ea7c0
parent83e9d4f70ddf7e06d01bc741970c08ab733da645
vp8enc/vp8enc: set 1 for the default value of VP8E_SET_STATIC_THRESHOLD

In Google webrtc, the setting VP8E_SET_STATIC_THRESHOLD is set to 1
(except when the content is known to be static very often in which
case it is set to 100, i.e. when sharing screen with Google Hangouts).

The cpu usage drops a lot when using 1 for above setting because it
allows the encoder to skip static/low content blocks. The current
0 default value uses too much cpu and confuses the user regarding
the cpu usage expectations. User expects vp8enc to use low cpu by
default.

Documentation of VP8E_SET_STATIC_THRESHOLD:
  https://github.com/webmproject/libvpx/blob/master/vpx/vp8cx.h#L188

chromium/webrtc:
  https://chromium.googlesource.com/external/webrtc/+/b484ec0082948ae086c2ba4142b4d2bf8bc4dd4b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc#822

Closes #58
ext/vpx/gstvpxenc.c