Closed Bug 1916280 Opened 1 year ago Closed 1 year ago

Update libvpx to new version 3ba1fada8b6389549f942eeaff40532d005b0390

Categories

(Core :: Audio/Video, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
132 Branch
Tracking Status
firefox132 --- fixed

People

(Reporter: update-bot, Assigned: chunmin)

Details

(Whiteboard: [3pl-filed][task_id: ep6ylDJpSQi31KyRNASO9Q])

Attachments

(2 files)

This update covers 19 commits. Here are the overall diff statistics, and then the commit information.


media/libvpx/config/generic/vp8_rtcd.h | 2 +-
media/libvpx/config/generic/vp9_rtcd.h | 2 +-
media/libvpx/config/generic/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/generic/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/linux/arm/vp8_rtcd.h | 2 +-
media/libvpx/config/linux/arm/vp9_rtcd.h | 2 +-
media/libvpx/config/linux/arm/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/linux/arm/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/linux/arm64/vp8_rtcd.h | 2 +-
media/libvpx/config/linux/arm64/vp9_rtcd.h | 2 +-
media/libvpx/config/linux/arm64/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/linux/arm64/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/linux/ia32/vp8_rtcd.h | 2 +-
media/libvpx/config/linux/ia32/vp9_rtcd.h | 2 +-
media/libvpx/config/linux/ia32/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/linux/ia32/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/linux/x64/vp8_rtcd.h | 2 +-
media/libvpx/config/linux/x64/vp9_rtcd.h | 2 +-
media/libvpx/config/linux/x64/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/linux/x64/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/mac/arm64/vp8_rtcd.h | 2 +-
media/libvpx/config/mac/arm64/vp9_rtcd.h | 2 +-
media/libvpx/config/mac/arm64/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/mac/arm64/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/mac/ia32/vp8_rtcd.h | 2 +-
media/libvpx/config/mac/ia32/vp9_rtcd.h | 2 +-
media/libvpx/config/mac/ia32/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/mac/ia32/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/mac/x64/vp8_rtcd.h | 2 +-
media/libvpx/config/mac/x64/vp9_rtcd.h | 2 +-
media/libvpx/config/mac/x64/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/mac/x64/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/vpx_version.h | 3 +
media/libvpx/config/win/aarch64/vp8_rtcd.h | 2 +-
media/libvpx/config/win/aarch64/vp9_rtcd.h | 2 +-
media/libvpx/config/win/aarch64/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/win/aarch64/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/win/ia32/vp8_rtcd.h | 2 +-
media/libvpx/config/win/ia32/vp9_rtcd.h | 2 +-
media/libvpx/config/win/ia32/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/win/ia32/vpx_scale_rtcd.h | 2 +-
media/libvpx/config/win/x64/vp8_rtcd.h | 2 +-
media/libvpx/config/win/x64/vp9_rtcd.h | 2 +-
media/libvpx/config/win/x64/vpx_dsp_rtcd.h | 2 +-
media/libvpx/config/win/x64/vpx_scale_rtcd.h | 2 +-
media/libvpx/libvpx/README | 1 +
media/libvpx/libvpx/build/make/rtcd.pl | 3 +-
media/libvpx/libvpx/build/make/version.sh | 3 +
media/libvpx/libvpx/examples.mk | 4 -
media/libvpx/libvpx/examples/resize_util.c | 131 -----
media/libvpx/libvpx/test/resize_util.sh | 69 --
media/libvpx/libvpx/vp8/encoder/firstpass.c | 6 -
media/libvpx/libvpx/vp8/vp8_cx_iface.c | 17 +-
media/libvpx/libvpx/vp9/encoder/vp9_encoder.c | 45 +-
media/libvpx/libvpx/vp9/encoder/vp9_encoder.h | 7 +-
media/libvpx/libvpx/vp9/encoder/vp9_ratectrl.c | 30 +-
media/libvpx/libvpx/vp9/encoder/vp9_resize.c | 80 ---
media/libvpx/libvpx/vp9/encoder/vp9_resize.h | 33 -
media/libvpx/libvpx/vp9/encoder/vp9_speed_features.h | 2 +-
media/libvpx/libvpx/vp9/encoder/vp9_svc_layercontext.c | 20 +-
media/libvpx/libvpx/vp9/encoder/vp9_temporal_filter.c | 410 ++++++++++++----
media/libvpx/libvpx/vp9/encoder/vp9_tpl_model.c | 31 +-
media/libvpx/libvpx/vp9/vp9_cx_iface.c | 47 +-
media/libvpx/libvpx/vpx/vp8cx.h | 22 +-
media/libvpx/libvpx/vpx/vpx_codec.h | 4 +-
media/libvpx/libvpx/vpx/vpx_ext_ratectrl.h | 2 +
media/libvpx/libvpx/vpx_dsp/ssim.c | 15 -
media/libvpx/libvpx/vpx_dsp/vpx_dsp_common.h | 8 +
media/libvpx/libvpx/vpx_dsp/vpx_dsp_rtcd_defs.pl | 3 -
media/libvpx/libvpx/vpx_dsp/x86/ssim_opt_x86_64.asm | 92 +---
media/libvpx/libvpx/vpx_ports/aarch64_cpudetect.c | 4 +-
media/libvpx/libvpx/vpx_ports/mem.h | 2 +-
media/libvpx/libvpx/vpx_ports/x86.h | 12 +-
media/libvpx/libvpx/vpxenc.c | 5 +
media/libvpx/moz.yaml | 4 +-
75 files changed, 503 insertions(+), 700 deletions(-)


fbf63dff1f528d44f24bd662abb89fd01a4a1c25 by Marco Paniconi <marpan@google.com>

https://chromium.googlesource.com/webm/libvpx/+/fbf63dff1f528d44f24bd662abb89fd01a4a1c25
Authored: 2024-08-27 17:06:26 -0700
Committed: 2024-08-28 14:48:57 +0000

vp9: clamp the calculation of sb64_target_rate to INT_MAX

Bug: b/361617762
Change-Id: Ie7d2b0973e6de23d6e992ee058cbb94b826fda65

Files Modified:

  • vp9/encoder/vp9_ratectrl.c

507aea8e2926ca4fdaf826f9c123586d602972a4 by James Zern <jzern@google.com>

https://chromium.googlesource.com/webm/libvpx/+/507aea8e2926ca4fdaf826f9c123586d602972a4
Authored: 2024-08-27 17:38:43 -0700
Committed: 2024-08-27 17:38:43 -0700

vp9_speed_features.h: fix partition_search_type comment

FIXED_SIZE_PARTITION -> FIXED_PARTITION

Change-Id: I5e6a561042d7dfa87d6f11b033052d340e433440

Files Modified:

  • vp9/encoder/vp9_speed_features.h

50aa6cca4d627d60d807f46639ad01fbd2ee302e by James Zern <jzern@google.com>

https://chromium.googlesource.com/webm/libvpx/+/50aa6cca4d627d60d807f46639ad01fbd2ee302e
Authored: 2024-08-26 15:30:01 -0700
Committed: 2024-08-26 15:30:01 -0700

README: add security report note

The default template for https://issues.webmproject.org/ is a public bug
report. Security issues can be reported securely using the 'Security
report' template.

Change-Id: Ic7144a6c7a144772b78852d1415a51a570c79d50

Files Modified:

  • README

f00fa3ce7426e4e7342844919cae1630d02328a8 by Wan-Teh Chang <wtc@google.com>

https://chromium.googlesource.com/webm/libvpx/+/f00fa3ce7426e4e7342844919cae1630d02328a8
Authored: 2024-08-22 16:05:37 -0700
Committed: 2024-08-23 00:35:45 +0000

Add macro name as comment for header guard #endif

Change-Id: I948f21f414fc269ad03673636506fa83acf5f5f6

Files Modified:

  • build/make/rtcd.pl

35b908f8081a794c03b5f4634401720113b10206 by Wan-Teh Chang <wtc@google.com>

https://chromium.googlesource.com/webm/libvpx/+/35b908f8081a794c03b5f4634401720113b10206
Authored: 2024-08-22 14:40:16 -0700
Committed: 2024-08-22 14:40:16 -0700

Add #ifndef header guard to vpx_version.h

Change-Id: Ief028037a3a56b1f18998298ad594a86cf906bd3

Files Modified:

  • build/make/version.sh

2c778f4da61c4127c778c2e98bf394d7e19506b2 by James Zern <jzern@google.com>

https://chromium.googlesource.com/webm/libvpx/+/2c778f4da61c4127c778c2e98bf394d7e19506b2
Authored: 2024-08-21 19:03:46 -0700
Committed: 2024-08-21 19:22:48 -0700

remove vp9_{highbd_,}resize_frame*()

and examples/resize_util.c. These functions were added in:
3cd37dfeb Adds a non-normative resize library to vp9 encoder
but never used meaningfully in the library.

This mirrors the change in libaom:
d10029bb4b Restore function prototype of av1_resize_frame420
except that vp9_resize_frame420() was never exported in the shared
library, so can be deleted along with the rest.

The reasoning for removing examples/resize_util.c is the same: it is not
useful and examples should use the public functions of the libvpx
library.

Change-Id: I386080d3f1a3ef81dfc87fcdf5bbdf459d996f03

Files Deleted:

  • examples/resize_util.c
  • test/resize_util.sh

Files Modified:

  • examples.mk
  • vp9/encoder/vp9_resize.c
  • vp9/encoder/vp9_resize.h

312a9004c1413ddbbec1e6769349f17d79e4566e by James Zern <jzern@google.com>

https://chromium.googlesource.com/webm/libvpx/+/312a9004c1413ddbbec1e6769349f17d79e4566e
Authored: 2024-08-20 17:47:07 -0700
Committed: 2024-08-20 17:47:07 -0700

remove vpx_ssim_parms_16x16()

The last reference to this function was removed in:
5511968f2 Removed several unused functions.

Change-Id: I644482b4f0c9c4765035adcdc21ec495e3e3a6e6

Files Modified:

  • vpx_dsp/ssim.c
  • vpx_dsp/vpx_dsp_rtcd_defs.pl
  • vpx_dsp/x86/ssim_opt_x86_64.asm

a5ea71f0919cf0670c832ddc36fec4c7d9b8ed84 by Yunqing Wang <yunqingwang@google.com>

https://chromium.googlesource.com/webm/libvpx/+/a5ea71f0919cf0670c832ddc36fec4c7d9b8ed84
Authored: 2024-08-15 18:12:56 -0700
Committed: 2024-08-19 17:59:58 +0000

Key frame temporal filtering

Added key frame temporal filtering. Enabled it for VOD encoding
with encoder speed < 2.
Minor improvement in prediction.
Added the restriction of using no more than "arnr_max_frames"
frames for temporal filtering.
Key frame temporal filtering is turned off by default for now. To
enable it, set "--enable-keyframe-filtering=1"

Borg result with "--enable-keyframe-filtering=1"
avg_psnr: ovr_psnr: ssim: vmaf:
hdres2: -0.762 -0.863 -0.903 -0.680
midres2: -0.813 -0.753 -0.757 -0.743
lowres2: -0.492 -0.598 -0.737 -0.881
The impact on the encoder time is minimal.

Change-Id: If6abea3e21efcb96f1978cd9dfaa742c40dc2a56

Files Modified:

  • vp9/encoder/vp9_encoder.c
  • vp9/encoder/vp9_encoder.h
  • vp9/encoder/vp9_temporal_filter.c
  • vp9/vp9_cx_iface.c
  • vpx/vp8cx.h
  • vpxenc.c

5d20cc308109e1f6da150ebb148abe14b4e4bf5e by Jerome Jiang <jianj@google.com>

https://chromium.googlesource.com/webm/libvpx/+/5d20cc308109e1f6da150ebb148abe14b4e4bf5e
Authored: 2024-08-19 11:05:38 -0400
Committed: 2024-08-19 11:05:38 -0400

IWYU: include vp9_ext_ratectrl.h for tpl

Change-Id: Ia00dc7f79a69eb73c85fb409418861bef459e863

Files Modified:

  • vp9/encoder/vp9_tpl_model.c

ee2552d9035dd7b0e328e37fefc29a88d8e5ae06 by Jerome Jiang <jianj@google.com>

https://chromium.googlesource.com/webm/libvpx/+/ee2552d9035dd7b0e328e37fefc29a88d8e5ae06
Authored: 2024-08-16 17:16:29 -0400
Committed: 2024-08-16 17:16:29 -0400

vp9 ext rc: TPL & final encoding use same QP

Removed codec control VP9E_ENABLE_EXTERNAL_RC_TPL since it is
no longer needed.

Change-Id: I151254ff3f0496c017ddf73c2caf94783ef38f31

Files Modified:

  • vp9/encoder/vp9_encoder.h
  • vp9/encoder/vp9_tpl_model.c
  • vp9/vp9_cx_iface.c
  • vpx/vp8cx.h

a69eeb0af252d8da60b9dcf6e25051e2e13c0753 by Jerome Jiang <jianj@google.com>

https://chromium.googlesource.com/webm/libvpx/+/a69eeb0af252d8da60b9dcf6e25051e2e13c0753
Authored: 2024-08-16 14:18:33 -0400
Committed: 2024-08-16 16:50:21 -0400

ext rc: Override encode QP in TPL pass for VBR

Change-Id: I8f32b5847b57313d00401f5596ed62ac7c4817f0

Files Modified:

  • vp9/encoder/vp9_encoder.c

d9d6c5e2c9e2b9f5826ce0030fa63bb21399fa96 by Jerome Jiang <jianj@google.com>

https://chromium.googlesource.com/webm/libvpx/+/d9d6c5e2c9e2b9f5826ce0030fa63bb21399fa96
Authored: 2024-08-16 13:52:55 -0400
Committed: 2024-08-16 13:54:02 -0400

Remove ext_rc_recode

This flag is always set to 0

Change-Id: I228b3befae478517e7b31228d4a6553af4fd7a27

Files Modified:

  • vp9/encoder/vp9_encoder.c

95568674c2822ef64b4bee226503c1f8fd54b18f by James Zern <jzern@google.com>

https://chromium.googlesource.com/webm/libvpx/+/95568674c2822ef64b4bee226503c1f8fd54b18f
Authored: 2024-08-15 16:25:16 -0700
Committed: 2024-08-16 16:43:45 +0000

remove redundant && __GNUC__ preproc check

#if defined(__GNUC__) is enough if a specific version isn't being
looked for.

Bug: aomedia:356832974
Change-Id: I3fcbecf9d547c6a2d89d7b5456e83ee08ddc6f5e

Files Modified:

  • vpx/vpx_codec.h
  • vpx_ports/mem.h
  • vpx_ports/x86.h

fcd1f39e569eeb8d9956ab6f44193c55a7337e76 by Yunqing Wang <yunqingwang@google.com>

https://chromium.googlesource.com/webm/libvpx/+/fcd1f39e569eeb8d9956ab6f44193c55a7337e76
Authored: 2024-08-07 09:30:33 -0700
Committed: 2024-08-09 23:05:32 +0000

Improve temporal filter prediction and process

Applied 12-tap filter to temporal filter prediction for better
result. Improved the calculation of frames to be used in temporal
filtering.

The overall PSNR gain was -0.511% (lowres), -0.338% (midres), and
-0.288% (hdres).
Encoder time was increased by ~2%, which would be largely reduced
by the following SIMD optimization.

Change-Id: If3ece30f1614beadc99ebf6b4dc3f2d988d3bdb9

Files Modified:

  • vp9/encoder/vp9_temporal_filter.c

13be4a7190b65cb57f3ba2962e9036b416fa0b48 by Jerome Jiang <jianj@google.com>

https://chromium.googlesource.com/webm/libvpx/+/13be4a7190b65cb57f3ba2962e9036b416fa0b48
Authored: 2024-08-09 09:33:42 -0400
Committed: 2024-08-09 18:02:00 +0000

Remove a stale TODO in ext RC

Change-Id: Ie871a476a7a0b04cf88db17da8402dad1c3247f7

Files Modified:

  • vp9/vp9_cx_iface.c

b222d722851ce46d89586b7e17ffb84dd0e0d1a7 by Wan-Teh Chang <wtc@google.com>

https://chromium.googlesource.com/webm/libvpx/+/b222d722851ce46d89586b7e17ffb84dd0e0d1a7
Authored: 2024-08-08 11:29:29 -0700
Committed: 2024-08-08 11:42:03 -0700

Add the saturate_cast_double_to_int() function

Move the saturate_cast_double_to_int() function in
vp8/encoder/firstpass.c to vpx_dsp/vpx_dsp_common.h so that it can be
used in other files.

Change-Id: I748fea969520542dca68d7a46500d3272f22e16f

Files Modified:

  • vp8/encoder/firstpass.c
  • vp9/encoder/vp9_ratectrl.c
  • vp9/encoder/vp9_svc_layercontext.c
  • vpx_dsp/vpx_dsp_common.h

c18b9f7c687182d378823b348f42c1986a6f2179 by Jerome Jiang <jianj@google.com>

https://chromium.googlesource.com/webm/libvpx/+/c18b9f7c687182d378823b348f42c1986a6f2179
Authored: 2024-08-08 10:24:29 -0400
Committed: 2024-08-08 10:24:29 -0400

Add min/max q index to ext rc config

Change-Id: I5d152f3b0868e78c6b33fe651c6a40597b42feef

Files Modified:

  • vp9/vp9_cx_iface.c
  • vpx/vpx_ext_ratectrl.h

634e1f8fb196f0e04c0dceae7043e8a12a0d31f9 by James Zern <jzern@google.com>

https://chromium.googlesource.com/webm/libvpx/+/634e1f8fb196f0e04c0dceae7043e8a12a0d31f9
Authored: 2024-08-05 13:00:13 -0700
Committed: 2024-08-08 02:37:47 +0000

vp9_calc_iframe_target_size_one_pass_cbr: clamp final target

to INT_MAX. This matches calc_iframe_target_size() in VP8
(http://crbug.com/1473473). If rc->avg_frame_bandwidth is large even
small kf_boost values will overflow an int.

Change-Id: Iaca5b47fe97793ae70930b3b2c2f42725d2c96fb

Files Modified:

  • vp9/encoder/vp9_ratectrl.c

bb95d3652becde246bfc78635a14774067cf5127 by James Zern <jzern@google.com>

https://chromium.googlesource.com/webm/libvpx/+/bb95d3652becde246bfc78635a14774067cf5127
Authored: 2024-08-06 10:44:59 -0700
Committed: 2024-08-06 11:31:25 -0700

update libwebm to libwebm-1.0.0.31-10-g3b63004

This fixes a build error seen in gcc 15:
3b63004 mkvparser/mkvparser.cc: add missing <cstdint> include

Bug: aomedia:357622679
Change-Id: I6c4a1795d189f9993d4f2c5c9f0375912bc58f0c

Files Modified:

  • third_party/libwebm/README.libvpx
  • third_party/libwebm/mkvmuxer/mkvmuxerutil.h
  • third_party/libwebm/mkvparser/mkvparser.cc

Updatebot encountered an error while trying to submit to phabricator.
Updatebot will be unable to do anything more for this library version.

Flags: needinfo?(cchang)

This patch updates the libvpx source by running
./mach vendor media/libvpx/moz.yaml --patch-mode=none

This patch modifies the libvpx code by running
./mach vendor media/libvpx/moz.yaml --patch-mode=only

Depends on D221341

Flags: needinfo?(cchang)
Summary: Update libvpx to new version fbf63dff1f528d44f24bd662abb89fd01a4a1c25 from 2024-09-04 00:00:00 → Update libvpx to new version 3ba1fada8b6389549f942eeaff40532d005b0390
Assignee: nobody → cchang
Status: NEW → ASSIGNED
Pushed by cchang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/99061f12ed87 Update libvpx to 3ba1fada8b6389549f942eeaff40532d005b0390 r=media-playback-reviewers,webrtc-reviewers,padenot,pehrsons https://hg.mozilla.org/integration/autoland/rev/529be4f0ee1b Apply local patches r=media-playback-reviewers,webrtc-reviewers,padenot,pehrsons
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: