[FFmpeg-devel] [PATCH v5 1/2][GSoC 2024] libavcodec/x86/vvc: Add AVX2 DMVR SAD functions for VVC

Stone Chen chen.stonechen at gmail.com
Thu May 23 16:23:45 EEST 2024


On Thu, May 23, 2024 at 9:18 AM Nuo Mi <nuomi2021 at gmail.com> wrote:

> On Thu, May 23, 2024 at 7:38 AM James Almer <jamrial at gmail.com> wrote:
>
> > On 5/21/2024 10:01 PM, Ronald S. Bultje wrote:
> > > Hi,
> > >
> > > On Tue, May 21, 2024 at 8:01 PM Stone Chen <chen.stonechen at gmail.com>
> > wrote:
> > >
> > >> 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 |
> > >> ---
> > >>   libavcodec/vvc/dsp.c             |   2 +-
> > >>   libavcodec/vvc/dsp.h             |   2 +-
> > >>   libavcodec/x86/vvc/Makefile      |   3 +-
> > >>   libavcodec/x86/vvc/vvc_sad.asm   | 130
> +++++++++++++++++++++++++++++++
> > >>   libavcodec/x86/vvc/vvcdsp_init.c |   6 ++
> > >>   5 files changed, 140 insertions(+), 3 deletions(-)
> > >>   create mode 100644 libavcodec/x86/vvc/vvc_sad.asm
> > >>
> > >
> > > LGTM.
> > >
> > > Ronald
> >
> > Implemented my changes and applied.
> >
>

Hi all,


> Thank you, Ronald, Andreas, and James.
>
> Hi Stone,
> Congratulations on surviving your first crossfire!
>


Yes thank you Ronald, Andreas and James for the feedback! Also Nuo Mi and
Jian Hua as well.

-Stone


>
> _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> >
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-devel mailing list