- Aug 19, 2022
-
-
James Almer authored
Fixes a regression since commit 3d3c51a0.
-
- Jul 25, 2022
-
-
Henrik Gramner authored
The code size increase of inlining every call to certain functions isn't a worthwhile trade-off, and most compilers actually ends up overriding those particular inlining hints anyway. In some cases it's also better to split the function into separate luma and chroma functions.
-
- Jul 19, 2022
-
-
In 0aca76c3 sequences of pand/pandn/por was replaced by pblendvb, but one instruction (which now acts as a no-op) was accidentally left in.
-
- Jul 13, 2022
-
-
- Jul 11, 2022
-
-
David Conrad authored
The NEON loop filter's innermost asm function can return to a different location than the address that called it. This messes up the return stack predictor, causing returns to be mispredicted Instead, rework the function to always return to the address that calls it, and instead return the information needed for the caller to short-circuit storing pixels
-
- Jul 06, 2022
-
-
snapcraft version we use is no longer compatible with authentication schemes snap store uses. This could be fixed by updating the snapcraft inside the docker image, but Ubuntu no longer ships an up to date snapcraft version in their own repositories. The other way to install snapcraft is to manually fetch the project and core snaps just like we do in https://code.videolan.org/videolan/docker-images/-/blob/master/vlc-ubuntu-focal/Dockerfile, but that currently fails on Jammy due to conflict in Python versions between what is shipped in Jammy and inside snapcraft project. All in all, it seems snapcraft seems to be abandoned for our CI use-case, and the usefulness of dav1d snap is disputable, so just drop it altogether. Packaging is still available in package/snap/ for the brave souls who want to build it on their own.
-
When compiling with asm enabled there's no point in compiling C versions of DSP functions that have asm implementations using instruction sets that the compiler can unconditionally use. E.g. when compiling with -mssse3 we can remove the C version of all functions with SSSE3 implementations. This is accomplished using the compiler's dead code elimination functionality. Can be configured using the new 'trim_dsp' meson option, which by default is enabled when compiling in release mode.
-
-
- Jun 22, 2022
-
-
- Jun 20, 2022
-
-
Henrik Gramner authored
Enabling/disabling signal handlers is very slow and requires a syscall. A better approach is to keep the signal handlers enabled all the time, and use a simple flag variable to determine if a given signal should be handled or passed on to the default signal handler.
-
Henrik Gramner authored
GetTickCount() increases at a very low frequency, >10ms per tick. When running multiple loops of checkasm instances in parallel different instances regularly ends up using identical seeds. Prefer the use of QueryPerformanceCounter() instead, which ticks at a significantly higher rate, which in turn increases randomness.
-
-
- Jun 14, 2022
-
-
- Jun 13, 2022
-
-
Victorien Le Couviour--Tuffet authored
Fixes use of uninitialized value.
-
- Jun 03, 2022
-
-
-
Verifying that the YMM state is clean when returning from assembly functions helps catching potential issues with AVX/SSE transitions.
-
- Jun 02, 2022
-
-
On Intel CPUs certain AVX-512 shuffle instructions incorrectly flag the upper halves of YMM registers as in use when writing to XMM registers, which may cause AVX/SSE state transitions. This behavior is not documented and only occurs on physical hardware, not when using the Intel SDE, so as far as I can tell it appears to be a hardware bug. Work around the issue by using EVEX-only registers. This avoids the problem at the cost of a slightly larger code size.
-
- May 31, 2022
-
-
fg_data->num_y_points is used in generate_grain_uv, but is only set after the call: move the initialization above.
-
- May 25, 2022
-
-
Matthias Dressel authored
artifacts:reports:cobertura was deprecated in GitLab 14.9
-
Matthias Dressel authored
* meson 0.49.0 * nasm 2.14
-
Matthias Dressel authored
An attacker already has arbitrary code execution inside the container. Ref: CVE-2022-24765
-
Matthias Dressel authored
-
Victorien Le Couviour--Tuffet authored
Insert missing space.
-
Henrik Gramner authored
-
- May 20, 2022
-
-
-
Makes it possible to benchmark the different code paths individually.
-
Alternate between buffers when benchmarking in order to more accurately measure throughout instead of latency.
-
- May 18, 2022
-
-
- May 07, 2022
-
-
Matthias Dressel authored
-
- May 05, 2022
-
-
Matthias Dressel authored
Additionally, switch from 'only'/'except' to 'rules' which is more flexible.
-
Matthias Dressel authored
* Doxygen had a longstanding bug [0] where it would use `dot` even if not configured to do so. Due to this behaviour our config magically worked. This bug is fixed in 1.9.2 therefore we need to explicitly enable `dot` support in order to keep existing functionality. * Enables WARN_AS_ERROR to catch mistakes. * Adds a version string to the header to easily identify which commit the docs are built from. [0] https://github.com/doxygen/doxygen/issues/7273
-
- Apr 28, 2022
-
-
Increasing a reference counter only requires atomicity, but not ordering or synchronization.
-
Checking if the Dav1dRef pointer is non-zero and zeroing it is already performed in dav1d_ref_dec(), no need to do it twice. Also reorder code to enable tail call elimination.
-
Avoids the function call overhead in non-LTO builds. Also reorder code in dav1d_ref_dec() to enable tail call elimination.
-
- Apr 24, 2022
-
-
Matthias Dressel authored
inv_txfm_add_32x8_dct_dct_0_12bpc_c: 286.7 inv_txfm_add_32x8_dct_dct_0_12bpc_avx2: 20.1 inv_txfm_add_32x8_dct_dct_1_12bpc_c: 7832.7 inv_txfm_add_32x8_dct_dct_1_12bpc_avx2: 710.6 inv_txfm_add_32x8_dct_dct_2_12bpc_c: 7838.1 inv_txfm_add_32x8_dct_dct_2_12bpc_avx2: 711.6 inv_txfm_add_32x8_dct_dct_3_12bpc_c: 7818.3 inv_txfm_add_32x8_dct_dct_3_12bpc_avx2: 710.9 inv_txfm_add_32x8_dct_dct_4_12bpc_c: 7820.6 inv_txfm_add_32x8_dct_dct_4_12bpc_avx2: 710.5 inv_txfm_add_32x8_identity_identity_0_12bpc_c: 1526.6 inv_txfm_add_32x8_identity_identity_0_12bpc_avx2: 19.3 inv_txfm_add_32x8_identity_identity_1_12bpc_c: 1519.4 inv_txfm_add_32x8_identity_identity_1_12bpc_avx2: 19.9 inv_txfm_add_32x8_identity_identity_2_12bpc_c: 1519.9 inv_txfm_add_32x8_identity_identity_2_12bpc_avx2: 43.6 inv_txfm_add_32x8_identity_identity_3_12bpc_c: 1519.4 inv_txfm_add_32x8_identity_identity_3_12bpc_avx2: 67.8 inv_txfm_add_32x8_identity_identity_4_12bpc_c: 1523.2 inv_txfm_add_32x8_identity_identity_4_12bpc_avx2: 91.6
-
Matthias Dressel authored
inv_txfm_add_8x32_dct_dct_0_12bpc_c: 334.6 inv_txfm_add_8x32_dct_dct_0_12bpc_avx2: 66.0 inv_txfm_add_8x32_dct_dct_1_12bpc_c: 7929.7 inv_txfm_add_8x32_dct_dct_1_12bpc_avx2: 489.3 inv_txfm_add_8x32_dct_dct_2_12bpc_c: 7925.8 inv_txfm_add_8x32_dct_dct_2_12bpc_avx2: 547.1 inv_txfm_add_8x32_dct_dct_3_12bpc_c: 7928.9 inv_txfm_add_8x32_dct_dct_3_12bpc_avx2: 647.8 inv_txfm_add_8x32_dct_dct_4_12bpc_c: 7916.1 inv_txfm_add_8x32_dct_dct_4_12bpc_avx2: 701.0 inv_txfm_add_8x32_identity_identity_0_12bpc_c: 2413.1 inv_txfm_add_8x32_identity_identity_0_12bpc_avx2: 28.6 inv_txfm_add_8x32_identity_identity_1_12bpc_c: 2415.2 inv_txfm_add_8x32_identity_identity_1_12bpc_avx2: 28.6 inv_txfm_add_8x32_identity_identity_2_12bpc_c: 2413.7 inv_txfm_add_8x32_identity_identity_2_12bpc_avx2: 55.1 inv_txfm_add_8x32_identity_identity_3_12bpc_c: 2415.4 inv_txfm_add_8x32_identity_identity_3_12bpc_avx2: 85.3 inv_txfm_add_8x32_identity_identity_4_12bpc_c: 2401.8 inv_txfm_add_8x32_identity_identity_4_12bpc_avx2: 116.8
-
Matthias Dressel authored
-
- Apr 23, 2022
-
-
Matthias Dressel authored
-
- Apr 08, 2022
-
-
James Almer authored
From section 6.8.2 in the AV1 spec: "It is a requirement of bitstream conformance that when show_existing_frame is used to show a previous frame with RefFrameType[ frame_to_show_map_idx ] equal to KEY_FRAME, that the frame is output via the show_existing_frame mechanism at most once."
-
James Almer authored
From section 6.8.2 in the AV1 spec: "It is a requirement of bitstream conformance that when show_existing_frame is used to show a previous frame, that the value of showable_frame for the previous frame was equal to 1."
-