From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: James Zern Date: Mon, 25 Sep 2023 18:55:59 -0700 Subject: [PATCH] VP8: disallow thread count changes Currently allocations are done at encoder creation time. Going from threaded to non-threaded would cause a crash. Bug: chromium:1486441 Change-Id: Ie301c2a70847dff2f0daae408fbef1e4d42e73d4 --- libvpx/vp8/encoder/onyx_if.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libvpx/vp8/encoder/onyx_if.c b/libvpx/vp8/encoder/onyx_if.c index df5bcf688..f3ff77e71 100644 --- a/libvpx/vp8/encoder/onyx_if.c +++ b/libvpx/vp8/encoder/onyx_if.c @@ -1514,6 +1514,14 @@ void vp8_change_config(VP8_COMP *cpi, VP8_CONFIG *oxcf) last_h = cpi->oxcf.Height; prev_number_of_layers = cpi->oxcf.number_of_layers; +#if CONFIG_MULTITHREAD + if (cpi->initial_width) { + // TODO(https://crbug.com/1486441): Allow changing thread counts; the + // allocation is done once in vp8_create_compressor(). + oxcf->multi_threaded = cpi->oxcf.multi_threaded; + } +#endif + cpi->oxcf = *oxcf; switch (cpi->oxcf.Mode)