#include <stdlib.h>
static /*__attribute__ ((noinline))*/ int Sub3(int a, int b, int c) {
const int pb = b - c;
const int pa = a - c;
return abs(pb) - abs(pa);
}
static unsigned Select(unsigned a, unsigned b, unsigned c) {
const int pa_minus_pb =
Sub3((a >> 24) & 0xff, (b >> 24) & 0xff, (c >> 24) & 0xff) +
Sub3((a >> 16) & 0xff, (b >> 16) & 0xff, (c >> 16) & 0xff) +
Sub3((a >> 8) & 0xff, (b >> 8) & 0xff, (c >> 8) & 0xff) +
Sub3((a >> 0) & 0xff, (b >> 0) & 0xff, (c >> 0) & 0xff);
return (pa_minus_pb <= 0) ? a : b;
}
static unsigned Predictor11(unsigned left, const unsigned* const top) {
const unsigned pred = Select(top[0], left, top[-1]);
return pred;
}
typedef unsigned (*VP8LPredictorFunc)(unsigned left, const unsigned* const top);
const VP8LPredictorFunc kPredictorsC[] = {
Predictor11,
};