Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0bfa56e7 authored by Ruben Brunk's avatar Ruben Brunk Committed by Android (Google) Code Review
Browse files

Merge "camera2: Move DngCreator to hardware/camera2." into lmp-preview-dev

parents 13c8cdfb b6079005
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -12632,6 +12632,19 @@ package android.hardware.camera2 {
    method public final int hashCode();
  }
  public final class DngCreator implements java.lang.AutoCloseable {
    ctor public DngCreator(android.hardware.camera2.CameraCharacteristics, android.hardware.camera2.CaptureResult);
    method public void close();
    method public android.hardware.camera2.DngCreator setDescription(java.lang.String);
    method public android.hardware.camera2.DngCreator setLocation(android.location.Location);
    method public android.hardware.camera2.DngCreator setOrientation(int);
    method public android.hardware.camera2.DngCreator setThumbnail(android.graphics.Bitmap);
    method public android.hardware.camera2.DngCreator setThumbnail(android.media.Image);
    method public void writeByteBuffer(java.io.OutputStream, android.util.Size, java.nio.ByteBuffer, long) throws java.io.IOException;
    method public void writeImage(java.io.OutputStream, android.media.Image) throws java.io.IOException;
    method public void writeInputStream(java.io.OutputStream, android.util.Size, java.io.InputStream, long) throws java.io.IOException;
  }
}
package android.hardware.camera2.params {
@@ -14100,19 +14113,6 @@ package android.media {
    ctor public DeniedByServerException(java.lang.String);
  }
  public final class DngCreator implements java.lang.AutoCloseable {
    ctor public DngCreator(android.hardware.camera2.CameraCharacteristics, android.hardware.camera2.CaptureResult);
    method public void close();
    method public android.media.DngCreator setDescription(java.lang.String);
    method public android.media.DngCreator setLocation(android.location.Location);
    method public android.media.DngCreator setOrientation(int);
    method public android.media.DngCreator setThumbnail(android.graphics.Bitmap);
    method public android.media.DngCreator setThumbnail(android.media.Image);
    method public void writeByteBuffer(java.io.OutputStream, android.util.Size, java.nio.ByteBuffer, long) throws java.io.IOException;
    method public void writeImage(java.io.OutputStream, android.media.Image) throws java.io.IOException;
    method public void writeInputStream(java.io.OutputStream, android.util.Size, java.io.InputStream, long) throws java.io.IOException;
  }
  public class ExifInterface {
    ctor public ExifInterface(java.lang.String) throws java.io.IOException;
    method public double getAltitude(double);
+4 −4
Original line number Diff line number Diff line
@@ -14,14 +14,14 @@
 * limitations under the License.
 */

package android.media;
package android.hardware.camera2;

import android.graphics.Bitmap;
import android.graphics.ImageFormat;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CaptureResult;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.location.Location;
import android.media.ExifInterface;
import android.media.Image;
import android.util.Size;

import java.io.IOException;
@@ -266,6 +266,7 @@ public final class DngCreator implements AutoCloseable {
     * </p>
     *
     * @param dngOutput an {@link java.io.OutputStream} to write the DNG file to.
     * @param size the {@link Size} of the image to write, in pixels.
     * @param pixels an {@link java.nio.ByteBuffer} of pixel data to write.
     * @param offset the offset of the raw image in bytes.  This indicates how many bytes will
     *               be skipped in the input before any pixel data is read.
@@ -362,7 +363,6 @@ public final class DngCreator implements AutoCloseable {
                                                            long offset) throws IOException;

    static {
        System.loadLibrary("media_jni");
        nativeClassInit();
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ LOCAL_SRC_FILES:= \
	android_hardware_Camera.cpp \
	android_hardware_camera2_CameraMetadata.cpp \
	android_hardware_camera2_legacy_LegacyCameraDevice.cpp \
	android_hardware_camera2_DngCreator.cpp \
	android_hardware_SensorManager.cpp \
	android_hardware_SerialPort.cpp \
	android_hardware_UsbDevice.cpp \
+2 −0
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ extern int register_android_opengl_jni_GLES31Ext(JNIEnv* env);
extern int register_android_hardware_Camera(JNIEnv *env);
extern int register_android_hardware_camera2_CameraMetadata(JNIEnv *env);
extern int register_android_hardware_camera2_legacy_LegacyCameraDevice(JNIEnv *env);
extern int register_android_hardware_camera2_DngCreator(JNIEnv *env);
extern int register_android_hardware_SensorManager(JNIEnv *env);
extern int register_android_hardware_SerialPort(JNIEnv *env);
extern int register_android_hardware_UsbDevice(JNIEnv *env);
@@ -1286,6 +1287,7 @@ static const RegJNIRec gRegJNI[] = {
    REG_JNI(register_android_hardware_Camera),
    REG_JNI(register_android_hardware_camera2_CameraMetadata),
    REG_JNI(register_android_hardware_camera2_legacy_LegacyCameraDevice),
    REG_JNI(register_android_hardware_camera2_DngCreator),
    REG_JNI(register_android_hardware_SensorManager),
    REG_JNI(register_android_hardware_SerialPort),
    REG_JNI(register_android_hardware_UsbDevice),
+7 −5
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ using namespace img_utils;
        return; \
    }

#define ANDROID_MEDIA_DNGCREATOR_CTX_JNI_ID     "mNativeContext"
#define ANDROID_DNGCREATOR_CTX_JNI_ID     "mNativeContext"

static struct {
    jfieldID mNativeContext;
@@ -163,9 +163,10 @@ static void DngCreator_nativeClassInit(JNIEnv* env, jclass clazz) {
    ALOGV("%s:", __FUNCTION__);

    gDngCreatorClassInfo.mNativeContext = env->GetFieldID(clazz,
            ANDROID_MEDIA_DNGCREATOR_CTX_JNI_ID, "J");
            ANDROID_DNGCREATOR_CTX_JNI_ID, "J");
    LOG_ALWAYS_FATAL_IF(gDngCreatorClassInfo.mNativeContext == NULL,
            "can't find android/media/DngCreator.%s", ANDROID_MEDIA_DNGCREATOR_CTX_JNI_ID);
            "can't find android/hardware/camera2/DngCreator.%s",
            ANDROID_DNGCREATOR_CTX_JNI_ID);

    jclass outputStreamClazz = env->FindClass("java/io/OutputStream");
    LOG_ALWAYS_FATAL_IF(outputStreamClazz == NULL, "Can't find java/io/OutputStream class");
@@ -766,7 +767,8 @@ static JNINativeMethod gDngCreatorMethods[] = {
            (void*) DngCreator_nativeWriteInputStream},
};

int register_android_media_DngCreator(JNIEnv *env) {
int register_android_hardware_camera2_DngCreator(JNIEnv *env) {
    return AndroidRuntime::registerNativeMethods(env,
                   "android/media/DngCreator", gDngCreatorMethods, NELEM(gDngCreatorMethods));
                   "android/hardware/camera2/DngCreator", gDngCreatorMethods,
                   NELEM(gDngCreatorMethods));
}
Loading