Skip to content

Instantly share code, notes, and snippets.

View LiewJunTung's full-sized avatar

Liew Jun Tung LiewJunTung

View GitHub Profile
struct String
{
using CppType = std::string;
using JniType = jstring;
using Boxed = String;
static CppType toCpp(JNIEnv* jniEnv, JniType j)
{
assert(j != nullptr);
---
name: byte_buffer
typedef: 'record'
params: []
prefix: ''
cpp:
typename: 'int8_t*'
header: '<string>'
byValue: true
objc:
calculator = interface +c {
# ...
update_rgb_frame(rgb_buffer: byte_buffer);
}
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from calculator.djinni
public abstract class Calculator {
//....
public abstract void updateRgbFrame(java.nio.ByteBuffer rgbBuffer);
}
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from calculator.djinni
CJNIEXPORT void JNICALL Java_com_jtliew_Calculator_00024CppProxy_native_1updateRgbFrame(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, ::djinni::ByteBuffer::JniType j_rgbBuffer)
{
try {
DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef);
const auto& ref = ::djinni::objectFromHandleAddress<::jtliew::Calculator>(nativeRef);
ref->updateRgbFrame(::djinni::ByteBuffer::toCpp(jniEnv, j_rgbBuffer));
} JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, )
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from calculator.djinni
namespace calculator {
class Calculator {
public:
virtual void updateRgbFrame(int8_t* rgb_buffer) = 0;
}
class SCameraController {
....
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
Image image = reader.acquireNextImage();
void CalculatorImpl::updateRgbFrame(int8_t *rgb_buffer) {
ImageInfo imageInfo;
Calculator::UpdateCaptureFrameBGRA(imageInfo, rgb_buffer);
}
namespace calculator {
class CalculatorImpl : public calculator::Calculator {
public:
//...
void updateRgbFrame(int8_t *rgb_buffer) override;
}
@LiewJunTung
LiewJunTung / RgbConversion.kt
Created December 7, 2018 10:15
Convert YUV to RGB from camera directly
package com.netvirta.curvecapturescanner
import android.graphics.ImageFormat
import android.renderscript.Allocation
import android.renderscript.Element
import android.renderscript.RenderScript
import android.renderscript.ScriptIntrinsicYuvToRGB
import android.renderscript.Type
import android.util.Log
import android.util.Size