165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn/*
265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * Copyright (C) 2011 The Android Open Source Project
365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *
465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * Licensed under the Apache License, Version 2.0 (the "License");
565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * you may not use this file except in compliance with the License.
665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * You may obtain a copy of the License at
765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *
865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *      http://www.apache.org/licenses/LICENSE-2.0
965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *
1065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * Unless required by applicable law or agreed to in writing, software
1165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * distributed under the License is distributed on an "AS IS" BASIS,
1265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * See the License for the specific language governing permissions and
1465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * limitations under the License.
1565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn */
1665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
1765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#ifndef ANDROID_FILTERFW_JNI_NATIVE_FRAME_H
1865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#define ANDROID_FILTERFW_JNI_NATIVE_FRAME_H
1965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#include <jni.h>
2165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#ifdef __cplusplus
2365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Rennextern "C" {
2465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#endif
2565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
2765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_nativeAllocate(JNIEnv* env, jobject thiz, jint size);
2865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
3065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_nativeDeallocate(JNIEnv* env, jobject thiz);
3165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jint JNICALL
3365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_nativeIntSize(JNIEnv* env, jclass clazz);
3465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jint JNICALL
3665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_nativeFloatSize(JNIEnv* env, jclass clazz);
3765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
3965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_setNativeInts(JNIEnv* env, jobject thiz, jintArray ints);
4065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
4165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jintArray JNICALL
4265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_getNativeInts(JNIEnv* env, jobject thiz, jint size);
4365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
4465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
4565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_setNativeFloats(JNIEnv* env, jobject thiz, jfloatArray ints);
4665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
4765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jfloatArray JNICALL
4865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_getNativeFloats(JNIEnv* env, jobject thiz, jint size);
4965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
5065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
5165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_setNativeData(JNIEnv* env,
5265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                     jobject thiz,
5365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                     jbyteArray data,
5465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                     jint offset,
5565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                     jint length);
5665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
5765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jbyteArray JNICALL
5865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_getNativeData(JNIEnv* env, jobject thiz, jint size);
5965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
6065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
6165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_getNativeBuffer(JNIEnv* env, jobject thiz, jobject buffer);
6265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
6365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
6465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_setNativeBitmap(JNIEnv* env,
6565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jobject thiz,
6665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jobject bitmap,
6765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jint size,
6865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jint bytes_per_sample);
6965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
7065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
7165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_getNativeBitmap(JNIEnv* env,
7265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jobject thiz,
7365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jobject bitmap,
7465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jint size,
7565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                       jint bytes_per_sample);
7665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
7765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jint JNICALL
7865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_getNativeCapacity(JNIEnv* env, jobject thiz);
7965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
8065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
8165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_nativeCopyFromNative(JNIEnv* env,
8265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                            jobject thiz,
8365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                            jobject frame);
8465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
8565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
8665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeFrame_nativeCopyFromGL(JNIEnv* env,
8765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                        jobject thiz,
8865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                        jobject frame);
8965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
9065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#ifdef __cplusplus
9165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn}
9265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#endif
9365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
9465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#endif // ANDROID_FILTERFW_JNI_NATIVE_FRAME_H
95