VSE: bilinear upscaling no longer adds transparent border around the image #117717

Merged
Aras Pranckevicius merged 8 commits from aras_p/blender:vse_filter_aa into main 2024-02-02 16:29:01 +01:00

8 Commits

Author SHA1 Message Date
Aras Pranckevicius ca8788d034 Fix parentheses in edge AA "can this line be skipped" check 2024-02-02 12:43:45 +02:00
Aras Pranckevicius d331a3ce54 Code review adjustments 2024-02-02 11:28:22 +02:00
Aras Pranckevicius 5f87655a62 Add non-border bilinear byte code path for fallback non-SSE
This is not used on any of officially supported platforms, but
in case someone is building on something more exotic (PPC? RISC-V? etc.)
let it behave consistently.
2024-02-01 15:55:21 +02:00
Aras Pranckevicius 4ed09a1c86 Fix build/lint
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
2024-02-01 12:46:42 +02:00
Aras Pranckevicius 0f803ba6ff VSE: use bilinear sampling that does not have half a source texel fade to transparency around the edges
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
Particularly when scaling things up, it created a border of transparency
around the source image.
2024-02-01 11:57:09 +02:00
Aras Pranckevicius c178460a76 Cleanup: rename interpolate_bilinear to have "border" in the name
So that it's clear that it treats the image as if having a black border
around it, for edge pixels. In prep for adding bilinear that does not
do that.
2024-02-01 11:15:53 +02:00
Aras Pranckevicius 85342c8f57 Tests: lower VSE render test passing thresholds, defaults are quite high
Added edge anti-aliasing clearly changed the edges of the results,
but due to "eh, that's less than 1% of all pixels" they were considered
as passing.
2024-02-01 11:05:44 +02:00
Aras Pranckevicius 90ae1b1f24 VSE: add approximate edge anti-aliasing for rotated images
Doing "fully properly correct" analytical edge anti-aliasing sounds
complicated and possibly a performance problem. So do an approximation,
i.e. literally just go over the edge pixels and adjust their opacity
based on approximate coverage.
2024-02-01 11:01:36 +02:00