Closed Bug 1802304 Opened 1 year ago Closed 1 year ago

Update dav1d to new version 4b9f5b704e299543afcea87f375a308b90ef6c70 from 2022-11-10 00:58:40

Categories

(Core :: Audio/Video: Playback, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox-esr102 --- wontfix
firefox109 --- wontfix
firefox110 --- wontfix
firefox111 --- fixed

People

(Reporter: update-bot, Assigned: chunmin)

Details

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

Attachments

(2 files)

This update covers 44 commits:


4b9f5b704e299543afcea87f375a308b90ef6c70 by Charlie Hayden

https://code.videolan.org/videolan/dav1d/commit/4b9f5b704e299543afcea87f375a308b90ef6c70
Authored: 2022-11-02 21:38:29 -0700
Committed: 2022-11-10 00:58:40 +0000

Add info to dav1d_send_data docs

Files Modified:

  • include/dav1d/dav1d.h

21abfb98667b40b9537ea2310310d7254fcdfdad by Jan Beich

https://code.videolan.org/videolan/dav1d/commit/21abfb98667b40b9537ea2310310d7254fcdfdad
Authored: 2022-10-30 08:32:55 +0000
Committed: 2022-10-30 08:48:59 +0000

build: drop -D_DARWIN_C_SOURCE on macOS/iOS after 6b611d36acab

Already implied when -D_POSIX_C_SOURCE is not passed.

Files Modified:

  • meson.build

7409a1894c2e9d5291760703da1ce6c95dd7b815 by Jan Beich

https://code.videolan.org/videolan/dav1d/commit/7409a1894c2e9d5291760703da1ce6c95dd7b815
Authored: 2022-10-30 08:20:02 +0000
Committed: 2022-10-30 08:48:35 +0000

build: drop -D_POSIX_C_SOURCE on non-Linux after 6b611d36acab

Non-GNU systems enable extensions (XSI, BSD, GNU) by default.

Files Modified:

  • meson.build

8f16314dba8bd1ec9d958bbb8bfba002967bd6a8 by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/8f16314dba8bd1ec9d958bbb8bfba002967bd6a8
Authored: 2022-06-28 19:14:07 +0200
Committed: 2022-10-27 13:03:22 +0000

threading: Add a pending list for async task insertion

Files Modified:

  • src/decode.c
  • src/internal.h
  • src/lib.c
  • src/thread_task.c

8a4932ff035e2fd2b139caa73f6593c2a4754f67 by Martin Storsjö

https://code.videolan.org/videolan/dav1d/commit/8a4932ff035e2fd2b139caa73f6593c2a4754f67
Authored: 2022-10-26 10:00:01 +0300
Committed: 2022-10-26 16:14:52 +0300

Implement atomic_compare_exchange_strong in the atomic compat headers

This fixes building with MSVC (and older GCC versions) after
3e7886db54d0cb3ce32909c71ad2a8c9d9eab223.

Files Modified:

  • include/compat/gcc/stdatomic.h
  • include/compat/msvc/stdatomic.h

3e7886db54d0cb3ce32909c71ad2a8c9d9eab223 by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/3e7886db54d0cb3ce32909c71ad2a8c9d9eab223
Authored: 2022-10-06 11:14:06 +0200
Committed: 2022-10-20 14:23:30 +0200

threading: Fix a race around frame completion (frame-mt)

The completion of the first frame to decode while an async reset
request on that same frame is pending will render it stale. The
processing of such a stale request is likely to result in a hang.

One reason this happens is the skip condition at the beginning of
reset_task_cur().
=> Consume the async request before that check.

Another reason is several threads producing async reset requests in
parallel: an async request for the first frame could cascade through the
other threads (other frames) during completion of that frame, meaning
not being caught by the last synchronous reset_task_cur() after
signaling the main thread and before releasing the lock.
=> To solve this we need to add protections at the racy locations. That
means after we increase first, before returning from
reset_task_cur_async(), and after consuming the async request.

Files Modified:

  • src/decode.c
  • src/lib.c
  • src/obu.c
  • src/thread_task.c

5b07b4256617913ec81277f07af592ebd62b11a3 by Sebastian Dröge

https://code.videolan.org/videolan/dav1d/commit/5b07b4256617913ec81277f07af592ebd62b11a3
Authored: 2022-10-07 16:13:49 +0300
Committed: 2022-10-10 12:23:12 +0300

Handle host_machine.system() 'ios' and 'tvos' the same way as 'darwin'

Despite not being documented in Meson's list of canonical system names,
Meson does accept 'ios' mostly a synonym for darwin.

By using 'ios' instead of darwin, it allows distinguishing between the
two in the cases where that is necessary. Therefore, within dav1d, allow
using the 'ios' name as alias for 'darwin' for system name, to allow
using cross files that does this distinction.

meson itself also allows 'tvos' in addition to 'ios' in the internal
is_darwin() function, as such all 3 are handled the same here.

Files Modified:

  • meson.build

cac76e4b6641dd26dd87fd749261526ae7469d3e by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/cac76e4b6641dd26dd87fd749261526ae7469d3e
Authored: 2022-09-23 23:03:14 +0200
Committed: 2022-09-30 17:59:31 +0200

x86: Add 10-bit 8x8/8x16/16x8/16x16 itx AVX-512 (Ice Lake) asm

Files Added:

  • src/x86/itx16_avx512.asm

Files Modified:

  • src/meson.build
  • src/x86/itx.h
  • src/x86/itx_avx512.asm

e4c4af02f3de5e6cea6f81272a2981c0fa7bae28 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/e4c4af02f3de5e6cea6f81272a2981c0fa7bae28
Authored: 2022-09-30 00:11:29 +0200
Committed: 2022-09-30 15:04:20 +0000

Specify hidden visibility for global data symbol declarations

'-fvisibility=hidden' only applies to definitions, not declarations,
so the compiler has to be conservative about how references to global
data symbols are performed.

Explicitly specifying the visibility allows for better code generation.

Files Modified:

  • include/common/attributes.h
  • src/cpu.h
  • src/dequant_tables.h
  • src/qm.h
  • src/scan.h
  • src/tables.h
  • src/wedge.h

58c856b76ad423efe59a518b5f02752354e0d0d8 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/58c856b76ad423efe59a518b5f02752354e0d0d8
Authored: 2022-09-28 13:57:59 +0200
Committed: 2022-09-28 16:12:31 +0200

build: strip() the result of cc.get_define()

Whitespace is added to the result if compiling with MSVC using /std:c11
which breaks various things. Adding strip() fixes the problem.

Files Modified:

  • meson.build

0b0b5fbf832a8744b72eaf085253138b82d7a7a3 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/0b0b5fbf832a8744b72eaf085253138b82d7a7a3
Authored: 2022-09-26 15:14:36 +0200
Committed: 2022-09-28 16:06:40 +0200

checkasm: Move printf format string to .rodata on x86

Files Modified:

  • tests/checkasm/x86/checkasm.asm

6fefa6a55cc1cc1cefad93e9f78efd0725fd8efa by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/6fefa6a55cc1cc1cefad93e9f78efd0725fd8efa
Authored: 2022-09-26 15:14:34 +0200
Committed: 2022-09-28 16:06:39 +0200

checkasm: Improve 32-bit parameter clobbering on x86-64

Use explicit parameter type detection and manually clobber the
upper bits instead of relying on internal compiler behavior.

Files Modified:

  • meson.build
  • tests/checkasm/checkasm.h
  • tests/checkasm/x86/checkasm.asm

8349845c8cb2d296e0d89416538c5f7215ca8a08 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/8349845c8cb2d296e0d89416538c5f7215ca8a08
Authored: 2022-09-26 15:33:38 +0200
Committed: 2022-09-26 15:38:13 +0200

x86: Fix incorrect 32-bit parameter usage in high bit-depth AVX-512 mc

The 32-bit width parameter was used directly as a pointer offset, but
the upper half is undefined. Fix it by replacing 'cmp' with 'sub' to
explicitly zero those bits.

Files Modified:

  • src/x86/mc16_avx512.asm

345127a79532a679de025b031bdbc264df5f17ea by Martin Storsjö

https://code.videolan.org/videolan/dav1d/commit/345127a79532a679de025b031bdbc264df5f17ea
Authored: 2022-09-09 12:16:03 +0300
Committed: 2022-09-19 20:40:34 +0000

arm: itx: Add clipping to row_clip_min/max in the 10 bpc codepaths

This fixes conformance with the argon test samples, in particular
with these samples:
profile0_core/streams/test10100_579_8614.obu
profile0_core/streams/test10218_6914.obu

This gives a pretty notable slowdown to these transforms - some
examples:

Before: Cortex A53 A72 A73 Apple M1
inv_txfm_add_8x8_dct_dct_1_10bpc_neon: 365.7 290.2 299.8 0.3
inv_txfm_add_16x16_dct_dct_2_10bpc_neon: 1865.2 1384.1 1457.5 2.6
inv_txfm_add_64x64_dct_dct_4_10bpc_neon: 33976.3 26817.0 24864.2 40.4
After:
inv_txfm_add_8x8_dct_dct_1_10bpc_neon: 397.7 322.2 335.1 0.4
inv_txfm_add_16x16_dct_dct_2_10bpc_neon: 2121.9 1336.7 1664.6 2.6
inv_txfm_add_64x64_dct_dct_4_10bpc_neon: 38569.4 27622.6 28176.0 51.0

Thus, for the transforms alone, it makes them around 10-13% slower
(the Apple M1 measurements are too noisy to be conclusive here).

Measured on actual full decoding, it makes decoding of 10 bpc
Chimera around maybe 1% slower on an Apple M1 - close to measurement
noise anyway.

Files Modified:

  • src/arm/32/itx16.S
  • src/arm/64/itx16.S

9c74a9b01d34ca0df44c5b38970e43273c459918 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/9c74a9b01d34ca0df44c5b38970e43273c459918
Authored: 2022-09-15 13:51:55 +0200
Committed: 2022-09-19 15:09:41 +0000

x86: Fix overflows in 12bpc AVX2 IDCT/IADST

Files Modified:

  • src/x86/itx16_avx2.asm

49b1c3c54c0ddb61be1342a7783f127ea343fddf by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/49b1c3c54c0ddb61be1342a7783f127ea343fddf
Authored: 2022-09-15 13:51:54 +0200
Committed: 2022-09-19 15:09:41 +0000

x86: Fix overflows in 12bpc AVX2 DC-only IDCT

Using smaller immediates also results in a small code size reduction in
some cases, so apply those changes to the (10bpc-only) SSE code as well.

Files Modified:

  • src/x86/itx16_avx2.asm
  • src/x86/itx16_sse.asm

0c8a3461b8253252ca400b0e2e06b4814e930006 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/0c8a3461b8253252ca400b0e2e06b4814e930006
Authored: 2022-09-15 13:51:53 +0200
Committed: 2022-09-19 15:09:41 +0000

x86: Fix clipping in high bit-depth AVX2 4x16 IDCT

Certain clips were incorrectly performed on negated values, which
caused things to be off-by-one in both directions. Correct this by
negating such values prior to clipping instead of afterwards.

Files Modified:

  • src/x86/itx16_avx2.asm

cc9651f5163362a54a22400d8fe8d97df1e21d4b by Martin Storsjö

https://code.videolan.org/videolan/dav1d/commit/cc9651f5163362a54a22400d8fe8d97df1e21d4b
Authored: 2022-03-21 13:54:43 +0200
Committed: 2022-09-15 11:25:37 +0300

Don't use gas-preprocessor with clang-cl for arm targets

Since meson 0.58.0 (released in May 2021), meson accepts adding '.S'
assembly files as source files to the clang-cl compiler.

If using an older version of meson, keep using gas-preprocessor
just like for MSVC builds.

Files Modified:

  • meson.build

d4a2b75da69da1891682fa40ec9e1ca99d3cf950 by David Conrad

https://code.videolan.org/videolan/dav1d/commit/d4a2b75da69da1891682fa40ec9e1ca99d3cf950
Authored: 2022-06-07 15:18:04 -0700
Committed: 2022-09-15 00:28:22 +0000

Fix checking the reference dimesions for the projection process

Section 7.9.2 returns 0 "If RefMiRows[ srcIdx ] is not equal to MiRows,
RefMiCols[ srcIdx ] is not equal to MiCols"

dav1d was comparing pixel width/height, not block width/height,
so conform with the spec

Files Modified:

  • src/decode.c

eb25f00cb16d7d57583ab17678cf25555e9ab81a by David Conrad

https://code.videolan.org/videolan/dav1d/commit/eb25f00cb16d7d57583ab17678cf25555e9ab81a
Authored: 2022-06-07 15:10:39 -0700
Committed: 2022-09-15 00:28:22 +0000

Fix calculation of OBMC lap dimensions

Individual OBMC lapped predictions have a max width of 64 pixels
for the top lap and have a max height of 64 for the left laps

This is 7.11.3.9. Overlapped motion compensation process
step4 = Clip3( 2, 16, Num_4x4_Blocks_Wide[ candSz ] )

dav1d wasn't clipping this as needed, which means that with scaled MC, the
interpolation of the 2nd half of a 128 block was incorrect, since mx/my
for subpel filter selection need to be reset at the 64 pixel boundary

Files Modified:

  • src/recon_tmpl.c

10f5ce5441778a2f1e2bdf8da09395b51d295401 by David Conrad

https://code.videolan.org/videolan/dav1d/commit/10f5ce5441778a2f1e2bdf8da09395b51d295401
Authored: 2022-06-07 15:09:39 -0700
Committed: 2022-09-15 00:28:22 +0000

Support film grain application whose only effect is clipping to video range

This is the parameter combination:
num_y_points == 0 && num_cb_points == 0 && num_cr_points == 0 &&
chroma_scaling_from_luma == 1 && clip_to_restricted_range == 1

Film grain application has two effects: adding noise, and optionally
clipping to video range

For luma, the spec skips film grain application if there's no noise
(num_y_points == 0), but for chroma, it's only skipped if there's no
chroma noise and chroma_scaling_from_luma is false

This means it's possible for there to be no noise (num_*_points = 0), but
if clip_to_restricted_range is true then chroma pixels can be clipped to
video range, if chroma_scaling_from_luma is true. Luma pixels, however,
aren't clipped to video range unless there's noise to apply.
dav1d currently skips applying film grain entirely if there is no noise,
regardless of the secondary clipping.

Files Modified:

  • src/fg_apply_tmpl.c
  • src/lib.c

673ee2486521446b2500124d4826a84403d2aaca by David Conrad

https://code.videolan.org/videolan/dav1d/commit/673ee2486521446b2500124d4826a84403d2aaca
Authored: 2022-06-07 15:06:24 -0700
Committed: 2022-09-15 00:28:22 +0000

Ignore T.35 metadata if the OBU contains no payload

The syntax of itu_t_t35_payload_bytes is not defined in the AV1
specification, but it does state that decoders should ignore the
entire OBU if they do not understand it.

Files Modified:

  • src/obu.c

2152826bc959466a8eea4b97d8249be634b26171 by David Conrad

https://code.videolan.org/videolan/dav1d/commit/2152826bc959466a8eea4b97d8249be634b26171
Authored: 2022-06-07 15:05:50 -0700
Committed: 2022-09-15 00:28:22 +0000

Fix chroma deblock filter size calculation for lossless

In section 5.11.34 txSz is always defined to TX_4X4 if Lossless is true

Chroma deblock filter size calculation needs to use this overridden txSz
when lossless is enabled

Files Modified:

  • src/decode.c

e202fa082b6699e60ec2806c067f34a82750b4fa by David Conrad

https://code.videolan.org/videolan/dav1d/commit/e202fa082b6699e60ec2806c067f34a82750b4fa
Authored: 2022-06-07 15:05:12 -0700
Committed: 2022-09-15 00:28:22 +0000

Fix rounding in the calculation of initialSubpelX

The spec divides err by two, rounding to 0, instead of >>1,
which rounds towards negative infinity

Files Modified:

  • src/decode.c

ee98592ba27aa0c958778eef998ed89a664e252d by David Conrad

https://code.videolan.org/videolan/dav1d/commit/ee98592ba27aa0c958778eef998ed89a664e252d
Authored: 2022-06-07 15:03:36 -0700
Committed: 2022-09-15 00:28:22 +0000

Fix overflow when saturating dequantized coefficients clipped to 0

It's possible to encode a large coefficient that becomes 0 after
the clipping in dequant (Abs( dq ) & 0xFFFFFF), e.g. 0x1000000
After that &0xFFFFFF, coeffs are saturated in the range of
[-(1 << (bitdepth+7)), 1 << (bitdepth+7))

dav1d implements this saturation via umin(dq - sign, cf_max), then applies
the sign afterwards via xor. However, for dq = 0 and sign = 1, this step
evaulates to umin(UINT_MAX, cf_max) == cf_max instead of the expected 0.

So instead, do unsigned saturate as umin(dq, cf_max + sign),
then apply sign via (sign ? -dq : dq)
On arm this is the same number of instructions, since cneg exists and is used
On x86 this requires an additional instruction, but this isn't a
latency-critical path

Files Modified:

  • src/recon_tmpl.c

1bdb776c71d615e9a1a4890bbc53f979e225e150 by David Conrad

https://code.videolan.org/videolan/dav1d/commit/1bdb776c71d615e9a1a4890bbc53f979e225e150
Authored: 2022-06-08 13:50:02 -0700
Committed: 2022-09-15 00:28:22 +0000

Fix overflow in 8-bit NEON ADST

In 8-bit adst, it's possible that the final Round2(x[0], 12) can exceed
16-bits signed

Specifically, in 7.13.2.6. Inverse ADST4 process, the precision requirement is:
"It is a requirement of bitstream conformance that all values stored in the
s and x arrays by this process are representable by a signed integer using
r + 12 bits of precision."

For 8 bits, r is 16 for both row and column, so x[] can be 28-bit signed.
For values [134215680, 134217727] (within 2047 of the maximum 28-bit value),
the final Round2(x[0], 12) evaluates to 32768, exceeding 16-bits signed.

So switch to using sqrshrn, which saturates to 16-bits signed

This is a continuation of: Commit b53ff29d80a21180e5ad9bbe39a02541151f4f53
arm: itx: Do clipping in all narrowing downshifts

Files Modified:

  • src/arm/64/itx.S

08c708015ec372b6c28d341cba7bbc86843cc17b by Martin Storsjö

https://code.videolan.org/videolan/dav1d/commit/08c708015ec372b6c28d341cba7bbc86843cc17b
Authored: 2022-09-14 11:40:09 +0300
Committed: 2022-09-14 15:59:19 +0300

tools: Allocate the priv structs with proper alignment

Previously, they could be allocated with any random alignment
matching the end of the MuxerContext/DemuxerContext. The
priv structs themselves can have members that require specific
alignment, or at least the default alignment of malloc()/calloc()
(which is sufficient for native types such as uint64_t and
doubles).

This fixes crashes in some arm builds, where GCC (correctly) wants
to use 64 bit aligned stores to write to MD5Context.

Files Modified:

  • tools/input/input.c
  • tools/output/output.c

128a0d8992458698a05fbd4d1bba55a5b7e5cdf4 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/128a0d8992458698a05fbd4d1bba55a5b7e5cdf4
Authored: 2022-09-08 18:15:28 +0200
Committed: 2022-09-12 14:46:26 +0000

x86: Fix clipping in 10bpc SSE4.1 IDCT asm

Files Modified:

  • src/x86/itx16_sse.asm

178681e5fd6fc169fa3313b5263151de2b4a1d5c by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/178681e5fd6fc169fa3313b5263151de2b4a1d5c
Authored: 2022-09-08 16:45:46 +0200
Committed: 2022-09-10 13:32:36 +0000

build: Improve Windows linking options

Files Modified:

  • meson.build

5247319775ce71e2494fea97b7d30403e0244db3 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/5247319775ce71e2494fea97b7d30403e0244db3
Authored: 2022-09-08 19:56:05 +0200
Committed: 2022-09-09 14:40:17 +0000

tools: Improve demuxer probing

Increase the probing size, and change the logic to assume a stream is
valid even if no conclusive decision could be made within the probing
window as long as a sequence header was detected.

Files Modified:

  • tools/input/annexb.c
  • tools/input/section5.c

934713e4a65bcdb1e89884a6160fd62db081bf53 by Matthias Dressel

https://code.videolan.org/videolan/dav1d/commit/934713e4a65bcdb1e89884a6160fd62db081bf53
Authored: 2022-08-30 22:05:08 +0200
Committed: 2022-09-09 09:21:25 +0200

CI: Disable trimming on some tests

Allow checkasm to run.

Files Modified:

  • .gitlab-ci.yml

3920bd9d9dc43e82226ccd79e1bc648276245538 by Matthias Dressel

https://code.videolan.org/videolan/dav1d/commit/3920bd9d9dc43e82226ccd79e1bc648276245538
Authored: 2022-08-30 21:52:49 +0200
Committed: 2022-09-09 09:21:25 +0200

CI: Remove git 'safe.directory' config

It is now handled by the gitlab runner.

Ref: 7d859f9c728e5042f9e1fbb98625d624c489a50e

Files Modified:

  • .gitlab-ci.yml

ddb3189c257a2eb50686dec51a77f88d7c9aeb7d by Matthias Dressel

https://code.videolan.org/videolan/dav1d/commit/ddb3189c257a2eb50686dec51a77f88d7c9aeb7d
Authored: 2022-08-30 22:23:20 +0200
Committed: 2022-09-09 09:21:25 +0200

gcovr: Ignore parsing errors

Files Modified:

  • gcovr.cfg

aa3fda7800d4878da6ca42a180aaa524a424a602 by Matthias Dressel

https://code.videolan.org/videolan/dav1d/commit/aa3fda7800d4878da6ca42a180aaa524a424a602
Authored: 2022-08-30 22:17:08 +0200
Committed: 2022-09-09 09:20:52 +0200

crossfiles: Update Android toolchains

  • Android armv7: target API 19 since it's the lowest directly provided
    by the new NDK.
  • Newer NDK has generic tools for ar, strip, etc.
  • Remove windres as it's only relevant for Windows targets.

Files Modified:

  • package/crossfiles/aarch64-android.meson
  • package/crossfiles/arm-android.meson

d92594bd5d06b40702b586d4d85d5426cd641fe4 by Matthias Dressel

https://code.videolan.org/videolan/dav1d/commit/d92594bd5d06b40702b586d4d85d5426cd641fe4
Authored: 2022-08-30 22:15:06 +0200
Committed: 2022-09-09 09:20:52 +0200

CI: Update images

Remove experimental since gcc12, clang14, mold are now in unstable.

Files Modified:

  • .gitlab-ci.yml

6680d26f3013001d97adeba91304a10a878d9488 by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/6680d26f3013001d97adeba91304a10a878d9488
Authored: 2022-09-08 14:45:35 +0200
Committed: 2022-09-08 14:50:25 +0200

threading: Limit the progress bitfields to the used size

Store the used size instead of the allocated size.

The used size can be smaller than the allocated size, which results in
a wrong computation of the linear progress from the frame_progress
bitfield.

Files Modified:

  • src/thread_task.c

fab6427e2a37f995beced2bbe15b8f7a2404bec2 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/fab6427e2a37f995beced2bbe15b8f7a2404bec2
Authored: 2022-09-08 13:30:00 +0200
Committed: 2022-09-08 11:58:48 +0000

x86: Fix rare crash in chroma film grain asm

The width parameter is used directly as a pointer offset, so ensure
that it has an appropriately sized data type.

This has been done previously for luma, but chroma was overlooked.

Files Modified:

  • src/arm/filmgrain.h
  • src/filmgrain.h
  • src/filmgrain_tmpl.c

677129c26095f5b67052f740ce54b663b43bdfcf by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/677129c26095f5b67052f740ce54b663b43bdfcf
Authored: 2022-09-07 19:07:48 +0200
Committed: 2022-09-07 19:09:55 +0200

x86: Fix overflows in 12bpc AVX2 identity itx asm

Files Modified:

  • src/x86/itx16_avx2.asm

58b15237eef865b2673fc3eecf5a07735db32545 by Henrik Gramner

https://code.videolan.org/videolan/dav1d/commit/58b15237eef865b2673fc3eecf5a07735db32545
Authored: 2022-09-07 02:06:25 +0200
Committed: 2022-09-07 02:09:49 +0200

x86: Fix an alignment issue in 8-bit AVX-512 loop restoration

We don't have a separate 8-bit AVX-512 5-tap Wiener filter so the 7-tap
function is used for chroma as well, and in some esoteric edge cases
chroma dst pointers may only have a 32-byte alignment despite having
a width larger than 32, so use an unaligned store as a workaround.

Files Modified:

  • src/x86/looprestoration_avx512.asm

895fed08e1de3d0a90c9ecd588cf61d8eee8457b by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/895fed08e1de3d0a90c9ecd588cf61d8eee8457b
Authored: 2022-09-01 14:04:15 +0200
Committed: 2022-09-02 17:15:18 +0200

checkasm: Add short options

Files Modified:

  • tests/checkasm/checkasm.c

713a4f4e50053f851da98973b1ef9d4c6d0ca55f by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/713a4f4e50053f851da98973b1ef9d4c6d0ca55f
Authored: 2022-09-01 16:10:30 +0200
Committed: 2022-09-02 17:15:18 +0200

checkasm: Add pattern matching to --test

Files Modified:

  • tests/checkasm/checkasm.c

a63a7c9674012ec1e384604f5bde4d4d7849fb39 by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/a63a7c9674012ec1e384604f5bde4d4d7849fb39
Authored: 2022-09-01 13:37:34 +0200
Committed: 2022-09-02 17:15:18 +0200

checkasm: Remove pattern matching from --bench

The pattern matching feature has been improved and is now performed
under the new --function parameter, rendering this one obsolete.

Files Modified:

  • tests/checkasm/checkasm.c

d5d37926b675e3d282fd7ee31a2db4c2f16a2b33 by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/d5d37926b675e3d282fd7ee31a2db4c2f16a2b33
Authored: 2022-08-29 15:09:55 +0200
Committed: 2022-09-02 17:15:18 +0200

checkasm: Add a --function option

Allows to run checkasm only for functions matching a given pattern.

Files Modified:

  • tests/checkasm/checkasm.c

a3a55b18494f5dd1e34f289298f78ffa4f32a25d by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d/commit/a3a55b18494f5dd1e34f289298f78ffa4f32a25d
Authored: 2022-08-30 17:21:54 +0200
Committed: 2022-08-30 17:31:28 +0200

threading: Fix copy_lpf_progress initialization

The copy_lpf_progress bitfield might not be fully cleared when size goes
down.

Credit to Oss-Fuzz.

Files Modified:

  • src/thread_task.c

All jobs completed, we found the following issues.

Known Issues (From Push Health):

gfx/layers/apz/test/mochitest/test_group_zoom-2.html
	- 1 of 4 failed on the same (retriggered) task
	- test-linux1804-64-qr/opt-mochitest-plain-spi-nw-1 (ffYE-4wmSHWi6M_JmE3zTQ)

testing/marionette/harness/marionette_harness/tests/unit/test_quit_restart.py TestQuitRestart.test_in_app_silent_restart_windowless_flag_on_mac_os
	- 1 of 4 failed on the same (retriggered) task
	- test-macosx1015-64-qr/debug-marionette (BHR3r8LbRLKI_3vDUUp91w)

These failures may mean that the library update succeeded; you'll need to review
them yourself and decide. If there are lint failures, you will need to fix them in
a follow-up patch. (Or ignore the patch I made, and recreate it yourself with
./mach vendor media/libdav1d/moz.yaml.)

In either event, I have done all I can, so you will need to take it from here.
When reviewing, please note that this is external code, which needs a full and
careful inspection - not a rubberstamp.

Assignee: nobody → cchang
Flags: needinfo?(cchang)
Pushed by cchang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/591ee1cc9720
Update dav1d to 188dfc89f21ed00e084e4a519a581df5f2ceb35d r=media-playback-reviewers,alwu
Flags: needinfo?(cchang)
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: