SSE2 version of simple in-loop filtering

~10% faster decoding

Patch by Somnath Banerjee (somnath at google dot com)

Change-Id: I200db408272b4f61cda9d9261d2d4370a698d6c4
This commit is contained in:
Pascal Massimino
2011-06-10 15:10:18 -07:00
parent 42548da9e3
commit a11009d7fc
10 changed files with 335 additions and 13 deletions

View File

@ -36,7 +36,7 @@
#include "webp/encode.h"
#include "stopwatch.h"
extern void* VP8GetCPUInfo; // opaque forward declaration.
extern void* VP8EncGetCPUInfo; // opaque forward declaration.
//-----------------------------------------------------------------------------
@ -747,7 +747,7 @@ int main(int argc, const char *argv[]) {
resize_w = strtol(argv[++c], NULL, 0);
resize_h = strtol(argv[++c], NULL, 0);
} else if (!strcmp(argv[c], "-noasm")) {
VP8GetCPUInfo = NULL;
VP8EncGetCPUInfo = NULL;
} else if (!strcmp(argv[c], "-version")) {
const int version = WebPGetEncoderVersion();
printf("%d.%d.%d\n",

View File

@ -40,6 +40,8 @@ extern "C" {
//-----------------------------------------------------------------------------
extern void* VP8DecGetCPUInfo; // opaque forward declaration.
static int verbose = 0;
#ifdef _WIN32
@ -233,6 +235,7 @@ static void Help(void) {
" file with IMC4 layout.\n"
" -version: print version number and exit.\n"
"Use -v for verbose (e.g. print encoding/decoding times)\n"
"Use -noasm to disable all assembly optimizations.\n"
);
}
@ -265,6 +268,8 @@ int main(int argc, const char *argv[]) {
format = PGM;
} else if (!strcmp(argv[c], "-v")) {
verbose = 1;
} else if (!strcmp(argv[c], "-noasm")) {
VP8DecGetCPUInfo = NULL;
} else if (argv[c][0] == '-') {
printf("Unknown option '%s'\n", argv[c]);
Help();