Hi, I'm recently starting to see that VIA is a pretty good platform. I run a mixed environment with various Linux distros and occasionally OpenBSD, and I picked up a VIA C7 mini-itx board a while back on a whim thinking I would make a web radio appliance out of it. Well, I then did some more reading and discovered the VIA Padlock crypto acceleration, which blew my mind considering a lot of stuff I work with (HTTP, VPN, various tunneling junk) all use SSL. I benchmarked the lowly VIA C7 against my slightly overclocked Core 2 Duo Conroe E6600 machine here:
Seeing that I've developed a computing style that requires little in the way of processing power, I'd like to start migrating over to all-VIA all the time. Savings would be great for power, noise, size, and price. However, one thing has stopped me, and that's playback of 1080p HD x264-encoded movies. If I were ever to build a machine and expect it to play these movies (HTPC or desktop system, running Linux) I don't think I could use a VIA machine.
So my question is: Is it possible to offload the x264 decoding to a hardware device like a video card, TV tuner, or something similar? Are there any PCI FPGA-type devices that do this? Does VIA have any plans to have on-die hardware x264 acceleration like they do with those couple of crypto algorithms? Does anyone have a VIA-based HTPC that can play these videos without lagging?
Thanks!
Code:
Benchmark of the Padlock ACE hardware crypto (AES, SHA also supported) built
into the VIA C7 Esther CPU
### VIA Platform ###
1GHz VIA C7 Esther
512MB DDR2-533
OpenSSL 0.9.8g, compiled from source with two patches applied:
http://launchpadlibrarian.net/13798833/bug119295.patch
http://www.logix.cz/michal/devel/padlock/contrib/openssl-0.9.8e-engine.diff
uname -a: Linux skil 2.6.24-gentoo-r8 #2 Wed Jul 2 23:37:14 EDT 2008 i686 VIA
Esther processor 1000MHz CentaurHauls GNU/Linux
/proc/cpuinfo:
model name : VIA Esther processor 1000MHz
stepping : 9
cpu MHz : 1000.050
cache size : 128 KB
### Conroe Platform ###
2.4GHz Intel Core 2 Duo E6600 Conroe
4GB DDR2-800
OpenSSL 0.9.8g, compiled from the Gentoo ebuild with default patchset
uname -a: Linux rho 2.6.24-gentoo-r8 #10 SMP Mon Jun 9 21:13:32 EDT 2008
x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux
/proc/cpuinfo:
model name : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
stepping : 6
cpu MHz : 2394.000
cache size : 4096 KB
### To Do List ###
-SCP tranfer benchmark
### OpenSSL Speed Results ###
The 'numbers' are in 1000s of bytes per second processed.
### openssl speed -evp aes-128-ecb
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-ecb 126762.86k 142482.21k 144109.89k 145852.89k 142961.47k
Esther, no Padlock:
aes-128-ecb 6898.21k 7296.00k 7458.47k 7469.08k 7503.87k
Esther, Padlock:
aes-128-ecb 37268.33k 132866.05k 345851.32k 554487.47k 682592.94k
### openssl speed -evp aes-128-cbc
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 107276.00k 122489.12k 127844.83k 128626.12k 127195.38k
Esther, no Padlock:
aes-128-cbc 5963.84k 7214.29k 7605.33k 7743.49k 7776.94k
Esther, Padlock:
aes-128-cbc 26003.26k 87183.96k 200871.63k 297751.40k 405756.91k
### openssl speed -evp aes-128-cfb
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cfb 99261.24k 110985.26k 114055.77k 115168.26k 116121.60k
Esther, no Padlock:
aes-128-cfb 5243.37k 5557.71k 5666.05k 5689.69k 5677.25k
Esther, Padlock:
aes-128-cfb 26073.41k 85303.00k 198466.82k 297701.63k 408073.56k
### openssl speed -evp aes-128-ofb
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-ofb 99685.45k 113478.76k 116491.46k 117980.32k 119286.00k
Esther, no Padlock:
aes-128-ofb 5408.94k 5772.93k 5846.67k 5889.71k 5846.62k
Esther, Padlock:
aes-128-ofb 23559.97k 69845.67k 136543.26k 183345.83k 205428.05k
### openssl speed -evp aes-256-ecb
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256-ecb 98370.93k 106100.06k 109695.91k 109817.43k 108517.62k
Esther, no Padlock:
aes-256-ecb 5182.73k 5398.88k 5491.63k 5492.18k 5518.68k
Esther, Padlock:
aes-256-ecb 37246.76k 131241.22k 309281.00k 469257.22k 613132.97k
### openssl speed -evp aes-256-cbc
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256-cbc 83958.11k 95562.88k 98728.81k 100261.87k 99719.73k
Esther, no Padlock:
aes-256-cbc 4667.30k 5358.21k 5565.49k 5644.97k 5663.40k
Esther, Padlock:
aes-256-cbc 25673.08k 79441.37k 167297.53k 238768.13k 273694.72k
### openssl speed -evp aes-256-cfb
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256-cfb 80436.10k 89025.50k 91642.48k 91556.71k 91328.39k
Esther, no Padlock:
aes-256-cfb 4197.27k 4417.36k 4489.47k 4488.25k 4508.33k
Esther, Padlock:
aes-256-cfb 24791.40k 76777.09k 164742.72k 238743.89k 273672.87k
### openssl speed -evp aes-256-ofb
Conroe:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256-ofb 81480.80k 90217.26k 91674.20k 93780.64k 94752.28k
Esther, no Padlock:
aes-256-ofb 4321.87k 4556.25k 4597.96k 4628.14k 4633.94k
Esther, Padlock:
aes-256-ofb 22786.19k 68545.57k 136475.39k 180449.21k 205417.13k
Seeing that I've developed a computing style that requires little in the way of processing power, I'd like to start migrating over to all-VIA all the time. Savings would be great for power, noise, size, and price. However, one thing has stopped me, and that's playback of 1080p HD x264-encoded movies. If I were ever to build a machine and expect it to play these movies (HTPC or desktop system, running Linux) I don't think I could use a VIA machine.
So my question is: Is it possible to offload the x264 decoding to a hardware device like a video card, TV tuner, or something similar? Are there any PCI FPGA-type devices that do this? Does VIA have any plans to have on-die hardware x264 acceleration like they do with those couple of crypto algorithms? Does anyone have a VIA-based HTPC that can play these videos without lagging?
Thanks!