1ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray/*
2ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * Copyright (C) 2013 The Android Open Source Project
3ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *
4ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * Licensed under the Apache License, Version 2.0 (the "License");
5ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * you may not use this file except in compliance with the License.
6ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * You may obtain a copy of the License at
7ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *
8ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *      http://www.apache.org/licenses/LICENSE-2.0
9ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray *
10ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * Unless required by applicable law or agreed to in writing, software
11ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * distributed under the License is distributed on an "AS IS" BASIS,
12ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * See the License for the specific language governing permissions and
14ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray * limitations under the License.
15ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray */
16ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
17ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murraypackage android.support.v8.renderscript;
18ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
19ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
20ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murraypublic class ScriptIntrinsicYuvToRGBThunker extends ScriptIntrinsicYuvToRGB {
21ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    android.renderscript.ScriptIntrinsicYuvToRGB mN;
22ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
23ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    android.renderscript.ScriptIntrinsicYuvToRGB getNObj() {
24ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return mN;
25ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
26ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
27ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
28ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    private ScriptIntrinsicYuvToRGBThunker(int id, RenderScript rs) {
29ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        super(id, rs);
30ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
31ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
32ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public static ScriptIntrinsicYuvToRGBThunker create(RenderScript rs, Element e) {
33ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        RenderScriptThunker rst = (RenderScriptThunker) rs;
34ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        ElementThunker et = (ElementThunker) e;
35ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
36ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        ScriptIntrinsicYuvToRGBThunker si = new ScriptIntrinsicYuvToRGBThunker(0, rs);
37ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        si.mN = android.renderscript.ScriptIntrinsicYuvToRGB.create(rst.mN, et.getNObj());
38ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return si;
39ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
40ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
41ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
42ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void setInput(Allocation ain) {
43ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aint = (AllocationThunker)ain;
44ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.setInput(aint.getNObj());
45ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
46ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
47ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public void forEach(Allocation aout) {
48ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        AllocationThunker aoutt = (AllocationThunker)aout;
49ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        mN.setInput(aoutt.getNObj());
50ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
51ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
52ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.KernelID getKernelID() {
53ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.KernelID k = createKernelID(0, 2, null, null);
54ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        k.mN = mN.getKernelID();
55ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return k;
56ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
57ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray
58ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    public Script.FieldID getFieldID_Input() {
59ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        Script.FieldID f = createFieldID(0, null);
60ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        f.mN = mN.getFieldID_Input();
61ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray        return f;
62ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray    }
63ce8b0e674c93035013d1c33aaabc9bb6ceffde0fTim Murray}
64