Change #260083
| Category | ffmpeg |
| Changed by | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> |
| Changed at | Fri 06 Mar 2026 20:02:42 |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Project | ffmpeg |
| Branch | master |
| Revision | 38062ebd18cf2f0de3720bdef054e941d69b6336 |
Comments
avcodec/x86/vvc/alf: Remove pointless counter, stride Each luma alf block has 2*12 auxiliary coefficients associated with it that the alf_filter functions consume; the C version simply increments the pointers. The x64 dsp function meanwhile does things differenty: The vvc_alf_filter functions have three levels of loops. The middle layer uses two counters, one of which is just the horizontal offset xd in the current line. It is only used for addressing these auxiliary coefficients and yet one needs to perform work translate from it to the coefficient offset, namely a *3 via lea and a *2 scale. Furthermore, the base pointers of the coefficients are incremented in the outer loop; the stride used for this is calculated in the C wrapper functions. Furthermore, due to GPR pressure xd is reused as loop counter for the innermost loop; the xd from the middle loop is pushed to the stack. Apart from the translation from horizontal offset to coefficient offset all of the above has been done for chroma, too, although the coefficient pointers don't get modified for them at all. This commit changes this to just increment the pointers after reading the relevant coefficients. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Changed files
- libavcodec/x86/vvc/alf.asm
- libavcodec/x86/vvc/dsp_init.c