Closed Bug 1875882 Opened 10 months ago Closed 9 months ago

Update libvpx to new version 43e1c8bf10733917e99b2c8da5ab08bf6d01fbf9 from 2024-01-22 00:00:00

Categories

(Core :: Audio/Video, enhancement)

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1880814
Tracking Status
firefox124 --- affected

People

(Reporter: update-bot, Unassigned)

Details

(Whiteboard: [3pl-filed][task_id: TJKEXKGvS-a17iYXTI9wPQ])

Attachments

(2 obsolete files)

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


media/libvpx/libvpx/.mailmap | 3 +-
media/libvpx/libvpx/AUTHORS | 11 +-
media/libvpx/libvpx/CHANGELOG | 76 +++++++++-
media/libvpx/libvpx/README | 2 -
media/libvpx/libvpx/build/make/configure.sh | 21 ++-
media/libvpx/libvpx/configure | 4 +
media/libvpx/libvpx/examples/vp9_spatial_svc_encoder.c | 9 +-
media/libvpx/libvpx/libs.mk | 4 +-
media/libvpx/libvpx/test/android/get_files.py | 17 +-
media/libvpx/libvpx/test/encode_api_test.cc | 136 ++++++++++++++++-
media/libvpx/libvpx/test/variance_test.cc | 17 +-
media/libvpx/libvpx/test/video_source.h | 2 +-
media/libvpx/libvpx/test/vp8_datarate_test.cc | 25 +++-
media/libvpx/libvpx/tools_common.c | 26 ++-
media/libvpx/libvpx/vp8/encoder/onyx_if.c | 32 ++-
media/libvpx/libvpx/vp8/encoder/ratectrl.c | 29 ++-
media/libvpx/libvpx/vp8/vp8_cx_iface.c | 17 +-
media/libvpx/libvpx/vp9/encoder/vp9_encoder.c | 35 ++--
media/libvpx/libvpx/vp9/encoder/vp9_encoder.h | 2 +-
media/libvpx/libvpx/vp9/encoder/vp9_ext_ratectrl.c | 38 ++--
media/libvpx/libvpx/vp9/encoder/vp9_firstpass.c | 2 +-
media/libvpx/libvpx/vp9/encoder/vp9_quantize.c | 1 +
media/libvpx/libvpx/vp9/encoder/vp9_ratectrl.c | 23 ++-
media/libvpx/libvpx/vp9/simple_encode.cc | 12 +
media/libvpx/libvpx/vp9/vp9_cx_iface.c | 19 +-
media/libvpx/libvpx/vpx/src/vpx_image.c | 4 +-
media/libvpx/libvpx/vpx/vp8cx.h | 2 +
media/libvpx/libvpx/vpx/vpx_encoder.h | 12 +-
media/libvpx/libvpx/vpx/vpx_ext_ratectrl.h | 2 +-
media/libvpx/libvpx/vpx_dsp/arm/dot_neon_sve_bridge.h | 41 +++++
media/libvpx/libvpx/vpx_dsp/arm/highbd_variance_sve.c | 75 +++++++++
media/libvpx/libvpx/vpx_dsp/vpx_dsp.mk | 2 +
media/libvpx/libvpx/vpx_dsp/vpx_dsp.mk.orig | 2 +
media/libvpx/libvpx/vpx_dsp/vpx_dsp_rtcd_defs.pl | 24 +-
media/libvpx/moz.yaml | 4 +-
35 files changed, 579 insertions(+), 152 deletions(-)


43e1c8bf10733917e99b2c8da5ab08bf6d01fbf9 by James Zern

https://chromium.googlesource.com/webm/libvpx/+/43e1c8bf10733917e99b2c8da5ab08bf6d01fbf9
Authored: 2024-01-17 11:32:38 -0800
Committed: 2024-01-22 18:04:03 +0000

encode_api_test,RandomPixelsVp8: fix stack overflow

Observed when built using Visual Studio 2019.

Move 720P image allocation to the heap.

Bug: webm:1831
Change-Id: I4e343af08d2f282618ad1b328a39d7dba5e79654

Files Modified:

  • test/encode_api_test.cc
  • test/video_source.h

eeb1be7f23eee652372df4fa3b14cf542ee2c040 by Wan-Teh Chang

https://chromium.googlesource.com/webm/libvpx/+/eeb1be7f23eee652372df4fa3b14cf542ee2c040
Authored: 2024-01-18 17:45:37 -0800
Committed: 2024-01-19 11:48:46 -0800

Support VPX_IMG_FMT_NV12 in vpx_img_read/write

read_yuv_frame() supports VPX_IMG_FMT_NV12. Port its code to
vpx_img_read() and vpx_img_write().

The code in vp9/simple_encode.cc, including img_read(), doesn't support
VPX_IMG_FMT_NV12. Check before the vpx_img_alloc() calls and abort the
process if the image format is VPX_IMG_FMT_NV12.

Bug: chromium:1510090
Change-Id: Ie77e29c2c9ee7a01e6a59c8ad3cbcc769d9f2d4c

Files Modified:

  • tools_common.c
  • vp9/simple_encode.cc
  • vpx/src/vpx_image.c

d3a946de8cf47f96b45f8903286b0f2d47f66114 by Wan-Teh Chang

https://chromium.googlesource.com/webm/libvpx/+/d3a946de8cf47f96b45f8903286b0f2d47f66114
Authored: 2024-01-18 18:02:55 -0800
Committed: 2024-01-19 19:43:26 +0000

Make img_alloc_helper() fail on VPX_IMG_FMT_NONE

If fmt is VPX_IMG_FMT_NONE, currently img_alloc_helper() allocates a
single plane because VPX_IMG_FMT_NONE (0) is not a planar format (the
VPX_IMG_FMT_PLANAR bit is not set in VPX_IMG_FMT_NONE).

Although this seems correct, the problem is that most of the code in
libvpx assumes planar formats and is likely to dereference a null
pointer when it uses img->planes[1]. Also, VPX_IMG_FMT_NONE isn't really
a valid image format. So it is safer to make img_alloc_helper() fail if
fmt is VPX_IMG_FMT_NONE.

Change-Id: I05b47f4b5eceb631a02384b2cce1c2f6fdca8673

Files Modified:

  • vpx/src/vpx_image.c

db6a5c09cefe4b42c1f474c45898453394041769 by James Zern

https://chromium.googlesource.com/webm/libvpx/+/db6a5c09cefe4b42c1f474c45898453394041769
Authored: 2024-01-18 15:43:40 -0800
Committed: 2024-01-18 15:44:19 -0800

README: remove library version

This often falls out of sync with the release and the version is already
contained in CHANGELOG.

Bug: webm:1833
Change-Id: Ieee6ca40249bf6e77037fbec30d87b109ca8fe21

Files Modified:

  • README

71a5cb6e8adb1c08bda4357133913d3fdc15e574 by Gerda Zsejke More

https://chromium.googlesource.com/webm/libvpx/+/71a5cb6e8adb1c08bda4357133913d3fdc15e574
Authored: 2024-01-14 19:50:51 +0100
Committed: 2024-01-17 21:38:54 +0000

Add SVE implementation of HBD MSE functions

Add SVE implementation of MSE functions for 10-, 12- bit depth. Add
the corresponding tests as well.

An implementation was not added for 8 bit depth as the Neon DotProd
version is faster than the SVE implementation.

Change-Id: I0c5712ba2735a2879a0aa3a9a52980032fddc7a6

Files Added:

  • vpx_dsp/arm/highbd_variance_sve.c

Files Modified:

  • test/variance_test.cc
  • vpx_dsp/vpx_dsp.mk
  • vpx_dsp/vpx_dsp_rtcd_defs.pl

b95d17572629c676bdcfd535fb3990b9f6f8fb11 by Marco Paniconi

https://chromium.googlesource.com/webm/libvpx/+/b95d17572629c676bdcfd535fb3990b9f6f8fb11
Authored: 2024-01-17 16:06:17 +0000
Committed: 2024-01-17 18:33:32 +0000

vp9-rtc: Fix to reset on scene change for temporal layers

Revert the part of the fix regarding temporal layers in:
https://chromium-review.googlesource.com/c/webm/libvpx/+/5191480

Keep it as it was for now until further testing.

Change-Id: If747aabf907ba93cc20bcc067d2ca8f7758a91dd

Files Modified:

  • vp9/encoder/vp9_ratectrl.c

e001eeb5bcdfefba2f6e85b7307e410383af5d57 by Gerda Zsejke More

https://chromium.googlesource.com/webm/libvpx/+/e001eeb5bcdfefba2f6e85b7307e410383af5d57
Authored: 2024-01-16 16:21:42 +0100
Committed: 2024-01-17 18:15:17 +0000

Enable Neon Dotprod impl for HBD MSE

Enable Neon Dotprod 8-bit high bitdepth implementation for MSE
function as it is now not called with bit depth 10 or 12.

Bug: webm:1819
Change-Id: I9d1d506401aa0523fba2d8ea4978dc00fdacbb95

Files Modified:

  • test/variance_test.cc
  • vpx_dsp/vpx_dsp.mk
  • vpx_dsp/vpx_dsp_rtcd_defs.pl

41e0655e5e612726633cc38d92c0257f9f0dc2dd by Gerda Zsejke More

https://chromium.googlesource.com/webm/libvpx/+/41e0655e5e612726633cc38d92c0257f9f0dc2dd
Authored: 2024-01-16 16:13:50 +0100
Committed: 2024-01-17 18:15:17 +0000

Fix highbd_get_block_variance_fn input parameter

Instead of always calling highbd_get_block_variance_fn with bit depth
8 use the macroblock's bit depth.

Bug: webm:1819
Change-Id: Ib4b19703384e897ee9ffeef73a11a8af2d262558

Files Modified:

  • vp9/encoder/vp9_firstpass.c

25f03e456f27fedefe393f056ea8079c074f09c8 by Marco Paniconi

https://chromium.googlesource.com/webm/libvpx/+/25f03e456f27fedefe393f056ea8079c074f09c8
Authored: 2024-01-16 19:38:51 +0000
Committed: 2024-01-16 19:49:06 +0000

vp9-svc: Fix to sample encoder for mismatch check

Don't check for mismatch for superframes whose
top spatial layer resolution was dropped.

Change-Id: I0abef43a710f0fb52ba2490fc784e57cda9952a0

Files Modified:

  • examples/vp9_spatial_svc_encoder.c

cc306fac749979a29255e06a7bc774a43ed4262a by Marco Paniconi

https://chromium.googlesource.com/webm/libvpx/+/cc306fac749979a29255e06a7bc774a43ed4262a
Authored: 2024-01-12 07:22:34 +0000
Committed: 2024-01-16 15:49:10 +0000

vp9-svc: Fix to max-q on scene change for svc

For svc with no inter-layer prediction: reset
the RC and force max_qp on all spatial layers
on scene/slide changes. In the current code it was only
reset on current spatial layer because it was assumed
we can predict off lower spatial layer to avoid
prediction across scene change. But this does not apply
when inter-layer prediction is off on delta frames.

Also reset only up to current temporal layer.
Because of the hierarchical prediction structure
only the lower temporal layers need the RC to be reset.

This helps to reduce excessive frame drops for the
full_superframe_drop mode.

Change-Id: I76925681850b82aa7fff7f9b1c1a0a605cf3cf3b

Files Modified:

  • vp9/encoder/vp9_ratectrl.c

8aeb5848a5dee766330ff407b150fc6f4ff8566b by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/8aeb5848a5dee766330ff407b150fc6f4ff8566b
Authored: 2024-01-12 14:42:27 -0500
Committed: 2024-01-12 21:26:42 +0000

Do not use TPL QP from RC for final encoding

Bug: b/316610379
Change-Id: Ie7c6f8be0132602155102a72a16b2ee94c1c3dbd

Files Modified:

  • vp9/encoder/vp9_encoder.c

0eecce72b295a5d5a9a0aad09d97f324fe8d3ca3 by James Zern

https://chromium.googlesource.com/webm/libvpx/+/0eecce72b295a5d5a9a0aad09d97f324fe8d3ca3
Authored: 2024-01-11 16:33:53 -0800
Committed: 2024-01-11 16:33:53 -0800

vp9_quantize.c: add missing include for get_msb()

clears a clang-tidy warning

Change-Id: Iaf58775084e758246a8fe0a4828ae954ea95f5b1

Files Modified:

  • vp9/encoder/vp9_quantize.c

0a91e18ecabfb40a2862bb740c6ab7283b9edac0 by James Zern

https://chromium.googlesource.com/webm/libvpx/+/0a91e18ecabfb40a2862bb740c6ab7283b9edac0
Authored: 2024-01-11 16:30:21 -0800
Committed: 2024-01-11 16:30:21 -0800

vp8_datarate_test.cc: add missing include

for VPX_CODEC_USE_PSNR. This clears a clang-tidy warning. vpx_encoder.h
exports vpx_codec.h so it shouldn't be necessary.

Change-Id: I863b6f8689eeef59cd9eadf3cdc177247a0653f8

Files Modified:

  • test/vp8_datarate_test.cc

43bd5679507be19e883d68da52702296ab1738cd by Marco Paniconi

https://chromium.googlesource.com/webm/libvpx/+/43bd5679507be19e883d68da52702296ab1738cd
Authored: 2024-01-11 04:07:03 +0000
Committed: 2024-01-11 23:05:47 +0000

vp8: Fix to integer division by zero and overflow

This can happen in the setting of the frame
target size for delta frames, for non-CBR mode
(end_usage != USAGE_STREAM_FROM_SERVER) and with
temporal layers.

In calc_pframe_target_size(): the percent_high
(factor to adjust the target_size) may end up dividing
bits_off_target by total_byte_count. The total_byte_count
is define per layer for temporal layers, so it will be zero
for delta frames if the enhancement layer has never been
encoded before.

Since percent_high is capped to over_shoot_pct, the proposed
fix is to apply this cap if total_byte_count is zero.
Also this CL fixes a few integer overflow issues in setting
the layer target_bandwidth, the recale function, and in
setting target_bits_per_mb.

Unittest is added by Wan-Teh which triggers this issue.

Bug: chromium:1514684

Change-Id: I091158e720ece75d7ab9b7c4d18d30a5783102ab

Files Modified:

  • test/encode_api_test.cc
  • vp8/encoder/onyx_if.c
  • vp8/encoder/ratectrl.c

aeb4928c6838cd83a137eacfe0d37d9cd1713f63 by Gerda Zsejke More

https://chromium.googlesource.com/webm/libvpx/+/aeb4928c6838cd83a137eacfe0d37d9cd1713f63
Authored: 2023-12-05 15:36:40 +0100
Committed: 2024-01-11 19:26:52 +0000

Add SVE 16-bit dot-product helper functions

Add header file containing helper functions to make use of SVE
dot-product intrinsics via the Neon-SVE bridge.

Change-Id: I6cd198f8202559672817cbc19f890db35c03d3ff

Files Added:

  • vpx_dsp/arm/dot_neon_sve_bridge.h

0801bfca3f65b234d2b9f308b80aaf7f8aeedbef by Salome Thirot

https://chromium.googlesource.com/webm/libvpx/+/0801bfca3f65b234d2b9f308b80aaf7f8aeedbef
Authored: 2023-12-15 16:41:39 +0000
Committed: 2024-01-11 18:26:28 +0000

Add -flax-vector-conversions=none to Clang builds

GCC already does not allow implicit vector type conversions by default,
add -flax-vector-conversions=none to Clang builds to have the same
behavior.

Change-Id: I9d1adb836377077cf48818c80fe71025e2d2bdc7

Files Modified:

  • configure

e03c9d2a62ce3a865f377ac3992e7d31200e5c59 by Zoltan Kuscsik

https://chromium.googlesource.com/webm/libvpx/+/e03c9d2a62ce3a865f377ac3992e7d31200e5c59
Authored: 2024-01-11 13:04:37 +0100
Committed: 2024-01-11 18:25:39 +0000

Update of get_files.py to support Python3.x

Change-Id: I92aeb2a060338bdfc0083602b837b99181a8421c

Files Modified:

  • test/android/get_files.py

6ea3b51ec2853dbdf5508618ab7cd7d1d719f453 by Gerda Zsejke More

https://chromium.googlesource.com/webm/libvpx/+/6ea3b51ec2853dbdf5508618ab7cd7d1d719f453
Authored: 2024-01-10 10:24:11 +0100
Committed: 2024-01-11 18:23:46 +0000

Require Arm Neon-SVE bridge header for enabling SVE

Disable SVE feature if arm_neon_sve_bridge header is not supported
by the compiler.

Change-Id: I3f78be2dd95b37b8d51b9f1fceca1f9701535eca

Files Modified:

  • build/make/configure.sh

756b29a776002b313cd8474dc18a3e76686bc849 by Marco Paniconi

https://chromium.googlesource.com/webm/libvpx/+/756b29a776002b313cd8474dc18a3e76686bc849
Authored: 2024-01-08 23:46:11 +0000
Committed: 2024-01-11 00:07:08 +0000

vp8: Fix to race issue for multi-thread with pnsr_calc

Added unitest which triggers the data race in the
bug below, when only C code is forced.

The data race is between the loopfilter and variance
computation from generate_psnr_packet calculation.
Proposed fix is to move the wait for loopfilter thread to
finish up before entering generate_psnr_packet().

Bug: b/266833179.

Change-Id: Id2871c53274be0f404e65601c9a5c98aaead0c72

Files Modified:

  • test/vp8_datarate_test.cc
  • vp8/encoder/onyx_if.c

aef73b22cbd4caa8e4fa85a709174edb1af0fa78 by Wan-Teh Chang

https://chromium.googlesource.com/webm/libvpx/+/aef73b22cbd4caa8e4fa85a709174edb1af0fa78
Authored: 2024-01-10 11:59:17 -0800
Committed: 2024-01-10 21:42:45 +0000

Make encoder know frame size increase from config

Equivalent to the change to av1_change_config() in the libaom CL
https://aomedia-review.googlesource.com/c/aom/+/182413.

Because we call alloc_compressor_data() only if
cm->mi_alloc_size < new_mi_size, this change won't cause
alloc_compressor_data() to be called unnecessarily, unlike the libaom
bug https://crbug.com/aomedia/3526.

Bug: b:317105128
Change-Id: I8a772a1d5c4766846641a6d541a6d861bf76c60f

Files Modified:

  • test/encode_api_test.cc
  • vp9/encoder/vp9_encoder.c

c5f808670983dbb5a224cca352cdd0d26804e59d by Wan-Teh Chang

https://chromium.googlesource.com/webm/libvpx/+/c5f808670983dbb5a224cca352cdd0d26804e59d
Authored: 2024-01-05 13:50:12 -0800
Committed: 2024-01-09 21:18:26 +0000

Move VPX_TPL_ABI_VERSION to the ext RC ABI version

The VpxTpl* structs defined in vpx_tpl.h are only used by the external
rate control library. Add a VPX_TPL_ABI_VERSION component to
VPX_EXT_RATECTRL_ABI_VERSION and remove the VPX_TPL_ABI_VERSION
component from VPX_ENCODER_ABI_VERSION.

The current value of VPX_TPL_ABI_VERSION is 2. It is subtracted from
VPX_EXT_RATECTRL_ABI_VERSION and added to VPX_ENCODER_ABI_VERSION so
that the values of those two macros stay the same.

Add a note to explain why VPX_ENCODER_ABI_VERSION has a
VPX_EXT_RATECTRL_ABI_VERSION component.

Change-Id: I680b8522dc04328cd51df6de590fdec75ca88ae8

Files Modified:

  • vpx/vpx_encoder.h
  • vpx/vpx_ext_ratectrl.h

602e2e8979d111b02c959470da5322797dd96a19 by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/602e2e8979d111b02c959470da5322797dd96a19
Authored: 2024-01-09 16:12:22 -0500
Committed: 2024-01-09 16:12:22 -0500

Fix a typo in changelog for v1.14.0

Bug: webm:1833
Change-Id: I8133f678cf4231f2d048c61e42622b883897712a

Files Modified:

  • CHANGELOG

469150a92215c7a1c248282105e4d5b08b63ffdc by Hari Limaye

https://chromium.googlesource.com/webm/libvpx/+/469150a92215c7a1c248282105e4d5b08b63ffdc
Authored: 2023-12-13 17:20:06 +0000
Committed: 2024-01-09 20:38:58 +0000

configure: add -arch flag when targeting darwin23

Commit db83435 introduced support for configuring for *-darwin23-gcc.
However configuring for *-darwin23-gcc does not currently add the
-arch flag to CFLAGS/LDFLAGS, so correct this here.

Change-Id: Ieeda1a5039ad40590dfcdcc6ba615a1d1697d54d

Files Modified:

  • build/make/configure.sh

2b1f6859f63ed874b27dc386e7d531536520e1ab by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/2b1f6859f63ed874b27dc386e7d531536520e1ab
Authored: 2024-01-08 12:42:01 -0500
Committed: 2024-01-09 09:18:35 -0500

Update version

Before release:
c-a=8, a=0, r=1 -> c=8, a=0, r=1

After release:

  • If the library source code has changed at all since the last
    update, then increment revision:
    c=8, a=0, r=r+1=2

  • If any interfaces have been added, removed, or changed since
    the last update, increment current, and set revision to 0:
    c=c+1=9, a=0, r=0

  • If any interfaces have been added since the last public release,
    then increment age:
    c=9, a=a+1=1, r=0

  • If any interfaces have been removed or changed since the last
    public release, then set age to 0:
    c=9, a=0, r=0 (VpxTpl* structure changes)

MAJOR=c-a=9
MINOR=a=0
PATCH=r=0

Bug: webm:1833
Change-Id: Id24c9a0ff415a6f625d17b6098cdd0baf27432e3

Files Modified:

  • libs.mk

e32df98af592b646590cf2a865d737400568ef5d by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/e32df98af592b646590cf2a865d737400568ef5d
Authored: 2024-01-04 15:23:38 -0500
Committed: 2024-01-04 15:23:38 -0500

Update changelog with vp9 ext rc

Bug: webm:1833
Change-Id: I7e6e1da7965f098c8b62c55a09619d0bf703b516

Files Modified:

  • CHANGELOG

3b3e8b5f2991ad0b2ca184d244db15a1f9ae476c by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/3b3e8b5f2991ad0b2ca184d244db15a1f9ae476c
Authored: 2024-01-03 15:45:33 -0500
Committed: 2024-01-04 13:49:03 -0500

vp9 ext rc: if->assert, more comment for TPL ctrl

Change if to assertion in vp9_extrc_get_encodeframe_decision

Clarify comment for VP9E_ENABLE_EXTERNAL_RC_TPL that
rc_type | VPX_RC_QP must be non zero for this control to work.

Change-Id: I2c54cf7eda1f0f12f4ff7ac929e8e6a1fdd2215d

Files Modified:

  • vp9/encoder/vp9_ext_ratectrl.c
  • vpx/vp8cx.h

1474e3c72997b9e4d38f1ed5fc8f09a7493c78eb by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/1474e3c72997b9e4d38f1ed5fc8f09a7493c78eb
Authored: 2024-01-03 11:11:41 -0500
Committed: 2024-01-03 11:11:41 -0500

Return error if TPL related interface isn't set

Bug: b/316610379
Change-Id: I391d9ef308a1c2d763b124e451ebb22a05060102

Files Modified:

  • vp9/encoder/vp9_encoder.h
  • vp9/encoder/vp9_ratectrl.c

22b17dc3fbe56278ce998a9efe06642694bcfc7d by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/22b17dc3fbe56278ce998a9efe06642694bcfc7d
Authored: 2024-01-02 11:12:04 -0500
Committed: 2024-01-02 16:05:38 -0500

Update changelog

Bug: webm:1833
Change-Id: I90ffd457cafe705a040f9a63b870da66c076076e

Files Modified:

  • CHANGELOG

b8b6b4d4cc5c51deef4811f9e7d84559b35c16dc by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/b8b6b4d4cc5c51deef4811f9e7d84559b35c16dc
Authored: 2023-12-15 15:49:01 -0500
Committed: 2023-12-18 12:23:32 -0500

Remove VP9E_GET_TPL_STATS

This is never used.
A callback in external rc func was added and used instead.

Change-Id: Iade6f361072f0c28af98904baf457d2f0e9ca904
(cherry picked from commit 41ced868a69625372c95ff0b2bd5f90987516c3b)

Files Modified:

  • test/encode_api_test.cc
  • vp9/vp9_cx_iface.c
  • vpx/vp8cx.h

d0e2c30aa4bf3170e50e3cbbe4c7180d8b9ffe17 by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/d0e2c30aa4bf3170e50e3cbbe4c7180d8b9ffe17
Authored: 2023-12-14 10:45:25 -0500
Committed: 2023-12-14 23:52:30 +0000

Update AUTHORS and .mailmap

Bug: webm:1833
Change-Id: I4569b9dc1ec1c70458120bebc45b2c963796ed87

Files Modified:

  • .mailmap
  • AUTHORS

0c2314d82ebb28309783b676bde449f88803d2e4 by Hari Limaye

https://chromium.googlesource.com/webm/libvpx/+/0c2314d82ebb28309783b676bde449f88803d2e4
Authored: 2023-12-13 17:20:06 +0000
Committed: 2023-12-14 20:23:26 +0000

configure: add -arch flag when targeting darwin23

Commit db83435 introduced support for configuring for *-darwin23-gcc.
However configuring for *-darwin23-gcc does not currently add the
-arch flag to CFLAGS/LDFLAGS, so correct this here.

Change-Id: Ieeda1a5039ad40590dfcdcc6ba615a1d1697d54d

Files Modified:

  • build/make/configure.sh

7be2dadc76c46d6a6cdaf25ada407a89be176c8e by James Zern

https://chromium.googlesource.com/webm/libvpx/+/7be2dadc76c46d6a6cdaf25ada407a89be176c8e
Authored: 2023-12-04 13:25:01 -0800
Committed: 2023-12-11 21:24:10 +0000

README: update target list

Change-Id: I001179ce34b2bf2350dce5f0197b6be175ab1c37
(cherry picked from commit f9b7c857683cb1d033b9d6a13e92843e6d8740a3)

Files Modified:

  • README

6bb806b177b133edde6be45fadfa3e0d453376f3 by Cheng Chen

https://chromium.googlesource.com/webm/libvpx/+/6bb806b177b133edde6be45fadfa3e0d453376f3
Authored: 2023-12-04 15:34:50 -0800
Committed: 2023-12-08 21:34:57 +0000

Update frame size in actual encoding

Issue explanation:
The unit test calls set_config function twice after encoding the
first frame.
The first call of set_config reduces frame width, but is still within
half of the first frame.
The second call reduces frame width even more, making is less than
half of the first frame, which according to the encoder logic,
there is no valid ref frames, and this frame should be set as a
forced keyframe. This leads to null pointer access in scale_factors
later.

Solution:
To make sure the correct detection of a forced key frame,
we need to update the frame width and height only when the actual
encoding is performed.

Bug: b/311985118

Change-Id: Ie2cd3b760d4a4b399845693d7421c4eb11a12775
(cherry picked from commit 1ed56a46b3f6b18e1fb89a091e60d80ae20eec01)

Files Modified:

  • test/encode_api_test.cc
  • vp9/encoder/vp9_encoder.c
  • vp9/encoder/vp9_encoder.h
  • vp9/vp9_cx_iface.c

75d7727f58ddf751b4333a4df94cab1fd920a35c by Yunqing Wang

https://chromium.googlesource.com/webm/libvpx/+/75d7727f58ddf751b4333a4df94cab1fd920a35c
Authored: 2023-12-06 14:24:07 -0800
Committed: 2023-12-08 19:29:46 +0000

Fix a bug in simple motion search

This change fixed a bug revealed by b/311294795.
In simple motion search, the reference buffer pointer needs to be
restored after the search. Otherwise, it causes problems while the
reference frame scaling happens. This CL fixes the bug.

Bug: b/311294795
Change-Id: I093722d5888de3cc6a6542de82a6ec9d601f897d
(cherry picked from commit 50ed636e49db2b8fa2436413480f11ab1f2a2d1a)

Files Modified:

  • test/encode_api_test.cc
  • vp9/encoder/vp9_encodeframe.c

36b2dec5eebaffde48e9eee3bd39cee4f6bb6c4b by Jerome Jiang

https://chromium.googlesource.com/webm/libvpx/+/36b2dec5eebaffde48e9eee3bd39cee4f6bb6c4b
Authored: 2023-12-06 10:35:18 -0500
Committed: 2023-12-08 19:29:46 +0000

Set pred buffer stride correctly

Bug: b/312875957
Change-Id: I2eb5ab86d5fe30079b3ed1cbdb8b45bb2dc72a1d
(cherry picked from commit 585798f756d60bef3761d76700f3a14e8d5d46d9)

Files Modified:

  • test/encode_api_test.cc
  • vp9/common/vp9_reconinter.c

eba5ceb9d1ca12117aa50116a452786d92e32969 by Bohan Li

https://chromium.googlesource.com/webm/libvpx/+/eba5ceb9d1ca12117aa50116a452786d92e32969
Authored: 2023-12-04 13:12:46 -0800
Committed: 2023-12-08 02:12:17 +0000

Improve test comments.

Change-Id: I42dddb946193e30cf07e39b43eaad051c5da479a
(cherry picked from commit 9ad598f249ee5af0ad211797063fba6de8d1ff80)

Files Modified:

  • test/encode_api_test.cc

c884b2e60e6e4a98144fc8154851e9a35082a1bc by Marco Paniconi

https://chromium.googlesource.com/webm/libvpx/+/c884b2e60e6e4a98144fc8154851e9a35082a1bc
Authored: 2023-12-05 11:59:15 -0800
Committed: 2023-12-08 01:45:50 +0000

Add unittest for issue b/314857577

Bug: b/314857577

Change-Id: I591036c1ad3362023686d395adb4783c51baa62d
(cherry picked from commit 12e928cb342d1d4cc8ac3c71b26da45e4488cb88)

Files Modified:

  • test/encode_api_test.cc

6fca4de48eaa110ada3ca849f445ca3754fb869a by Wan-Teh Chang

https://chromium.googlesource.com/webm/libvpx/+/6fca4de48eaa110ada3ca849f445ca3754fb869a
Authored: 2023-12-05 14:29:37 -0800
Committed: 2023-12-08 00:34:23 +0000

Remove SSE code for 128x* blocks

The maximum block size is 64x64 in VP9.

Bug: webm:1819
Change-Id: If9802be9f81b51dbcdbc8a68d5afe48ca6d3d0e7
(cherry picked from commit c4c92080545970899488ab27944792a95c7131a2)

Files Modified:

  • vpx_dsp/arm/highbd_sse_neon.c
  • vpx_dsp/arm/sse_neon.c
  • vpx_dsp/arm/sse_neon_dotprod.c
  • vpx_dsp/x86/sse_avx2.c
  • vpx_dsp/x86/sse_sse4.c

0d5811e4effb62672ec60aed5bd21553af158791 by Wan-Teh Chang

https://chromium.googlesource.com/webm/libvpx/+/0d5811e4effb62672ec60aed5bd21553af158791
Authored: 2023-09-28 09:26:58 -0700
Committed: 2023-12-08 00:34:23 +0000

Use vpx_sse instead of vpx_mse to compute SSE

Use vpx_sse and vpx_highbd_sse instead of vpx_mse16x16 and
vpx_highbd_8_mse16x16 respectively to compute SSE for PSNR
calculations. This solves an issue whereby vpx_highbd_8_mse16x16
was being used to calculate SSE for 10- and 12-bit input.

This is a port of the libaom CL
https://aomedia-review.googlesource.com/c/aom/+/175063
by Jonathan Wright <jonathan.wright@arm.com>.

Bug: webm:1819
Change-Id: I37e3ac72835e67ccb44ac89a4ed16df62c2169a7
(cherry picked from commit 7dfe343199381bddddc5eaa648e947876979b61b)

Files Modified:

  • vpx_dsp/psnr.c

c64a85d25afe01a3aac14980314836ee22281cb5 by James Zern

https://chromium.googlesource.com/webm/libvpx/+/c64a85d25afe01a3aac14980314836ee22281cb5
Authored: 2023-12-06 10:54:21 -0800
Committed: 2023-12-07 20:45:55 +0000

vp9_frame_scale.c,cosmetics: funnction -> function

Change-Id: I8ecbd52037ff096f5c84c834b193b0a34c55a8b7
(cherry picked from commit 2f258fdee1b2dc276d973cde6bd2f81c63f13155)

Files Modified:

  • vp9/encoder/vp9_frame_scale.c

c3b821fd4a76d2ad3d1582ed9fa1221375b5c242 by Wan-Teh Chang

https://chromium.googlesource.com/webm/libvpx/+/c3b821fd4a76d2ad3d1582ed9fa1221375b5c242
Authored: 2023-11-30 14:27:06 -0800
Committed: 2023-12-06 18:57:20 -0500

Add the needed Android API level predicates.

fseeko and ftello are available on Android only from API level 24. Add
the needed guards for these functions.

Suggested by Yifan Yang.

Change-Id: I3a6721d31e1d961ab10b434ea6e92959bd5a70ab
(cherry picked from commit bf0755418357237f6ea4794dfab3c474d06a0937)

Files Modified:

  • tools_common.h

ebca0ab6fa7862d3e511bf579446c5bc6f70bf4f by Yunqing Wang

https://chromium.googlesource.com/webm/libvpx/+/ebca0ab6fa7862d3e511bf579446c5bc6f70bf4f
Authored: 2023-12-04 17:32:51 -0800
Committed: 2023-12-06 16:22:35 -0500

Fix a bug in frame scaling

This change fixed a corner case bug reealed by b/311394513.
During the frame scaling, vpx_highbd_convolve8() and vpx_scaled_2d()
requires both x_step_q4 and y_step_q4 are less than or equal to a
defined value. Otherwise, it needs to call vp9_scale_and_extend_
frame_nonnormative() that supports arbitrary scaling.

The fix was done in LBD and HBD funnctions.

Bug: b/311394513
Change-Id: Id0d34e7910ec98859030ef968ac19331488046d4
(cherry picked from commit 8bf3649d410cd68076e532e697f34dcec3f87ce7)

Files Modified:

  • test/encode_api_test.cc
  • vp9/encoder/vp9_encoder.c
  • vp9/encoder/vp9_encoder.h
  • vp9/encoder/vp9_frame_scale.c

ffd533161ab3e95333351c977325ca615f9690c9 by Bohan Li

https://chromium.googlesource.com/webm/libvpx/+/ffd533161ab3e95333351c977325ca615f9690c9
Authored: 2023-11-30 16:18:25 -0800
Committed: 2023-12-06 16:22:24 -0500

Fix edge case when downsizing to one.

BUG: b/310329177
Change-Id: I2ebf4165adbc7351d6cc73554827812dedc4d362
(cherry picked from commit a9f1bfdb8e93a742da9a14d4a9d3b1d847edd70d)

Files Modified:

  • test/encode_api_test.cc
  • vp9/encoder/vp9_resize.c

5d49fa1f017091ec5105b1b783c9b1e1d31ee0b0 by Angie Chiang

https://chromium.googlesource.com/webm/libvpx/+/5d49fa1f017091ec5105b1b783c9b1e1d31ee0b0
Authored: 2023-11-22 17:09:14 -0800
Committed: 2023-12-06 16:22:10 -0500

Set skip_recode=0 in nonrd_pick_sb_modes

Need to set skip_recode properly so that
vp9_encode_block_intra() can work properly when it is
called by block_rd_txfm(). We can not skip "recode" because
it is still at the rd search stage.

Bug: b/310340241
Change-Id: I7d7600ef72addd341636549c2dad1868ad90e1cb
(cherry picked from commit f10481dc0a49b5d53428560de2a2eee43f9ed60f)

Files Modified:

  • test/encode_api_test.cc
  • vp9/encoder/vp9_encodeframe.c

6f1001a894cfdd1977dc7069d3a599b26ef04260 by Bohan Li

https://chromium.googlesource.com/webm/libvpx/+/6f1001a894cfdd1977dc7069d3a599b26ef04260
Authored: 2023-11-30 15:49:38 -0800
Committed: 2023-12-06 14:01:33 -0500

Fix scaled reference offsets.

Since the reference frame is already scaled, do not scale the offsets.

BUG: b/311489136, b/312656387
Change-Id: Ib346242e7ec8c4d3ed26668fa4094271218278ed
(cherry picked from commit 845a817c056c05e8fe7ae9298be47b949d8aceee)

Files Modified:

  • test/encode_api_test.cc
  • vp9/encoder/vp9_encodeframe.c

a05cfd672d4b4d89e7ed0f0d645fa014c99793c3 by Gerda Zsejke More

https://chromium.googlesource.com/webm/libvpx/+/a05cfd672d4b4d89e7ed0f0d645fa014c99793c3
Authored: 2023-11-28 11:32:42 +0100
Committed: 2023-12-06 13:57:50 -0500

configure: Add darwin23 support

Add target arm64-darwin23-gcc, x86_64-darwin23-gcc for MacOS 14.

Change-Id: I6b68a6a61d51aaa78ec11a5055bb95ce77a81d9c
(cherry picked from commit db83435afbeee1a31a9e6cdeca38407ebc724bc8)

Files Modified:

  • build/make/configure.sh
  • configure

This bug is being closed because a newer revision of the library is available.
This bug will be marked as a duplicate of it (because although this bug is older, it is superseded by the newer one).

Status: NEW → RESOLVED
Closed: 9 months ago
Duplicate of bug: 1880814
Resolution: --- → DUPLICATE
Attachment #9375835 - Attachment is obsolete: true
Attachment #9375836 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: