Dark Shikari
21st March 2009, 01:21
Per this RFC (http://forum.doom9.org/showthread.php?t=145561). I decided to spend an hour writing this, so I did. It's currently completely unoptimized: no assembly from x264 yet.
Usage: x264Resize(). No arguments, no nothing, just works.
Description:
A high performance 2x resize filter using the H.264 6-tap hpel filter algorithm.
Pros:
Similar quality to Lanczos.
Faster than Lanczos (currently almost as fast as Bicubic).
Cons:
Slower than it should be (I haven't added the assembly yet).
Shifts the image 0.25 pixels in the +X and +Y directions, respectively.
YV12-only, because I'm lazy.
2x resize only.
In other words, it's meant for display purposes--where you don't care about a 0.25 pixel shift, and where YV12 is all you care about. I don't feel like implementing non-planar formats, but if someone wants to, feel free; the source is GPL and included.
Download x264Resize 0.1 (http://mirror05.x264.nl/Dark/force.php?file=./x264Resize.7z)
It's a bit alpha at the moment--I don't intend it to be particularly usable until the asm is in.
Usage: x264Resize(). No arguments, no nothing, just works.
Description:
A high performance 2x resize filter using the H.264 6-tap hpel filter algorithm.
Pros:
Similar quality to Lanczos.
Faster than Lanczos (currently almost as fast as Bicubic).
Cons:
Slower than it should be (I haven't added the assembly yet).
Shifts the image 0.25 pixels in the +X and +Y directions, respectively.
YV12-only, because I'm lazy.
2x resize only.
In other words, it's meant for display purposes--where you don't care about a 0.25 pixel shift, and where YV12 is all you care about. I don't feel like implementing non-planar formats, but if someone wants to, feel free; the source is GPL and included.
Download x264Resize 0.1 (http://mirror05.x264.nl/Dark/force.php?file=./x264Resize.7z)
It's a bit alpha at the moment--I don't intend it to be particularly usable until the asm is in.