aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/log.c
diff options
context:
space:
mode:
authorStone Chen <chen.stonechen@gmail.com>2024-05-21 20:00:32 -0400
committerJames Almer <jamrial@gmail.com>2024-05-22 20:36:21 -0300
commit0e52a4e4347550ca1ccc1bf896b52824ed259158 (patch)
tree3c50c614f82c11e0a5d71e7dd5bfedbdfce8a513 /libavutil/log.c
parent3146b77a7d314f55b8ec5d8ce6fda2c5db049a27 (diff)
downloadffmpeg-0e52a4e4347550ca1ccc1bf896b52824ed259158.tar.gz
libavcodec/x86/vvc: Add AVX2 DMVR SAD functions for VVC
Implements AVX2 DMVR (decoder-side motion vector refinement) SAD functions. DMVR SAD is only calculated if w >= 8, h >= 8, and w * h > 128. To reduce complexity, SAD is only calculated on even rows. This is calculated for all video bitdepths, but the values passed to the function are always 16bit (even if the original video bitdepth is 8). The AVX2 implementation uses min/max/sub. Additionally this changes parameters dx and dy from int to intptr_t. This allows dx & dy to be used as pointer offsets without needing to use movsxd. Benchmarks ( AMD 7940HS ) Before: BQTerrace_1920x1080_60_10_420_22_RA.vvc | 106.0 | Chimera_8bit_1080P_1000_frames.vvc | 204.3 | NovosobornayaSquare_1920x1080.bin | 197.3 | RitualDance_1920x1080_60_10_420_37_RA.266 | 174.0 | After: BQTerrace_1920x1080_60_10_420_22_RA.vvc | 109.3 | Chimera_8bit_1080P_1000_frames.vvc | 216.0 | NovosobornayaSquare_1920x1080.bin | 204.0| RitualDance_1920x1080_60_10_420_37_RA.266 | 181.7 | Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavutil/log.c')
0 files changed, 0 insertions, 0 deletions