package org.jboss.media.exampleplugins;
import javax.media.Buffer;
import org.jboss.media.engine.MediaPlugin;
public class ColorToGrayScale extends MediaPlugin
{
public int process(Object out)
{
Buffer output = (Buffer)out;
byte[] data = (byte[]) output.getData();
float blue = 0.299f;
float green = 0.587f;
float red = 0.114f;
for (int i = 0; i < data.length; i += 3)
{
int grey =
java.lang.Math.round(
(data[i] * blue + data[i + 1] * green + data[i + 2] * red))
& 0xff;
data[i] = (byte) grey;
data[i + 1] = (byte) grey;
data[i + 2] = (byte) grey;
}
return 0;
}
}