Restrict max number of threads in dav1d settings

Dav1d expects Dav1dSettings::n_threads to be in range [0,256]. http://google3/third_party/dav1d/src/lib.c;l=130;rcl=674317898

Bug: none
Change-Id: I4a7dfd15be733b84809aa1fc496b261d097ca5e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370800
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43516}
This commit is contained in:
Sergey Silkin 2024-12-09 12:58:55 +01:00 committed by WebRTC LUCI CQ
parent 15543544b9
commit 93f5f9e867

View File

@ -84,7 +84,7 @@ bool Dav1dDecoder::Configure(const Settings& settings) {
Dav1dSettings s;
dav1d_default_settings(&s);
s.n_threads = std::max(2, settings.number_of_cores());
s.n_threads = std::clamp(settings.number_of_cores(), 1, DAV1D_MAX_THREADS);
s.max_frame_delay = 1; // For low latency decoding.
s.all_layers = 0; // Don't output a frame for every spatial layer.
// Limit max frame size to avoid OOM'ing fuzzers. crbug.com/325284120.