Search in sources :

Example 91 with FrameValue

use of androidx.media.filterfw.FrameValue in project android_frameworks_base by ResurrectionRemix.

the class ContrastRatioFilter method onProcess.

@Override
protected void onProcess() {
    FrameImage2D inputImage = getConnectedInputPort("image").pullFrame().asFrameImage2D();
    float contrastRatio;
    ByteBuffer inputBuffer = inputImage.lockBytes(Frame.MODE_READ);
    contrastRatio = contrastOperator(inputImage.getWidth(), inputImage.getHeight(), inputBuffer);
    inputImage.unlock();
    if (mLogVerbose)
        Log.v(TAG, "contrastRatio: " + contrastRatio);
    OutputPort contrastToGoodnessPort = getConnectedOutputPort("contrastRatingToGoodness");
    FrameValue contrastOutFrame2 = contrastToGoodnessPort.fetchAvailableFrame(null).asFrameValue();
    contrastOutFrame2.setValue(contrastRatio);
    contrastToGoodnessPort.pushFrame(contrastOutFrame2);
}
Also used : OutputPort(androidx.media.filterfw.OutputPort) FrameImage2D(androidx.media.filterfw.FrameImage2D) ByteBuffer(java.nio.ByteBuffer) FrameValue(androidx.media.filterfw.FrameValue)

Example 92 with FrameValue

use of androidx.media.filterfw.FrameValue in project android_frameworks_base by ResurrectionRemix.

the class MotionSensorWTime method onProcess.

@Override
protected void onProcess() {
    OutputPort outPort = getConnectedOutputPort("values");
    FrameValues outFrame = outPort.fetchAvailableFrame(null).asFrameValues();
    synchronized (mValues) {
        if (mCounter < 3 && mCounter >= 0) {
            mTemp[0][mCounter] = mValues[0];
            mTemp[1][mCounter] = mValues[1];
            mTemp[2][mCounter] = mValues[2];
        }
        mCounter = (mCounter + 1) % 3;
        mAvgValues[0] = (mTemp[0][0] + mTemp[0][1] + mTemp[0][2]) / 3;
        mAvgValues[1] = (mTemp[1][0] + mTemp[1][1] + mTemp[1][2]) / 3;
        mAvgValues[2] = (mTemp[2][0] + mTemp[2][1] + mTemp[2][2]) / 3;
        outFrame.setValues(mAvgValues);
    }
    outFrame.setTimestamp(System.currentTimeMillis() * 1000000L);
    outPort.pushFrame(outFrame);
    OutputPort timeOutPort = getConnectedOutputPort("timestamp");
    if (timeOutPort != null) {
        long timestamp = System.nanoTime();
        Log.v("MotionSensor", "Timestamp is: " + timestamp);
        FrameValue timeStampFrame = timeOutPort.fetchAvailableFrame(null).asFrameValue();
        timeStampFrame.setValue(timestamp);
        timeOutPort.pushFrame(timeStampFrame);
    }
}
Also used : OutputPort(androidx.media.filterfw.OutputPort) FrameValues(androidx.media.filterfw.FrameValues) FrameValue(androidx.media.filterfw.FrameValue)

Example 93 with FrameValue

use of androidx.media.filterfw.FrameValue in project android_frameworks_base by ResurrectionRemix.

the class WaveTriggerFilter method onProcess.

@Override
protected synchronized void onProcess() {
    // Check if we were triggered
    if (mTrigger) {
        mInWaveMode = true;
        mTrigger = false;
        mTime = 0.5f;
    }
    // Calculate output value
    float value = 0.5f;
    if (mInWaveMode) {
        value = -Math.abs(mTime - 1f) + 1f;
        mTime += 0.2f;
        if (mTime >= 2f) {
            mInWaveMode = false;
        }
    }
    // Push Value
    OutputPort outPort = getConnectedOutputPort("value");
    FrameValue frame = outPort.fetchAvailableFrame(null).asFrameValue();
    frame.setValue(value);
    outPort.pushFrame(frame);
}
Also used : OutputPort(androidx.media.filterfw.OutputPort) FrameValue(androidx.media.filterfw.FrameValue)

Example 94 with FrameValue

use of androidx.media.filterfw.FrameValue in project android_frameworks_base by ResurrectionRemix.

the class ImageGoodnessFilterTest method testAwfulPicture.

public void testAwfulPicture() throws Exception {
    FrameValue sharpnessFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    sharpnessFrame.setValue(10f);
    FrameValue oEFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    oEFrame.setValue(0.39f);
    FrameValue uEFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    uEFrame.setValue(0.25f);
    FrameValue colorFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    colorFrame.setValue(2.1f);
    FrameValue contrastFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    contrastFrame.setValue(0.18f);
    FrameValue motionFrame = createFrame(FrameType.array(), new int[] { 1 }).asFrameValue();
    float[] motionFloatArray = { 9.0f, 3.0f, 2.0f };
    motionFrame.setValue(motionFloatArray);
    injectInputFrame("sharpness", sharpnessFrame);
    injectInputFrame("overExposure", oEFrame);
    injectInputFrame("underExposure", uEFrame);
    injectInputFrame("colorfulness", colorFrame);
    injectInputFrame("contrastRating", contrastFrame);
    injectInputFrame("motionValues", motionFrame);
    process();
    assertEquals("Awful Picture", (String) getOutputFrame("goodOrBadPic").asFrameValue().getValue());
}
Also used : FrameValue(androidx.media.filterfw.FrameValue)

Example 95 with FrameValue

use of androidx.media.filterfw.FrameValue in project android_frameworks_base by ResurrectionRemix.

the class ImageGoodnessFilterTest method testGreatPicture.

public void testGreatPicture() throws Exception {
    FrameValue sharpnessFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    sharpnessFrame.setValue(50f);
    FrameValue oEFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    oEFrame.setValue(0.01f);
    FrameValue uEFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    uEFrame.setValue(0.02f);
    FrameValue colorFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    colorFrame.setValue(2.1f);
    FrameValue contrastFrame = createFrame(FrameType.single(), new int[] { 1 }).asFrameValue();
    contrastFrame.setValue(0.25f);
    FrameValue motionFrame = createFrame(FrameType.array(), new int[] { 1 }).asFrameValue();
    float[] motionFloatArray = { 0.0f, 0.0f, 0.0f };
    motionFrame.setValue(motionFloatArray);
    injectInputFrame("sharpness", sharpnessFrame);
    injectInputFrame("overExposure", oEFrame);
    injectInputFrame("underExposure", uEFrame);
    injectInputFrame("colorfulness", colorFrame);
    injectInputFrame("contrastRating", contrastFrame);
    injectInputFrame("motionValues", motionFrame);
    process();
    assertEquals("Great Picture!", (String) getOutputFrame("goodOrBadPic").asFrameValue().getValue());
}
Also used : FrameValue(androidx.media.filterfw.FrameValue)

Aggregations

FrameValue (androidx.media.filterfw.FrameValue)112 OutputPort (androidx.media.filterfw.OutputPort)60 FrameImage2D (androidx.media.filterfw.FrameImage2D)32 ByteBuffer (java.nio.ByteBuffer)20 Bitmap (android.graphics.Bitmap)12 FrameBuffer2D (androidx.media.filterfw.FrameBuffer2D)12 FrameValues (androidx.media.filterfw.FrameValues)4 BufferedWriter (java.io.BufferedWriter)4 FileWriter (java.io.FileWriter)4 IOException (java.io.IOException)4 FloatBuffer (java.nio.FloatBuffer)4