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

sao asm mismatch with hevc #119

Open
nuomi2021 opened this issue Aug 13, 2023 · 2 comments
Open

sao asm mismatch with hevc #119

nuomi2021 opened this issue Aug 13, 2023 · 2 comments
Labels
question Further information is requested

Comments

@nuomi2021
Copy link
Member

There are several code mismatches with hevc.
like https://github.com/ffvvc/FFmpeg/blob/main/libavcodec/x86/vvc_sao.asm#L193, the EDGE_SRCSTRIDE
and
https://github.com/ffvvc/FFmpeg/blob/main/libavcodec/x86/vvc_sao.asm#L173
@zackerthescar do you know why?

thank you

@nuomi2021 nuomi2021 added the question Further information is requested label Aug 13, 2023
@zackerthescar
Copy link
Contributor

zackerthescar commented Aug 13, 2023

https://github.com/ffvvc/FFmpeg/blob/main/libavcodec/x86/vvc_sao.asm#L193

I had found out that VVC's edge stride was double that of HEVC's, but I didn't realize that this is because of the PB size. Applied a proper fix in #121

https://github.com/ffvvc/FFmpeg/blob/main/libavcodec/x86/vvc_sao.asm#L173

HEVC SAO uses only SSSE3 functions for the 8 and 16 case regardless of if the CPU supports AVX2. Since we're targeting AVX2, we have to declare these functions as AVX2 instead.

Declaring VVC_SAO_EDGE_FILTER 8,0,u after INIT_YMM results in compilation errors, because of the if codeblock on 281-287.

@nuomi2021
Copy link
Member Author

Any machine support avx2 will have ssse3.
Due to data length reasons. use avx2 may not get benefits. It's not a fault to use ssse3 in this case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants