Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Windows] bump dav1d to 1.2.0 #23277

Merged
merged 1 commit into from
May 19, 2023
Merged

[Windows] bump dav1d to 1.2.0 #23277

merged 1 commit into from
May 19, 2023

Conversation

thexai
Copy link
Member

@thexai thexai commented May 13, 2023

Description

Bump dav1d to 1.2.0

https://code.videolan.org/videolan/dav1d/-/releases/1.2.0

Changes for 1.2.0 'Arctic Peregrine Falcon':
-------------------------------------------

1.2.0 is a small release of dav1d, adding more SIMD and fixes

- Improvements on attachments of props and T.35 entries on output pictures
- NEON z1/z3 high bit-depth optimizations and improvements for 8bpc
- SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
- refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
- AVX-512 optimizations for high bit-depth itx (16x64, 32x64, 64x16, 64x32, 64x64)
- AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx


Changes for 1.1.0 'Arctic Peregrine Falcon':
-------------------------------------------

1.1.0 is an important release of dav1d, fixing numerous bugs, and adding SIMD

- New function dav1d_get_frame_delay to query the decoder frame delay
- Numerous fixes for strict conformity to the specs and samples
- NEON and AVX-512 misc fixes and improvements
- Partial AVX2 12bpc transform implementations
- AVX-512 high bit-depth cdef_filter, loopfilter, itx
- NEON z1/z3 optimization for 8bpc
- SSSE3 z1 optimization for 8bpc

 "From VideoLAN with love"


Changes for 1.0.0 'Peregrine Falcon':
-------------------------------------

1.0.0 is a major release of dav1d, adding important features and bug fixes.

It notably changes, in an important way, the way threading works, by adding
an automatic thread management.

It also adds support for AVX-512 acceleration, and adds speedups to existing x86
code (from SSE2 to AVX2).

1.0.0 adds new grain API to ease acceleration on the GPU, and adds an API call
to get information of which frame failed to decode, in error cases.

Finally, 1.0.0 fixes numerous small bugs that were reported since the beginning
of the project to have a proper release.

                                     .''.
         .''.      .        *''*    :_\/_:     .
        :_\/_:   _\(/_  .:.*_\/_*   : /\ :  .'.:.'.
    .''.: /\ :   ./)\   ':'* /\ * :  '..'.  -=:o:=-
   :_\/_:'.:::.    ' *''*    * '.\'/.' _\(/_'.':'.'
   : /\ : :::::     *_\/_*     -= o =-  /)\    '  *
    '..'  ':::'     * /\ *     .'/.\'.   '
        *            *..*         :
          *                       :
          *         1.0.0



Changes for 0.9.2 'Golden Eagle':
---------------------------------

0.9.2 is a small update of dav1d on the 0.9.x branch:
 - x86: SSE4 optimizations of inverse transforms for 10bit for all sizes
 - x86: mc.resize optimizations with AVX2/SSSE3 for 10/12b
 - x86: SSSE3 optimizations for cdef_filter in 10/12b and mc_w_mask_422/444 in 8b
 - ARM NEON optimizations for FilmGrain Gen_grain functions
 - Optimizations for splat_mv in SSE2/AVX2 and NEON
 - x86: SGR improvements for SSSE3 CPUs
 - x86: AVX2 optimizations for cfl_ac


Changes for 0.9.1 'Golden Eagle':
---------------------------------

0.9.1 is a middle-size revision of dav1d, adding notably 10b acceleration for SSSE3:
 - 10/12b SSSE3 optimizations for mc (avg, w_avg, mask, w_mask, emu_edge),
   prep/put_bilin, prep/put_8tap, ipred (dc/h/v, paeth, smooth, pal, filter), wiener,
   sgr (10b), warp8x8, deblock, film_grain, cfl_ac/pred for 32bit and 64bit x86 processors
 - Film grain NEON for fguv 10/12b, fgy/fguv 8b and fgy/fguv 10/12 arm32
 - Fixes for filmgrain on ARM
 - itx 10bit optimizations for 4x4/x8/x16, 8x4/x8/x16 for SSE4
 - Misc improvements on SSE2, SSE4


Changes for 0.9.0 'Golden Eagle':
---------------------------------

0.9.0 is a major version of dav1d, adding notably 10b acceleration on x64.

Details:
 - x86 (64bit) AVX2 implementation of most 10b/12b functions, which should provide
   a large boost for high-bitdepth decoding on modern x86 computers and servers.
 - ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
 - New API to signal events happening during the decoding process

Motivation and context

This is a massive improvement in Windows as only we using v0.8.2 and current version has a lot of assembler optimizations.

How has this been tested?

Runtime tested Windows x64 and UWP-64

What is the effect on users?

Less CPU usage decoding AV1 on systems that not supports DXVA2 HW acceleration.

Screenshots (if appropriate):

This is a comparison v1.1.0 vs v0.8.2 on Intel NUC8i3BEK (v1.2.0 should be even better)

Before - dav1d 0.8.2
screenshot00013

After - dav1d 1.1.0
screenshot00011

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • Clean up (non-breaking change which removes non-working, unmaintained functionality)
  • Improvement (non-breaking change which improves existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that will cause existing functionality to change)
  • Cosmetic change (non-breaking change that doesn't touch code)
  • None of the above (please explain below)

Checklist:

  • My code follows the Code Guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • I have read the Contributing document
  • I have added tests to cover my change
  • All new and existing tests passed

@thexai
Copy link
Member Author

thexai commented May 13, 2023

These packages should be upload to mirrors before merge:

dav1d-1.2.0-win10-arm-v142-20230513.7z
dav1d-1.2.0-win10-win32-v142-20230513.7z
dav1d-1.2.0-win10-x64-v142-20230513.7z
dav1d-1.2.0-win32-v142-20230513.7z
dav1d-1.2.0-x64-v142-20230513.7z

https://github.com/xbmc/kodi-deps/actions/runs/4966098879

@thexai thexai requested a review from fuzzard May 17, 2023 17:58
@fuzzard
Copy link
Contributor

fuzzard commented May 18, 2023

zips are uploaded.

@thexai
Copy link
Member Author

thexai commented May 18, 2023

Jenkins build this please

@thexai thexai requested a review from Paxxi May 18, 2023 10:11
Copy link
Member

@Paxxi Paxxi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@thexai thexai merged commit 7c43468 into xbmc:master May 19, 2023
2 checks passed
@thexai
Copy link
Member Author

thexai commented May 19, 2023

Note that FFmpeg needs to be rebuild with new dav1d headers, this already happens in nightlies but mentioned here for those who make their own Kodi builds.

@thexai thexai deleted the bump-dav1d branch May 19, 2023 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants