Hi,

This series adds AArch64 NEON paths for the 10/12-bit SAO band filter
(shared h26x kernel, hooked into both VVC and HEVC) and reworks the
ALF classification to resolve both 4×4 block indices entirely in
NEON registers.

Patches are based on current master (8828574c).

1/3  aarch64/h26x: add NEON optimizations for 10/12-bit SAO band filter
     Adds ff_h26x_sao_band_filter_{8x8,16x16}_{10,12}_neon alongside
     the existing 8-bit routines.  Offsets fit in signed bytes at both
     depths so the table lookup uses a 32-byte band-offset vector built
     on the stack.  VVC registration wired in dsp_init.c.

     checkasm: 54/54 vvc_sao, 20/20 hevc_sao

2/3  aarch64/hevc: add NEON optimizations for 10/12-bit SAO band filter
     Wires the shared h26x band kernels into hevcdsp_init_aarch64.c for
     HEVC 10/12-bit.  This patch depends on 1/3 for the assembly and
     declarations.

     checkasm: 30/30 hevc_sao (includes new 10/12-bit band tests)

3/3  aarch64/vvc: resolve ALF classification indices with NEON
     Combines gradient summation and index resolution into a single
     helper (ff_alf_classify_sum_idx_neon), keeping summed vectors in
     registers instead of round-tripping through stack arrays and a
     second call back to C.  Removes the superseded inline C resolver
     from the AArch64 template.

     Ampere-1a (GCC 13.3.0), 128×128 classification:
                      parent       NEON
       8-bit          15017.9 ns   14155.5 ns   (−5.7%)
      10-bit          14178.8 ns   13301.5 ns   (−6.2%)
      12-bit          14203.6 ns   13277.9 ns   (−6.5%)

     checkasm: 4032/4032 vvc_alf

I am also looking at the remaining VVC AArch64 gaps — specifically
itx.add_residual and the DCT-II/DST-VII/DCT-8 inverse transforms,
followed by intra prediction (pred_dc, pred_planar, pred_angular).
The x86 side has these covered; AArch64 has nothing yet.  Will send
RFC patches for add_residual soon once I have something worth
reviewing.

Forgejo PRs for reference:
  https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25253
  https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24959
  https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24925

Thanks,
Aaditya
_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to