Update dav1d to new version a8181ebc88319e25ba6d7086b250da77e4e6748d from 2021-05-04 06:34:11
Categories
(Core :: Audio/Video: Playback, enhancement)
Tracking
()
People
(Reporter: update-bot, Unassigned)
References
Details
(Whiteboard: [3pl-filed])
This update covers 19 commits:
7f5759744dd3fbcc7bf34244f945551a2f25ecd6 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/7f5759744dd3fbcc7bf34244f945551a2f25ecd6
Authored: 2021-03-16 08:42:30 +0200
Committed: 2021-03-16 14:01:46 +0200
checkasm: Drop one layer of macro expansion for concatenation
The usual two-layer macro expansion for concatenation isn't needed
here, as the parameters that needs expanding (PIXEL_TYPE, COEF_TYPE)
end up expanded by the intermediate checkasm_check() macro anyway.
Files Added:
- tests/checkasm/checkasm.h
ae8958bdc7d30847158eafcec14552213708402f by Matthias Dressel
https://code.videolan.org/videolan/dav1d-/commit/ae8958bdc7d30847158eafcec14552213708402f
Authored: 2021-04-02 15:45:28 +0200
Committed: 2021-04-12 20:18:03 +0000
CI: Fix asm checks
meson 0.57.0 introduced an optimization [0] for meson test to only
rebuild test dependencies. This does not cover changing the build
configuration anymore.
[0] https://mesonbuild.com/Release-notes-for-0-57-0.html
Files Added:
- .gitlab-ci.yml
ffb347eecdbf2d4f6b3e1c3c28966d4a779be9e1 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/ffb347eecdbf2d4f6b3e1c3c28966d4a779be9e1
Authored: 2021-03-20 00:22:25 +0200
Committed: 2021-04-14 14:57:30 +0000
filmgrain: Use the BITDEPTH_MAX macro and round2 helper function
The fgy function already used the round2 helper function in this way.
Files Added:
- src/film_grain_tmpl.c
ca29d17901db5d4ebdcac7b0832685c775e3fbef by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/ca29d17901db5d4ebdcac7b0832685c775e3fbef
Authored: 2021-03-21 17:09:58 +0200
Committed: 2021-04-14 14:57:30 +0000
checkasm: filmgrain: Check all overlap combinations in each run
Previously, only some combinations of overlap were tested in each run.
Also benchmark with and without overlap.
Files Added:
- tests/checkasm/filmgrain.c
5407eaf2e69f7d17b0a14b8db390604d0f557025 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/5407eaf2e69f7d17b0a14b8db390604d0f557025
Authored: 2021-03-24 14:21:37 +0200
Committed: 2021-04-14 14:57:30 +0000
attributes: Add a CHECK_OFFSET macro for verifying struct offsets
A static_assert is used if available, otherwise a custom
construct.
Files Added:
- include/common/attributes.h
90bcb3314124d988992485aeb4bcd900904ef472 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/90bcb3314124d988992485aeb4bcd900904ef472
Authored: 2021-03-15 14:26:09 +0200
Committed: 2021-04-14 14:57:30 +0000
arm64: filmgrain: Add NEON implementation of the fguv function
Relative speedup over C code:
Cortex A53 A72 A73 Apple M1
fguv_32x32xn_8bpc_420_csfl0_neon: 4.51 2.87 3.88 6.51
fguv_32x32xn_8bpc_420_csfl1_neon: 3.74 2.96 2.96 3.49
fguv_32x32xn_8bpc_422_csfl0_neon: 4.49 3.18 4.07 5.00
fguv_32x32xn_8bpc_422_csfl1_neon: 3.74 3.03 3.04 2.67
fguv_32x32xn_8bpc_444_csfl0_neon: 6.68 4.24 5.66 5.02
fguv_32x32xn_8bpc_444_csfl1_neon: 5.40 3.69 4.22 3.61
Files Added:
- src/arm/asm-offsets.h
Files Added:
- src/arm/64/film_grain.S
- src/arm/film_grain_init_tmpl.c
54ad561dfa8d5b450caa2fecc741ca6c44b80e7a by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/54ad561dfa8d5b450caa2fecc741ca6c44b80e7a
Authored: 2021-03-22 13:18:52 +0200
Committed: 2021-04-14 14:57:30 +0000
arm64: filmgrain: Share the prologue of the fgy function
This is the same as what was done for the fguv function, to reduce
the amount of space used for it (and also simplifying the calling
code).
This gives no significant slowdown for the case currently benchmarked
by checkasm, while shrinking the code produced by film_grain.S by
320 bytes.
Files Added:
- src/arm/64/film_grain.S
- src/arm/film_grain_init_tmpl.c
a98f5e6056568de9125c1fbb4f63f525b95e30b1 by James Almer
https://code.videolan.org/videolan/dav1d-/commit/a98f5e6056568de9125c1fbb4f63f525b95e30b1
Authored: 2021-04-14 14:22:26 -0300
Committed: 2021-04-16 10:54:48 -0300
dav1d: add event flags to the decoding process
And a function to fetch them. Should be useful to signal changes in the
bitstream the user may want to know about.
Starting with two flags, DAV1D_EVENT_FLAG_NEW_SEQUENCE and
DAV1D_EVENT_FLAG_NEW_OP_PARAMS_INFO, which signal the presence of an updated
sequence header in the last returned (or to be returned) picture.
Files Added:
- include/dav1d/dav1d.h
- meson.build
- src/decode.c
- src/internal.h
- src/lib.c
- src/obu.c
- src/picture.c
- src/picture.h
685a73bc8b2efc948c39dcb72dfd24a5d9646811 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/685a73bc8b2efc948c39dcb72dfd24a5d9646811
Authored: 2021-04-22 15:29:56 +0300
Committed: 2021-04-22 15:31:04 +0300
x86: Fix writes past the intended area in AVX2 fguv
Files Added:
- src/x86/film_grain.asm
35d1d011fda4a92bcaf42d30ed137583b27d7f6d by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/35d1d011fda4a92bcaf42d30ed137583b27d7f6d
Authored: 2021-02-19 11:30:45 +0200
Committed: 2021-04-22 15:31:04 +0300
checkasm: Add macros for allocating and checking padded pixel buffers
Files Added:
- tests/checkasm/checkasm.c
- tests/checkasm/checkasm.h
cba53586219c5201ad56167155ec22902bbe34bf by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/cba53586219c5201ad56167155ec22902bbe34bf
Authored: 2021-02-19 11:31:11 +0200
Committed: 2021-04-22 15:31:04 +0300
checkasm: ipred: Use the padded pixel checking function
Files Added:
- tests/checkasm/ipred.c
d130da9c315d5a1d3968d278bbee2238ad9051e7 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/d130da9c315d5a1d3968d278bbee2238ad9051e7
Authored: 2021-03-16 14:00:12 +0200
Committed: 2021-04-22 15:31:04 +0300
checkasm: Extend the padding checker to allow for some amount of overwrite
This allows specifying that the actual buffers are allocated with some
alignment, allowing the implementations to overwrite the area between
the intended width and the aligned width, but not past that.
Files Added:
- tests/checkasm/checkasm.c
- tests/checkasm/checkasm.h
ee54837b0be349ac05c7806ba9df5810fb2ca693 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/ee54837b0be349ac05c7806ba9df5810fb2ca693
Authored: 2021-03-16 14:01:14 +0200
Committed: 2021-04-22 15:31:04 +0300
checkasm: filmgrain: Add a padded check for fgy and fguv
This clearly specifies how much overwrite is allowed.
Files Added:
- tests/checkasm/filmgrain.c
bd7f051168149a97867cceb8dcd5fd33d56a4957 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/bd7f051168149a97867cceb8dcd5fd33d56a4957
Authored: 2021-04-27 09:13:00 +0300
Committed: 2021-04-27 09:16:50 +0300
Remove a variable that is set but not used
This fixes warnings when building with the top of tree version of
clang:
tools/input/ivf.c:69:12: warning: variable 'res' set but not used [-Wunused-but-set-variable]
Alternatively, a (void)res cast also marks the variable as used,
silencing the same warning.
Files Added:
- tools/input/ivf.c
4023c9a445a0902da8ce7d7d3779489b4b51d4b9 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/4023c9a445a0902da8ce7d7d3779489b4b51d4b9
Authored: 2021-04-26 00:38:59 +0300
Committed: 2021-04-27 15:32:40 +0300
arm64: filmgrain: Add the missing HIGHBD_DECL_SUFFIX for the fguv functions
Files Added:
- src/arm/film_grain_init_tmpl.c
1206819d988277a63489d5c2221d7599d9c0e818 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/1206819d988277a63489d5c2221d7599d9c0e818
Authored: 2021-03-26 11:45:56 +0200
Committed: 2021-04-27 15:32:40 +0300
checkasm: Implement printing of grain lut entries
Files Added:
- tests/checkasm/checkasm.c
- tests/checkasm/checkasm.h
- tests/checkasm/filmgrain.c
c16c0bbeab538446c90d38afc6ee2b5e7e21be06 by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/c16c0bbeab538446c90d38afc6ee2b5e7e21be06
Authored: 2021-03-22 10:14:58 +0200
Committed: 2021-04-27 15:40:59 +0300
arm64: filmgrain: Add NEON implementation of the generate_grain_y function
Relative speedup over C code:
Cortex A53 A72 A73 Apple M1
gen_grain_y_ar0_8bpc_neon: 5.03 5.17 5.59 5.55
gen_grain_y_ar1_8bpc_neon: 3.38 3.38 3.56 2.77
gen_grain_y_ar2_8bpc_neon: 5.00 4.64 5.06 3.38
gen_grain_y_ar3_8bpc_neon: 6.74 6.53 6.67 4.66
Files Added:
- src/arm/64/film_grain.S
- src/arm/asm-offsets.h
- src/arm/film_grain_init_tmpl.c
136585101bd5fa8a07a5c7bf66390439a1c7d387 by Wan-Teh Chang
https://code.videolan.org/videolan/dav1d-/commit/136585101bd5fa8a07a5c7bf66390439a1c7d387
Authored: 2021-04-28 01:54:31 +0000
Committed: 2021-04-28 17:48:22 +0000
Subsample out->p.h correctly in dav1d_apply_grain
The height of the chroma planes should be calculated as
(out->p.h + ss_ver) >> ss_ver, not out->p.h >> ss_ver.
This bug was reported in https://crbug.com/1201074. The bug can be
detected by decoding an AVIF image of size 228x1 that has film grain
synthesis under MemorySanitizer. MemorySanitizer reports a
use-of-uninitialized-value error when we read the U plane at index 64.
Files Added:
- src/fg_apply_tmpl.c
a8181ebc88319e25ba6d7086b250da77e4e6748d by Martin Storsjö
https://code.videolan.org/videolan/dav1d-/commit/a8181ebc88319e25ba6d7086b250da77e4e6748d
Authored: 2021-04-08 14:11:59 +0300
Committed: 2021-05-04 06:34:11 +0000
arm64: filmgrain: Add NEON implementation of the generate_grain_uv functions
The existing functions/macros for generate_grain_y are templated
for adding in the a final coefficient from the y buffer, while
trying to keep the binary size down.
Relative speedup over C code:
Cortex A53 A72 A73 Apple M1
gen_grain_uv_ar0_8bpc_420_neon: 4.62 4.55 5.27 9.08
gen_grain_uv_ar0_8bpc_422_neon: 4.81 4.90 5.33 7.25
gen_grain_uv_ar0_8bpc_444_neon: 5.05 5.17 5.69 7.04
gen_grain_uv_ar1_8bpc_420_neon: 3.61 3.09 3.68 3.92
gen_grain_uv_ar1_8bpc_422_neon: 3.71 3.22 3.64 3.46
gen_grain_uv_ar1_8bpc_444_neon: 3.59 3.40 3.67 3.11
gen_grain_uv_ar2_8bpc_420_neon: 4.77 3.85 4.81 4.55
gen_grain_uv_ar2_8bpc_422_neon: 4.88 3.96 4.85 4.15
gen_grain_uv_ar2_8bpc_444_neon: 5.18 4.65 5.18 3.83
gen_grain_uv_ar3_8bpc_420_neon: 6.14 5.25 6.14 5.64
gen_grain_uv_ar3_8bpc_422_neon: 6.27 5.27 6.28 5.42
gen_grain_uv_ar3_8bpc_444_neon: 6.84 6.40 6.79 5.18
Files Added:
- src/arm/64/film_grain.S
- src/arm/asm-offsets.h
- src/arm/film_grain_init_tmpl.c
| Reporter | ||
Comment 1•5 years ago
|
||
./mach vendor %s failed with the following message:
Could not vendor library. Received the following error from ./mach vendor:> > 0:00.16 Starting new HTTPS connection (1): code.videolan.org> 0:00.55 Latest commit is a8181ebc88319e25ba6d7086b250da77e4e6748d from 2021-05-04T06:34:11.000+00:00> 0:00.55 Fetching code archive from https://code.videolan.org/videolan/dav1d/-/archive/a8181ebc88319e25ba6d7086b250da77e4e6748d.tar.gz> 0:00.55 Starting new HTTPS connection (1): code.videolan.org> 0:01.50 rm -rf third_party/dav1d> 0:01.51 Unpacking upstream files from third_party/dav1d.> 0:01.58 Removing unnecessary files.> 0:01.58 Removing: ['third_party/dav1d/build/.gitattributes', 'third_party/dav1d/build/.gitignore', 'third_party/dav1d/.gitignore', 'third_party/dav1d/.gitlab-ci.yml']> 0:01.58 Updating moz.yaml.> Found release: commit 6c6d25d355b78556d231b1a5633ded2ddb9e3774 (2021-03-15T14:38:41.000+02:00).> > Found revision: 6c6d25d355b78556d231b1a5633ded2ddb9e3774> > 0:01.58 Updating files> 0:01.59 Registering changes with version control.> 0:02.20 Updating moz.build files> 0:06.63 Could not add third_party/dav1d/src/arm/asm-offsets.h to the appropriate moz.build file> 0:06.63 This is a deficiency in ./mach vendor and should be reported to the Updatebot maintainers.
Updated•5 years ago
|
Description
•