Closed Bug 1724763 Opened 4 years ago Closed 4 years ago

Update dav1d to new version a5f32330e425aa66e364da3bca99907746fe6cc5 from 2021-08-08 17:50:09

Categories

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

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1729340
Tracking Status
firefox93 --- affected

People

(Reporter: update-bot, Unassigned)

References

Details

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

This update covers 55 commits, including 27 new upstream commits I've never filed a bug on before. (They're the top 27.):


a5f32330e425aa66e364da3bca99907746fe6cc5 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/a5f32330e425aa66e364da3bca99907746fe6cc5
Authored: 2021-08-04 20:51:17 -0400
Committed: 2021-08-08 17:50:09 -0400

x86/itx: replace .transpose8x8 with 2 calls to .transpose4x8packed

Files Added:

  • src/x86/itx16_sse.asm

b34244599cc75bc2433981a71f5a960a2961f872 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/b34244599cc75bc2433981a71f5a960a2961f872
Authored: 2021-08-04 10:46:18 -0400
Committed: 2021-08-04 10:46:41 -0400

x86/itx: document third argument in INV_TXFM_WxH_FN macros

Files Added:

  • src/x86/itx16_sse.asm

fe903da5b8b0715e43b4c8afe2b5d15bc04888ea by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d-/commit/fe903da5b8b0715e43b4c8afe2b5d15bc04888ea
Authored: 2021-08-03 13:58:32 +0200
Committed: 2021-08-03 14:58:45 +0000

x86: Rewrite sgr8 SSSE3 asm

Old:
sgr_3x3_8bpc_ssse3: 140121.1
sgr_3x3_8bpc_avx2: 72965.4
sgr_5x5_8bpc_ssse3: 89859.1
sgr_5x5_8bpc_avx2: 48881.9
sgr_mix_8bpc_ssse3: 236626.5
sgr_mix_8bpc_avx2: 110552.6

New:
sgr_3x3_8bpc_ssse3: 117294.4
sgr_3x3_8bpc_avx2: 72243.5
sgr_5x5_8bpc_ssse3: 79929.6
sgr_5x5_8bpc_avx2: 49798.4
sgr_mix_8bpc_ssse3: 184183.9
sgr_mix_8bpc_avx2: 109771.7

Files Added:

  • src/x86/looprestoration_init_tmpl.c
  • src/x86/looprestoration_sse.asm

935175daa7225436fb79b01c2b12feaeb5382f08 by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d-/commit/935175daa7225436fb79b01c2b12feaeb5382f08
Authored: 2021-08-02 17:06:10 +0200
Committed: 2021-08-03 14:58:45 +0000

x86: Add minor improvements to sgr16 SSSE3 asm

Old:
sgr_5x5_10bpc_ssse3: 87026.6
sgr_5x5_10bpc_avx2: 51864.5
sgr_mix_10bpc_ssse3: 205460.2
sgr_mix_10bpc_avx2: 122199.7

New:
sgr_5x5_10bpc_ssse3: 84786.5
sgr_5x5_10bpc_avx2: 51651.3
sgr_mix_10bpc_ssse3: 202722.2
sgr_mix_10bpc_avx2: 122340.0

Files Added:

  • src/x86/looprestoration16_sse.asm

7edb1a7ed53433d480494d8b92d8b36b7687b040 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/7edb1a7ed53433d480494d8b92d8b36b7687b040
Authored: 2021-08-02 16:40:08 -0400
Committed: 2021-08-02 18:17:32 -0400

x86/itx: 16x16 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c

bcc994514ca70dbd05513967a6fb52f2aa0eb84f by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/bcc994514ca70dbd05513967a6fb52f2aa0eb84f
Authored: 2021-07-30 11:58:43 -0400
Committed: 2021-08-02 18:17:16 -0400

x86/itx: 16x8 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c

ac8fa32a0617a18b0543d94f65d6117e5b7b11cb by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/ac8fa32a0617a18b0543d94f65d6117e5b7b11cb
Authored: 2021-07-24 08:49:26 -0400
Committed: 2021-08-02 18:16:04 -0400

x86/itx: 16x4 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c

7ee2501b362c756cc0fef11412c6afea34de031c by Jean-Baptiste Kempf

https://code.videolan.org/videolan/dav1d-/commit/7ee2501b362c756cc0fef11412c6afea34de031c
Authored: 2021-07-28 22:31:07 +0200
Committed: 2021-07-28 22:31:27 +0200

Final news for 0.9.1

Files Added:

  • NEWS

1ff26cd7fc8cf9bd8fa351a4a9311bf633775226 by Jean-Baptiste Kempf

https://code.videolan.org/videolan/dav1d-/commit/1ff26cd7fc8cf9bd8fa351a4a9311bf633775226
Authored: 2021-07-20 15:20:50 +0200
Committed: 2021-07-28 16:08:57 +0000

Release 0.9.1

Files Added:

  • meson.build

e266f9fa40c61a1b60051c7ff76d54a21463dbcd by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/e266f9fa40c61a1b60051c7ff76d54a21463dbcd
Authored: 2021-07-21 13:01:34 -0400
Committed: 2021-07-28 09:13:38 -0400

x86/itx: 8x16 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c
  • src/x86/itx_sse.asm

d5c0831297a2af2641c7ea782c2661dcf130eefb by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/d5c0831297a2af2641c7ea782c2661dcf130eefb
Authored: 2021-07-21 08:46:48 -0400
Committed: 2021-07-28 09:13:32 -0400

x86/itx: 8x8 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c
  • src/x86/itx_sse.asm

a804d43004c0ad43748ded689a3d99a5346fa4bd by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/a804d43004c0ad43748ded689a3d99a5346fa4bd
Authored: 2021-07-20 13:57:18 -0400
Committed: 2021-07-28 09:10:14 -0400

x86/itx: add eob-based fast path to 4x16 hbd/sse4 itx

Files Added:

  • src/x86/itx16_sse.asm

e7228e80133a6b8c8d54d943bf438de1014e0ad3 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/e7228e80133a6b8c8d54d943bf438de1014e0ad3
Authored: 2021-07-20 12:15:03 -0400
Committed: 2021-07-28 09:10:14 -0400

x86/itx: add eob-based fast path to 4x8 hbd/sse4 itx

Files Added:

  • src/x86/itx16_sse.asm

999a1c4d2adaaa6a97810512a3967d20498d62be by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/999a1c4d2adaaa6a97810512a3967d20498d62be
Authored: 2021-07-18 19:28:48 -0400
Committed: 2021-07-28 09:10:14 -0400

x86/itx: 8x4 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c
  • src/x86/itx_sse.asm

ba183d230c69dc5335c1b773b329a66d36c7ac4f by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/ba183d230c69dc5335c1b773b329a66d36c7ac4f
Authored: 2021-07-18 09:20:17 -0400
Committed: 2021-07-28 09:10:10 -0400

x86/itx: 4x16 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c
  • src/x86/itx_sse.asm

755364cbc6c29d211f279c4cb9bf7e450171aeca by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/755364cbc6c29d211f279c4cb9bf7e450171aeca
Authored: 2021-07-17 10:50:42 -0400
Committed: 2021-07-21 11:12:28 -0400

x86/itx: 4x8 inverse transforms hbd/sse4

Files Added:

  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c
  • src/x86/itx_sse.asm

c719d4a4e13dc865909b220118d935ac698ac9ba by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/c719d4a4e13dc865909b220118d935ac698ac9ba
Authored: 2021-07-16 17:31:42 -0400
Committed: 2021-07-20 12:23:15 +0000

x86/filmgrain: add fguv_32x32xn_i444 HBD/AVX2

Files Added:

  • src/x86/film_grain16_avx2.asm
  • src/x86/film_grain_init_tmpl.c

cc0e2d5f2d1aef63d18d8e99921d58fd372686be by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/cc0e2d5f2d1aef63d18d8e99921d58fd372686be
Authored: 2021-07-16 14:35:23 -0400
Committed: 2021-07-20 12:23:15 +0000

x86/filmgrain: add fguv_32x32xn_i422 HBD/AVX2

Files Added:

  • src/x86/film_grain16_avx2.asm
  • src/x86/film_grain_init_tmpl.c

8f858c2385449b5da27d7816a82d868192635e84 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/8f858c2385449b5da27d7816a82d868192635e84
Authored: 2021-07-16 11:10:34 -0400
Committed: 2021-07-20 12:23:15 +0000

x86/filmgrain: add fguv_32x32xn_i422/444 HBD/SSSE3

Files Added:

  • src/x86/film_grain16_sse.asm
  • src/x86/film_grain_init_tmpl.c

14b373acc0c38a3e4b3dad7575f929e6eb847f27 by Jean-Baptiste Kempf

https://code.videolan.org/videolan/dav1d-/commit/14b373acc0c38a3e4b3dad7575f929e6eb847f27
Authored: 2021-06-28 19:36:02 +0200
Committed: 2021-07-19 19:54:30 +0000

News for 0.9.1

Files Added:

  • NEWS

42978746f425351e450381525628edc83e372727 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/42978746f425351e450381525628edc83e372727
Authored: 2021-07-17 17:37:35 -0400
Committed: 2021-07-19 13:09:20 +0000

x86/itx: change function signatures of itx_4x4 to 0 GPRs

The wrapper function already backs up GPRs, and declaring 7 here means
we will backup/restore twice on x86-32.

Files Added:

  • src/x86/itx16_sse.asm

1944317ea66dc456d9ba7464e547064c082a08df by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/1944317ea66dc456d9ba7464e547064c082a08df
Authored: 2021-07-15 11:09:03 -0400
Committed: 2021-07-16 17:51:17 -0400

x86/filmgrain: simplify post-horizontal filter blending

Files Added:

  • src/x86/film_grain16_avx2.asm
  • src/x86/film_grain16_sse.asm
  • src/x86/film_grain_avx2.asm
  • src/x86/film_grain_sse.asm

73db537834bd91d571b8a15ec6b14a619b0ea320 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/73db537834bd91d571b8a15ec6b14a619b0ea320
Authored: 2021-07-14 13:18:33 -0400
Committed: 2021-07-15 15:07:22 +0000

x86/filmgrain: add generate_grain_uv_i422/i444 HBD AVX2 & SSSE3

Files Added:

  • src/x86/film_grain16_avx2.asm
  • src/x86/film_grain16_sse.asm
  • src/x86/film_grain_init_tmpl.c

5808975341835008b06501270377b3b247188ed5 by Mehdi Sabwat

https://code.videolan.org/videolan/dav1d-/commit/5808975341835008b06501270377b3b247188ed5
Authored: 2021-07-05 19:18:54 +0200
Committed: 2021-07-15 08:37:32 +0000

build : enable atomics for wasm-emscripten

When targetting wasm32-unknown-emscripten, we need to have the -pthread option during
compilation for all the objects that use atomic instructions.

When -pthread option is used on a object that has atomic instructions, a section is added
to the binary notifying the linker that it is safe to use shared linear memory because
atomic instructions were not stripped (default behavior if the option is not set).

cf. https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md#target-features-section

Before this patch, lib.c and thread_task.c were using atomic instructions but since -pthread was not
passed during compilation a section was added to the binary, disallowing shared linear memory
and preventing linking dav1d with a multi threaded wasm application.

It also renames stdatomic_dependency to stdatomic_dependencies, for clarity because it is now
an array of dependency objects.

cf. https://mesonbuild.com/Reference-manual.html#dependency-object

Files Added:

  • meson.build
  • src/meson.build

35aa1c226b21a7b8cf44cdef636c8a8d26d58062 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/35aa1c226b21a7b8cf44cdef636c8a8d26d58062
Authored: 2021-07-13 23:24:25 +0000
Committed: 2021-07-14 17:44:21 +0000

x86/filmgrain: make fguv_i420_32x32xn HBD/SSSE3 32bit-compatible

Files Added:

  • src/x86/film_grain16_sse.asm
  • src/x86/film_grain_init_tmpl.c

6235cdf16ea44c29db883ed92c65101e1bdfbb04 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/6235cdf16ea44c29db883ed92c65101e1bdfbb04
Authored: 2021-07-13 16:16:24 +0000
Committed: 2021-07-14 17:44:21 +0000

x86/filmgrain: make fgy_32x32xn HBD/SSSE3 32bit-compatible

Files Added:

  • src/x86/film_grain16_sse.asm
  • src/x86/film_grain_init_tmpl.c

461336a8ec45b6285ce53ef0c09fe2360a676a42 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/461336a8ec45b6285ce53ef0c09fe2360a676a42
Authored: 2021-07-12 12:33:55 +0200
Committed: 2021-07-14 12:59:39 +0000

x86: Add high bitdepth ipred_filter SSSE3 asm

Files Added:

  • src/x86/ipred16_sse.asm
  • src/x86/ipred_init_tmpl.c

7e6fc8b040274157254218acf3e49fde2054bed3 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/7e6fc8b040274157254218acf3e49fde2054bed3
Authored: 2021-07-05 13:15:11 +0000
Committed: 2021-07-12 13:36:48 +0000

x86/film_grain: make generate_grain_y/uv_420 32-bit compatible

Files Added:

  • src/x86/film_grain16_sse.asm
  • src/x86/film_grain_init_tmpl.c

513fd90c26f2096cc553f9738675ba92e4257da1 by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d-/commit/513fd90c26f2096cc553f9738675ba92e4257da1
Authored: 2021-06-10 15:30:16 +0200
Committed: 2021-07-12 07:40:23 +0000

x86: Add high bitdepth (10-bit) sgr SSSE3 asm

Files Added:

  • src/x86/looprestoration16_sse.asm
  • src/x86/looprestoration_init_tmpl.c

12f170c43724138c41cf9f71739e2823e0da47fe by Victorien Le Couviour--Tuffet

https://code.videolan.org/videolan/dav1d-/commit/12f170c43724138c41cf9f71739e2823e0da47fe
Authored: 2021-06-29 14:47:43 +0200
Committed: 2021-07-12 07:40:23 +0000

x86: Add minor improvements to wiener16 SSSE3 asm

Files Added:

  • src/x86/looprestoration16_sse.asm

895cda326200ee95f8db13c90e739a47252681d3 by James Almer

https://code.videolan.org/videolan/dav1d-/commit/895cda326200ee95f8db13c90e739a47252681d3
Authored: 2021-07-06 15:13:26 -0300
Committed: 2021-07-09 16:21:12 +0000

lib: return DAV1D_ERR(ENOENT) if no seqhdr OBU was found

Helps differentiating actual errors in the buffer data or passed-in arguments
with scenarios like empty buffers or containing OBUs other than Sequence
Header.

Files Added:

  • include/dav1d/dav1d.h
  • meson.build
  • src/lib.c

123c58196f4c632dd15fa637a60b6ceda40f93e4 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/123c58196f4c632dd15fa637a60b6ceda40f93e4
Authored: 2021-07-02 15:38:30 +0200
Committed: 2021-07-08 13:02:35 +0000

x86: Add high bitdepth cfl_ac SSSE3 asm

Files Added:

  • src/x86/ipred16_sse.asm
  • src/x86/ipred_init_tmpl.c

2037b3c8a87a2839447444526d620c32bb7be817 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/2037b3c8a87a2839447444526d620c32bb7be817
Authored: 2021-07-02 15:38:24 +0200
Committed: 2021-07-08 13:02:35 +0000

x86: Add high bitdepth cfl_pred SSSE3 asm

Files Added:

  • src/x86/ipred16_sse.asm
  • src/x86/ipred_init_tmpl.c

33180d8f6f29116f5c19dc0cb43155335afe6035 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/33180d8f6f29116f5c19dc0cb43155335afe6035
Authored: 2021-06-29 18:11:22 +0000
Committed: 2021-07-06 21:45:20 +0000

x86/deblock: make hbd/ssse3 implementations 32bit-compatible

Files Added:

  • src/x86/loopfilter16_sse.asm
  • src/x86/loopfilter_init_tmpl.c

da98a8d562a928d89e0aed10f26ebff1260a8117 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/da98a8d562a928d89e0aed10f26ebff1260a8117
Authored: 2021-07-01 08:16:03 -0400
Committed: 2021-07-05 07:40:27 -0400

x86/deblock_avx2: use vpblendvb instead of pand/pandn/por in flat16/8/6

Files Added:

  • src/x86/loopfilter_avx2.asm

0aca76c3b75b7cd4762a516aec27c29e6b80df4f by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/0aca76c3b75b7cd4762a516aec27c29e6b80df4f
Authored: 2021-06-30 19:46:12 -0400
Committed: 2021-07-05 07:40:24 -0400

x86/deblock_hbd_avx2: use vpblendvb instead of pand/pandn/por in flat16/8/6

Files Added:

  • src/x86/loopfilter16_avx2.asm

30000457582d8751022b8ff9e5e18dd7835efedf by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/30000457582d8751022b8ff9e5e18dd7835efedf
Authored: 2021-06-23 22:33:17 +0200
Committed: 2021-06-24 14:20:44 +0200

x86: Add high bitdepth smooth ipred SSSE3 asm

Files Added:

  • src/x86/ipred16_avx2.asm
  • src/x86/ipred16_sse.asm
  • src/x86/ipred_init_tmpl.c

a5e123625d443051d3a297f7276d5dce90382098 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/a5e123625d443051d3a297f7276d5dce90382098
Authored: 2021-06-23 22:31:45 +0200
Committed: 2021-06-24 14:20:44 +0200

x86: Optimize high bitdepth smooth ipred AVX2 asm

Files Added:

  • src/x86/ipred16_avx2.asm

8c584526eab4cad9cbe3d655712f8c3bed4ab92a by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/8c584526eab4cad9cbe3d655712f8c3bed4ab92a
Authored: 2021-06-21 12:59:25 +0200
Committed: 2021-06-23 22:37:22 +0200

x86: Add high bitdepth pal_pred SSSE3 asm

Files Added:

  • src/x86/ipred16_sse.asm
  • src/x86/ipred_init_tmpl.c

1cd6537f881afd37393d483ad8a353ee37c31005 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/1cd6537f881afd37393d483ad8a353ee37c31005
Authored: 2021-06-21 12:59:22 +0200
Committed: 2021-06-23 22:37:21 +0200

x86: Add high bitdepth paeth ipred SSSE3 asm

Files Added:

  • src/x86/ipred16_avx2.asm
  • src/x86/ipred16_sse.asm
  • src/x86/ipred_init_tmpl.c

bfdc1742d7d93638ac2e73429d0b6a2f874767e3 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/bfdc1742d7d93638ac2e73429d0b6a2f874767e3
Authored: 2021-06-21 12:59:15 +0200
Committed: 2021-06-23 20:34:35 +0200

x86: Add high bitdepth dc/h/v ipred SSSE3 asm

Files Added:

  • src/x86/ipred16_sse.asm

Files Added:

  • src/meson.build
  • src/x86/ipred_init_tmpl.c

e4812a6ad7621bb25f9d4ac40e8413e24ac78857 by Matthias Dressel

https://code.videolan.org/videolan/dav1d-/commit/e4812a6ad7621bb25f9d4ac40e8413e24ac78857
Authored: 2021-06-21 19:30:39 +0200
Committed: 2021-06-21 19:30:39 +0200

x86: itx4: Inline transpose

Saves one move.

Files Added:

  • src/x86/itx16_sse.asm

89be94d41ec0b37df5d7f0a247388c6972e108aa by Matthias Dressel

https://code.videolan.org/videolan/dav1d-/commit/89be94d41ec0b37df5d7f0a247388c6972e108aa
Authored: 2021-06-20 19:52:31 +0200
Committed: 2021-06-20 23:02:02 +0200

x86: Add bpc suffix to filmgrain functions

Files Added:

  • src/x86/film_grain_avx2.asm
  • src/x86/film_grain_init_tmpl.c
  • src/x86/film_grain_sse.asm

c7e0ad4577ee3d8625cc3c46c8db0a018d9db806 by Matthias Dressel

https://code.videolan.org/videolan/dav1d-/commit/c7e0ad4577ee3d8625cc3c46c8db0a018d9db806
Authored: 2021-06-20 18:47:17 +0200
Committed: 2021-06-20 23:02:02 +0200

x86: Add bpc suffix to loopfilter functions

Files Added:

  • src/x86/loopfilter_avx2.asm
  • src/x86/loopfilter_init_tmpl.c
  • src/x86/loopfilter_sse.asm

a6821cee0a88d309b1c683a77062287b1c12a213 by Matthias Dressel

https://code.videolan.org/videolan/dav1d-/commit/a6821cee0a88d309b1c683a77062287b1c12a213
Authored: 2021-06-20 18:25:29 +0200
Committed: 2021-06-20 23:02:02 +0200

x86: Add bpc suffix to ipred functions

Files Added:

  • src/x86/ipred_avx2.asm
  • src/x86/ipred_init_tmpl.c
  • src/x86/ipred_sse.asm

27f0b245e0571849c22a32fc6be74d40d926ad83 by James Almer

https://code.videolan.org/videolan/dav1d-/commit/27f0b245e0571849c22a32fc6be74d40d926ad83
Authored: 2021-06-20 16:48:29 -0300
Committed: 2021-06-20 20:24:48 +0000

build: add -Wstrict-prototypes to the compiler arguments

Files Added:

  • examples/dp_renderer.h
  • examples/dp_renderer_sdl.c
  • meson.build
  • tests/header_test.c

a336f470edde80bb2252b99b2d1cbd7cd40f17d0 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/a336f470edde80bb2252b99b2d1cbd7cd40f17d0
Authored: 2021-06-20 18:42:21 +0200
Committed: 2021-06-20 19:02:56 +0200

Use the 'noclone function attribute in addition to 'noinline

We use the 'noinline' attribute in order to reduce code size, but that
doesn't prevent gcc from cloning the function, which is something that
goes against the purpose of preventing inlining in the first place.

Adding the 'noclone' attribute reduces the (stripped) binary size by
around 45 kB on x86-64.

Files Added:

  • include/common/attributes.h

f951165ea6530c1bb589064709fe7ae7b7e9eb72 by Matthias Dressel

https://code.videolan.org/videolan/dav1d-/commit/f951165ea6530c1bb589064709fe7ae7b7e9eb72
Authored: 2021-06-19 20:44:56 +0200
Committed: 2021-06-19 20:44:56 +0200

x86: itx: Port 10-bit 4x4 transforms to SSE4

                                             64-bit  32-bit

inv_txfm_add_4x4_adst_adst_0_10bpc_c: 257.0 346.3
inv_txfm_add_4x4_adst_adst_0_10bpc_sse4: 47.1 51.7
inv_txfm_add_4x4_adst_adst_0_10bpc_avx2: 57.4
inv_txfm_add_4x4_adst_adst_1_10bpc_c: 259.8 345.6
inv_txfm_add_4x4_adst_adst_1_10bpc_sse4: 47.1 52.0
inv_txfm_add_4x4_adst_adst_1_10bpc_avx2: 56.9
inv_txfm_add_4x4_adst_dct_0_10bpc_c: 284.6 369.9
inv_txfm_add_4x4_adst_dct_0_10bpc_sse4: 42.2 46.0
inv_txfm_add_4x4_adst_dct_0_10bpc_avx2: 51.9
inv_txfm_add_4x4_adst_dct_1_10bpc_c: 285.2 369.8
inv_txfm_add_4x4_adst_dct_1_10bpc_sse4: 42.4 45.9
inv_txfm_add_4x4_adst_dct_1_10bpc_avx2: 51.9
inv_txfm_add_4x4_adst_flipadst_0_10bpc_c: 262.9 345.0
inv_txfm_add_4x4_adst_flipadst_0_10bpc_sse4: 46.8 50.1
inv_txfm_add_4x4_adst_flipadst_0_10bpc_avx2: 57.0
inv_txfm_add_4x4_adst_flipadst_1_10bpc_c: 262.1 345.6
inv_txfm_add_4x4_adst_flipadst_1_10bpc_sse4: 46.8 50.3
inv_txfm_add_4x4_adst_flipadst_1_10bpc_avx2: 57.1
inv_txfm_add_4x4_adst_identity_0_10bpc_c: 225.6 302.9
inv_txfm_add_4x4_adst_identity_0_10bpc_sse4: 38.0 42.3
inv_txfm_add_4x4_adst_identity_0_10bpc_avx2: 41.4
inv_txfm_add_4x4_adst_identity_1_10bpc_c: 225.7 303.1
inv_txfm_add_4x4_adst_identity_1_10bpc_sse4: 37.8 42.3
inv_txfm_add_4x4_adst_identity_1_10bpc_avx2: 41.4
inv_txfm_add_4x4_dct_adst_0_10bpc_c: 274.6 378.0
inv_txfm_add_4x4_dct_adst_0_10bpc_sse4: 44.8 48.5
inv_txfm_add_4x4_dct_adst_0_10bpc_avx2: 50.7
inv_txfm_add_4x4_dct_adst_1_10bpc_c: 274.0 377.4
inv_txfm_add_4x4_dct_adst_1_10bpc_sse4: 44.6 48.6
inv_txfm_add_4x4_dct_adst_1_10bpc_avx2: 51.0
inv_txfm_add_4x4_dct_dct_0_10bpc_c: 39.2 50.6
inv_txfm_add_4x4_dct_dct_0_10bpc_sse4: 29.1 33.8
inv_txfm_add_4x4_dct_dct_0_10bpc_avx2: 29.3
inv_txfm_add_4x4_dct_dct_1_10bpc_c: 300.6 399.0
inv_txfm_add_4x4_dct_dct_1_10bpc_sse4: 39.7 44.3
inv_txfm_add_4x4_dct_dct_1_10bpc_avx2: 48.6
inv_txfm_add_4x4_dct_flipadst_0_10bpc_c: 278.6 377.8
inv_txfm_add_4x4_dct_flipadst_0_10bpc_sse4: 45.3 49.6
inv_txfm_add_4x4_dct_flipadst_0_10bpc_avx2: 50.2
inv_txfm_add_4x4_dct_flipadst_1_10bpc_c: 277.1 378.3
inv_txfm_add_4x4_dct_flipadst_1_10bpc_sse4: 45.0 49.7
inv_txfm_add_4x4_dct_flipadst_1_10bpc_avx2: 50.2
inv_txfm_add_4x4_dct_identity_0_10bpc_c: 246.9 335.8
inv_txfm_add_4x4_dct_identity_0_10bpc_sse4: 37.1 41.7
inv_txfm_add_4x4_dct_identity_0_10bpc_avx2: 37.4
inv_txfm_add_4x4_dct_identity_1_10bpc_c: 247.2 336.2
inv_txfm_add_4x4_dct_identity_1_10bpc_sse4: 37.1 41.6
inv_txfm_add_4x4_dct_identity_1_10bpc_avx2: 37.3
inv_txfm_add_4x4_flipadst_adst_0_10bpc_c: 259.4 351.7
inv_txfm_add_4x4_flipadst_adst_0_10bpc_sse4: 47.1 51.8
inv_txfm_add_4x4_flipadst_adst_0_10bpc_avx2: 57.9
inv_txfm_add_4x4_flipadst_adst_1_10bpc_c: 258.7 350.8
inv_txfm_add_4x4_flipadst_adst_1_10bpc_sse4: 47.1 51.8
inv_txfm_add_4x4_flipadst_adst_1_10bpc_avx2: 57.4
inv_txfm_add_4x4_flipadst_dct_0_10bpc_c: 282.3 375.4
inv_txfm_add_4x4_flipadst_dct_0_10bpc_sse4: 42.2 45.8
inv_txfm_add_4x4_flipadst_dct_0_10bpc_avx2: 52.5
inv_txfm_add_4x4_flipadst_dct_1_10bpc_c: 283.0 375.8
inv_txfm_add_4x4_flipadst_dct_1_10bpc_sse4: 42.5 45.9
inv_txfm_add_4x4_flipadst_dct_1_10bpc_avx2: 52.4
inv_txfm_add_4x4_flipadst_flipadst_0_10bpc_c: 258.8 356.1
inv_txfm_add_4x4_flipadst_flipadst_0_10bpc_sse4: 47.3 50.1
inv_txfm_add_4x4_flipadst_flipadst_0_10bpc_avx2: 57.4
inv_txfm_add_4x4_flipadst_flipadst_1_10bpc_c: 259.0 355.3
inv_txfm_add_4x4_flipadst_flipadst_1_10bpc_sse4: 47.8 50.2
inv_txfm_add_4x4_flipadst_flipadst_1_10bpc_avx2: 57.4
inv_txfm_add_4x4_flipadst_identity_0_10bpc_c: 228.6 309.4
inv_txfm_add_4x4_flipadst_identity_0_10bpc_sse4: 37.8 42.0
inv_txfm_add_4x4_flipadst_identity_0_10bpc_avx2: 41.4
inv_txfm_add_4x4_flipadst_identity_1_10bpc_c: 229.1 309.6
inv_txfm_add_4x4_flipadst_identity_1_10bpc_sse4: 37.9 42.2
inv_txfm_add_4x4_flipadst_identity_1_10bpc_avx2: 41.3
inv_txfm_add_4x4_identity_adst_0_10bpc_c: 200.8 275.8
inv_txfm_add_4x4_identity_adst_0_10bpc_sse4: 39.0 43.9
inv_txfm_add_4x4_identity_adst_0_10bpc_avx2: 47.4
inv_txfm_add_4x4_identity_adst_1_10bpc_c: 200.8 276.5
inv_txfm_add_4x4_identity_adst_1_10bpc_sse4: 39.0 44.0
inv_txfm_add_4x4_identity_adst_1_10bpc_avx2: 47.2
inv_txfm_add_4x4_identity_dct_0_10bpc_c: 226.4 300.3
inv_txfm_add_4x4_identity_dct_0_10bpc_sse4: 36.9 41.7
inv_txfm_add_4x4_identity_dct_0_10bpc_avx2: 42.8
inv_txfm_add_4x4_identity_dct_1_10bpc_c: 229.0 300.6
inv_txfm_add_4x4_identity_dct_1_10bpc_sse4: 36.8 41.6
inv_txfm_add_4x4_identity_dct_1_10bpc_avx2: 42.7
inv_txfm_add_4x4_identity_flipadst_0_10bpc_c: 202.6 278.9
inv_txfm_add_4x4_identity_flipadst_0_10bpc_sse4: 39.2 43.7
inv_txfm_add_4x4_identity_flipadst_0_10bpc_avx2: 47.1
inv_txfm_add_4x4_identity_flipadst_1_10bpc_c: 202.6 279.3
inv_txfm_add_4x4_identity_flipadst_1_10bpc_sse4: 39.2 43.8
inv_txfm_add_4x4_identity_flipadst_1_10bpc_avx2: 47.0
inv_txfm_add_4x4_identity_identity_0_10bpc_c: 168.7 235.9
inv_txfm_add_4x4_identity_identity_0_10bpc_sse4: 31.7 37.6
inv_txfm_add_4x4_identity_identity_0_10bpc_avx2: 33.9
inv_txfm_add_4x4_identity_identity_1_10bpc_c: 169.1 235.7
inv_txfm_add_4x4_identity_identity_1_10bpc_sse4: 31.7 37.4
inv_txfm_add_4x4_identity_identity_1_10bpc_avx2: 33.8

Files Added:

  • src/meson.build
  • src/x86/itx16_sse.asm
  • src/x86/itx_init_tmpl.c
  • src/x86/itx_sse.asm

f4a8f804fd321dbf7cb26c2203ec9c544f1f71b2 by Matthias Dressel

https://code.videolan.org/videolan/dav1d-/commit/f4a8f804fd321dbf7cb26c2203ec9c544f1f71b2
Authored: 2021-06-12 00:16:34 +0200
Committed: 2021-06-18 17:48:56 +0200

x86: itx: wht: Minor fixes

  • Rename macro for consistency. WHT has exactly one line per register.
  • Use REPX to make code more readable.

Files Added:

  • src/x86/itx16_sse.asm

b3d988fa94b66bd676bda0f9939e45f68f373629 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/b3d988fa94b66bd676bda0f9939e45f68f373629
Authored: 2021-06-18 13:37:15 +0200
Committed: 2021-06-18 13:46:43 +0200

x86: Fix warp_affine_8x8t_16bpc_ssse3 on 64-bit Windows + LLVM

The stack size calculation ended up being incorrect when the stack
alignment was larger than 16 due to auto-generated alignment padding.

Files Added:

  • src/x86/mc16_sse.asm

770c9c834d1818dc7a532dbf3ba3bcb690043cfb by Matthias Dressel

https://code.videolan.org/videolan/dav1d-/commit/770c9c834d1818dc7a532dbf3ba3bcb690043cfb
Authored: 2021-06-18 02:00:35 +0200
Committed: 2021-06-18 02:54:34 +0200

x86: Add bpc suffix to itx functions

Files Added:

  • src/x86/itx16_avx2.asm
  • src/x86/itx_avx2.asm
  • src/x86/itx_init_tmpl.c
  • src/x86/itx_sse.asm

3ff8f571c910c30d924ac76b0a6010d01f256ba8 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/3ff8f571c910c30d924ac76b0a6010d01f256ba8
Authored: 2021-06-11 16:44:59 +0200
Committed: 2021-06-17 12:00:49 +0000

x86: Add high bitdepth warp8x8 SSSE3 asm

Files Added:

  • src/x86/mc16_sse.asm
  • src/x86/mc_init_tmpl.c

e6497c2a253f4913ee3de8b735b2dcbf55271795 by Henrik Gramner

https://code.videolan.org/videolan/dav1d-/commit/e6497c2a253f4913ee3de8b735b2dcbf55271795
Authored: 2021-06-15 21:41:56 +0200
Committed: 2021-06-15 21:41:56 +0200

x86inc: Support memory operands in src1 in 3-operand instructions

Particularly in code that makes heavy use of macros it's possible
to end up with 3-operand instructions with a memory operand in src1.
In the case of SSE this works fine due to automatic move insertions,
but in AVX that fails since memory operands are only allowed in src2.

The main purpose of this feature is to minimize the amount of code
changes required to facilitate conversion of existing SSE code to AVX.

Files Added:

  • src/ext/x86/x86inc.asm
  • src/x86/loopfilter16_sse.asm

b52be25027f95f6868a868001c1b9780343bfbef by Christophe Gisquet

https://code.videolan.org/videolan/dav1d-/commit/b52be25027f95f6868a868001c1b9780343bfbef
Authored: 2021-06-15 09:03:22 -0400
Committed: 2021-06-15 15:57:48 +0000

Disable TMVP code when disabled in sequence header

Speeds up decoding by ~4% when TMVP is disabled in the sequence header.

Files Added:

  • src/decode.c

af16b652aad66f6971f3d2bdedc502b1e24747b6 by Ronald S. Bultje

https://code.videolan.org/videolan/dav1d-/commit/af16b652aad66f6971f3d2bdedc502b1e24747b6
Authored: 2021-06-04 07:11:13 -0400
Committed: 2021-06-15 09:49:02 -0400

Add SSSE3 HBD filmgrain assembly optimizations

Files Added:

  • src/x86/film_grain16_sse.asm

Files Added:

  • src/meson.build
  • src/x86/film_grain_init_tmpl.c

./mach vendor media/libdav1d/moz.yaml failed with the following message:

0:00.59 Latest commit is a5f32330e425aa66e364da3bca99907746fe6cc5 from 2021-08-08T17:50:09.000-04:00
0:00.59 Fetching code archive from https://code.videolan.org/videolan/dav1d/-/archive/a5f32330e425aa66e364da3bca99907746fe6cc5.tar.gz
0:01.54 rm -rf third_party/dav1d
0:01.55 Unpacking upstream files from third_party/dav1d.
0:01.63 Removing unnecessary files.
0:01.63 Removing: ['third_party/dav1d/build/.gitattributes', 'third_party/dav1d/build/.gitignore', 'third_party/dav1d/.gitlab-ci.yml', 'third_party/dav1d/.gitignore']
0:01.63 Updating moz.yaml.
Found release: commit ddbbfde198aced0d02ea739c320d754d43406f7b (2021-06-12T07:58:29.000+00:00).

Found revision: ddbbfde198aced0d02ea739c320d754d43406f7b

0:01.63 Updating files
0:01.63 Registering changes with version control.
0:02.25 Updating moz.build files
0:06.56 Could not add third_party/dav1d/src/x86/film_grain16_sse.asm to the appropriate moz.build file
0:06.57 Could not add third_party/dav1d/src/x86/ipred16_sse.asm to the appropriate moz.build file
0:06.57 This is a deficiency in ./mach vendor and should be reported to the Updatebot maintainers.

Flags: needinfo?(jbauman)

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: 4 years ago
Resolution: --- → DUPLICATE
Flags: needinfo?(jbauman)
You need to log in before you can comment on or make changes to this bug.