Henrik Boström
a6fbb35ac1
Fix LibvpxVp9Encoder simulcast bug.
...
As of [1], a single VP9 encoder instance can produce simulcast 4:2:1.
When it does, the EncodedImage has its simulcast index set (0, 1, 2).
The bug is that if you then go back to a single encoder instance,
either because you're doing singlecast or because you're doing
simulcast with scaling factors that are not power of two (not 4:2:1),
then the simulcast index which was previously set to 2 is not reset due
to the old code path never calling SetSimulcastIndex.
Example repro:
1. Send VP9 simulcast {180p, 360p, 720p}, i.e. 4:2.1.
2. Reconfigure to {180p, 360p, 540p}, i.e. no longer 4:2:1.
What should happen: all three layers are sent.
What actually happened: 180p is not sent and the 540p layer flips flops
between 180p and 540p because the EncodedImage says simulcast index is
2 for both encodings[0] and encodings[2].
The fix is a one-line change: `SetSimulcastIndex(std::nullopt)` in the
case that we don't have a `simulcast_to_svc_converter_` that sets it
(0, 1, 2) for us.
[1] https://webrtc-review.googlesource.com/c/src/+/360280
Bug: chromium:370299916
Change-Id: I52bd4428bd12528f0e98869ec61626c06f589b43
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363941
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43109}
2024-09-30 14:20:15 +00:00
..
2023-06-09 14:14:12 +00:00
2024-05-16 10:39:10 +00:00
2024-09-19 21:41:02 +00:00
2023-11-13 13:23:04 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2022-06-15 09:47:38 +00:00
2023-11-13 13:23:04 +00:00
2024-09-19 21:41:02 +00:00
2023-06-29 09:32:04 +00:00
2024-09-02 12:16:47 +00:00
2024-09-09 18:44:21 +00:00
2024-09-02 12:16:47 +00:00
2024-06-07 06:41:51 +00:00
2024-06-07 09:47:26 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2021-04-19 19:32:23 +00:00
2023-05-03 11:09:26 +00:00
2023-03-12 17:28:14 +00:00
2023-09-05 11:37:32 +00:00
2024-09-19 21:41:02 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2023-12-14 21:01:04 +00:00
2022-08-03 14:16:35 +00:00
2022-09-09 10:44:17 +00:00
2022-09-09 10:44:17 +00:00
2021-07-30 22:13:59 +00:00
2024-07-23 17:23:45 +00:00
2023-11-13 13:23:04 +00:00
2024-09-02 12:16:47 +00:00
2022-10-12 11:23:22 +00:00
2023-11-13 13:23:04 +00:00
2021-02-10 15:04:55 +00:00
2022-03-10 18:36:43 +00:00
2022-02-24 11:05:06 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2022-02-24 11:05:06 +00:00
2024-06-07 06:41:51 +00:00
2024-09-02 12:16:47 +00:00
2024-08-26 17:24:15 +00:00
2023-03-24 07:44:18 +00:00
2024-09-02 12:16:47 +00:00
2024-09-09 18:44:21 +00:00
2024-09-09 18:44:21 +00:00
2024-09-02 12:16:47 +00:00
2024-09-27 21:45:18 +00:00
2024-09-09 18:44:21 +00:00
2022-11-14 12:10:06 +00:00
2024-09-27 21:45:18 +00:00
2024-09-27 21:45:18 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2022-06-15 09:47:38 +00:00
2024-07-29 07:17:14 +00:00
2022-05-30 13:05:03 +00:00
2021-11-02 11:51:31 +00:00
2024-09-30 09:22:39 +00:00
2024-09-30 14:07:42 +00:00
2024-09-17 12:31:25 +00:00
2022-04-20 13:18:33 +00:00
2022-04-20 13:18:33 +00:00
2022-04-21 12:32:17 +00:00
2022-02-15 21:55:59 +00:00
2023-11-13 13:23:04 +00:00
2022-06-15 09:47:38 +00:00
2022-04-21 12:32:17 +00:00
2023-01-30 20:09:07 +00:00
2024-09-02 12:16:47 +00:00
2024-04-22 08:56:31 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-30 14:20:15 +00:00
2024-09-02 12:16:47 +00:00
2023-11-13 13:23:04 +00:00
2024-09-22 18:30:29 +00:00
2024-07-29 07:17:14 +00:00
2024-07-29 07:17:14 +00:00
2024-08-30 08:08:39 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-16 13:22:38 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2022-11-11 10:29:25 +00:00
2022-11-11 10:29:25 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-07-09 10:30:26 +00:00
2024-06-07 06:41:51 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-17 12:31:25 +00:00
2024-09-02 12:16:47 +00:00
2024-06-07 09:47:26 +00:00
2024-09-10 08:29:26 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-27 21:45:18 +00:00
2024-09-27 21:45:18 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2023-11-13 13:23:04 +00:00
2024-09-02 12:16:47 +00:00
2021-07-30 22:13:59 +00:00
2021-08-11 21:50:08 +00:00
2021-11-15 21:44:59 +00:00
2024-07-03 12:27:55 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-06-05 08:59:49 +00:00
2024-09-02 12:16:47 +00:00
2024-04-25 07:54:28 +00:00
2024-09-03 11:56:22 +00:00
2024-09-03 11:56:22 +00:00
2024-09-19 10:18:13 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-03 11:56:22 +00:00
2024-09-03 11:56:22 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-07-30 15:07:25 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-19 10:18:13 +00:00
2024-09-19 10:18:13 +00:00
2024-09-17 12:31:25 +00:00
2024-09-02 12:16:47 +00:00
2022-02-24 11:05:06 +00:00
2021-01-29 16:14:10 +00:00
2022-02-24 11:05:06 +00:00
2023-05-03 11:09:26 +00:00
2024-02-08 14:34:04 +00:00
2022-01-25 08:25:50 +00:00
2022-01-25 08:25:50 +00:00
2023-09-18 10:09:02 +00:00
2024-09-02 12:16:47 +00:00
2023-09-18 10:09:02 +00:00
2024-09-02 12:16:47 +00:00
2024-09-19 21:41:02 +00:00
2024-09-19 21:41:02 +00:00
2024-09-19 21:41:02 +00:00
2024-09-19 21:41:02 +00:00
2024-09-19 21:41:02 +00:00
2024-09-19 21:41:02 +00:00
2022-04-20 13:18:33 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-27 21:45:18 +00:00
2020-10-09 08:29:45 +00:00
2021-07-30 22:13:59 +00:00
2024-02-08 12:52:58 +00:00
2024-02-08 12:52:58 +00:00
2023-11-13 13:23:04 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2024-09-02 12:16:47 +00:00
2023-03-24 07:44:18 +00:00
2023-03-24 07:44:18 +00:00
2022-03-18 16:17:24 +00:00
2024-09-02 12:16:47 +00:00
2023-03-24 07:44:18 +00:00
2024-09-02 12:16:47 +00:00
2022-06-15 09:47:38 +00:00
2022-09-09 10:44:17 +00:00
2024-09-02 12:16:47 +00:00
2024-09-12 21:26:48 +00:00
2024-09-02 12:16:47 +00:00
2024-05-16 10:22:23 +00:00
2024-09-17 12:31:25 +00:00
2024-09-17 12:31:25 +00:00