webrtc/modules/video_coding/codecs
Sergey Silkin b43cd86e64 Increase frame rate precision in libaom AV1 encoder wrapper
Before this change the AV1 encoder wrapper converted target frame rate from double to integer with rounding to the middle. That approach resulted in a bitrate mismatch caused by rounding error. The mismatch was especially high at low frame rates. For example, at target frame rate 1.4fps the bitrate mismatch reached 40%:

out/debug/video_codec_perf_tests --gtest_also_run_disabled_tests --gtest_filter=*EncodeDecode --framerate_fps=1.4 --width=320 --height=180 --bitrate_kbps=32 --num_frames=600
...
RESULT s0t0_bitrate_mismatch_pct: DISABLED_EncodeDecode= {39.171875,0} n%

After the change the mismatch reduced to ~2% in the same scenario:
RESULT s0t0_bitrate_mismatch_pct: DISABLED_EncodeDecode= {-2.178125,0} n%

Bug: b/337757868
Change-Id: Ia51f92b3dfdce103eed1d04cac0e084b69fa8213
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356500
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42601}
2024-07-08 12:00:43 +00:00
..
av1 Increase frame rate precision in libaom AV1 encoder wrapper 2024-07-08 12:00:43 +00:00
h264 Update support for missing HIGH profiles and 1080p 2024-06-25 09:40:15 +00:00
interface Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
test Update support for missing HIGH profiles and 1080p 2024-06-25 09:40:15 +00:00
vp8 Add minimum_qp to VideoEncoder::EncoderInfo 2024-06-28 10:48:22 +00:00
vp9 Revert "Reland "Rewrite simulcast config to equivalent SVC for vp9 simulcast"" 2024-07-03 08:17:24 +00:00