This commit is contained in:
WangQiang 2022-08-04 15:17:07 +08:00
parent 107a04605b
commit 0eafbf9ff1
146 changed files with 711 additions and 574 deletions

View File

@ -333,11 +333,11 @@ maven_install(
"androidx.fragment:fragment:1.3.4",
"androidx.annotation:annotation:aar:1.1.0",
"androidx.appcompat:appcompat:aar:1.1.0-rc01",
"androidx.camera:camera-core:1.0.0-beta10",
"androidx.camera:camera-camera2:1.0.0-beta10",
"androidx.camera:camera-lifecycle:1.0.0-beta10",
"androidx.camera:camera-core:1.0.2",
"androidx.camera:camera-camera2:1.0.2",
"androidx.camera:camera-lifecycle:1.0.2",
"androidx.constraintlayout:constraintlayout:aar:1.1.3",
"androidx.core:core:aar:1.1.0-rc03",
"androidx.core:core:aar:1.1.0",
"androidx.legacy:legacy-support-v4:aar:1.0.0",
"androidx.recyclerview:recyclerview:aar:1.1.0-beta02",
"androidx.test.espresso:espresso-core:3.1.1",
@ -355,6 +355,10 @@ maven_install(
"com.google.guava:listenablefuture:1.0",
"junit:junit:4.12",
"org.hamcrest:hamcrest-library:1.3",
"androidx.lifecycle:lifecycle-livedata-core:2.3.1",
"androidx.lifecycle:lifecycle-livedata:2.3.1",
"androidx.lifecycle:lifecycle-common:2.3.1",
"androidx.lifecycle:lifecycle-runtime:2.3.1",
],
repositories = [
"https://maven.google.com",

View File

@ -333,11 +333,11 @@ maven_install(
"androidx.fragment:fragment:1.3.4",
"androidx.annotation:annotation:aar:1.1.0",
"androidx.appcompat:appcompat:aar:1.1.0-rc01",
"androidx.camera:camera-core:1.0.0-beta10",
"androidx.camera:camera-camera2:1.0.0-beta10",
"androidx.camera:camera-lifecycle:1.0.0-beta10",
"androidx.camera:camera-core:1.0.2",
"androidx.camera:camera-camera2:1.0.2",
"androidx.camera:camera-lifecycle:1.0.2",
"androidx.constraintlayout:constraintlayout:aar:1.1.3",
"androidx.core:core:aar:1.1.0-rc03",
"androidx.core:core:aar:1.1.0",
"androidx.legacy:legacy-support-v4:aar:1.0.0",
"androidx.recyclerview:recyclerview:aar:1.1.0-beta02",
"androidx.test.espresso:espresso-core:3.1.1",
@ -355,6 +355,10 @@ maven_install(
"com.google.guava:listenablefuture:1.0",
"junit:junit:4.12",
"org.hamcrest:hamcrest-library:1.3",
"androidx.lifecycle:lifecycle-livedata-core:2.3.1",
"androidx.lifecycle:lifecycle-livedata:2.3.1",
"androidx.lifecycle:lifecycle-common:2.3.1",
"androidx.lifecycle:lifecycle-runtime:2.3.1",
],
repositories = [
"https://maven.google.com",

View File

@ -35,7 +35,6 @@ import com.google.mediapipe.solutions.facedetection.FaceDetection;
import com.google.mediapipe.solutions.facedetection.FaceDetectionOptions;
import com.google.mediapipe.solutions.facedetection.FaceDetectionResult;
import com.google.mediapipe.solutions.facedetection.FaceKeypoint;
import com.google.mediapipe.formats.proto.LocationDataProto.LocationData.RelativeKeypoint;
import java.io.IOException;
import java.io.InputStream;

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.quark.quamera">
<uses-permission android:name="android.permission.CAMERA" />
<uses-sdk tools:overrideLibrary="androidx.camera.core,androidx.camera.camera2" />
</manifest>

View File

@ -32,6 +32,15 @@ android_library(
srcs = glob(
["**/*.java"],
),
assets = [
"//mediapipe/render/android/camera/java/com/ola/olamera:rbga_2_yuv_frag.frag",
"//mediapipe/render/android/camera/java/com/ola/olamera:rgba_2_yuv_vertex.vert",
],
assets_dir = "",
# resource_files = glob(["res/**"]),
javacopts = ["-Acom.google.auto.value.AutoBuilderIsUnstable"],
manifest = ":AndroidManifest.xml",
visibility = ["//visibility:public"],
deps = [
"@maven//:com_google_guava_guava",
"//third_party:androidx_annotation",
@ -39,6 +48,11 @@ android_library(
"//third_party:camerax_camera2",
"//third_party:camerax_core",
"//third_party:camerax_lifecycle",
"//third_party:lifecycle_livedata",
"//third_party:lifecycle_livedata_core",
"//third_party:androidx_core",
"//third_party:androidx_lifecycle_common",
"//third_party:androidx_lifecycle_runtime",
"@maven//:androidx_exifinterface_exifinterface",
],
)

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera;
package com.ola.olamera.camera;
import android.content.Context;
@ -9,12 +9,12 @@ import android.util.Pair;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.camera.camera.CameraLifeManager;
import com.quark.quamera.camera.camera.CameraRepository;
import com.quark.quamera.camera.concurrent.CameraExecutors;
import com.quark.quamera.camera.session.SessionConfig;
import com.quark.quamera.camera.session.UserCameraSession;
import com.quark.quamera.util.Preconditions;
import com.ola.olamera.camera.camera.CameraLifeManager;
import com.ola.olamera.camera.camera.CameraRepository;
import com.ola.olamera.camera.concurrent.CameraExecutors;
import com.ola.olamera.camera.session.SessionConfig;
import com.ola.olamera.camera.session.UserCameraSession;
import com.ola.olamera.util.Preconditions;
import java.util.Iterator;
import java.util.concurrent.ConcurrentLinkedQueue;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.anotaion;
package com.ola.olamera.camera.anotaion;
/*
* Copyright 2019 The Android Open Source Project

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
import android.annotation.SuppressLint;
import android.hardware.camera2.CameraAccessException;
@ -16,18 +16,18 @@ import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.lifecycle.MutableLiveData;
import com.quark.quamera.camera.anotaion.ExecutedBy;
import com.quark.quamera.camera.concurrent.HandlerScheduledExecutorService;
import com.quark.quamera.camera.sensor.DisplayOrientationDetector;
import com.quark.quamera.camera.session.ImageCapture;
import com.quark.quamera.camera.session.InnerImageCaptureCallback;
import com.quark.quamera.camera.session.RepeatCaptureRequestConfig;
import com.quark.quamera.camera.session.SessionConfig;
import com.quark.quamera.camera.session.SingleCaptureConfig;
import com.quark.quamera.camera.session.SyncCaptureSession;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.CameraShould;
import com.quark.quamera.util.Preconditions;
import com.ola.olamera.camera.anotaion.ExecutedBy;
import com.ola.olamera.camera.concurrent.HandlerScheduledExecutorService;
import com.ola.olamera.camera.sensor.DisplayOrientationDetector;
import com.ola.olamera.camera.session.ImageCapture;
import com.ola.olamera.camera.session.InnerImageCaptureCallback;
import com.ola.olamera.camera.session.RepeatCaptureRequestConfig;
import com.ola.olamera.camera.session.SessionConfig;
import com.ola.olamera.camera.session.SingleCaptureConfig;
import com.ola.olamera.camera.session.SyncCaptureSession;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.CameraShould;
import com.ola.olamera.util.Preconditions;
import java.util.Collections;
import java.util.concurrent.Callable;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
import android.hardware.camera2.CameraCharacteristics;
@ -9,10 +9,10 @@ import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.camera.session.CameraCaptureCallback;
import com.quark.quamera.camera.session.RepeatCaptureRequestConfig;
import com.quark.quamera.camera.session.config.CameraConfigUtils;
import com.quark.quamera.util.ArrayUtil;
import com.ola.olamera.camera.session.CameraCaptureCallback;
import com.ola.olamera.camera.session.RepeatCaptureRequestConfig;
import com.ola.olamera.camera.session.config.CameraConfigUtils;
import com.ola.olamera.util.ArrayUtil;
import java.util.concurrent.Executor;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
import android.graphics.Rect;
@ -9,12 +9,12 @@ import android.util.Range;
import android.util.Size;
import android.util.SizeF;
import com.quark.quamera.camera.sensor.DisplayOrientationDetector;
import com.quark.quamera.camera.sensor.ImageRotationHelper;
import com.quark.quamera.camera.session.CameraSelector;
import com.quark.quamera.util.CameraInit;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.CameraShould;
import com.ola.olamera.camera.sensor.DisplayOrientationDetector;
import com.ola.olamera.camera.sensor.ImageRotationHelper;
import com.ola.olamera.camera.session.CameraSelector;
import com.ola.olamera.util.CameraInit;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.CameraShould;
import java.util.ArrayList;
import java.util.Collections;

View File

@ -1,20 +1,20 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
import android.content.Context;
import android.os.Build;
import android.util.Size;
import com.quark.quamera.camera.preview.IPreviewView;
import com.quark.quamera.camera.sensor.DisplayOrientationDetector;
import com.quark.quamera.camera.sensor.ImageRotationHelper;
import com.quark.quamera.camera.session.CameraCaptureCallback;
import com.quark.quamera.camera.session.CameraSelector;
import com.quark.quamera.camera.session.ImageCapture;
import com.quark.quamera.camera.session.SessionConfig;
import com.quark.quamera.camera.session.SingleCaptureConfig;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.Preconditions;
import com.ola.olamera.camera.preview.IPreviewView;
import com.ola.olamera.camera.sensor.DisplayOrientationDetector;
import com.ola.olamera.camera.sensor.ImageRotationHelper;
import com.ola.olamera.camera.session.CameraCaptureCallback;
import com.ola.olamera.camera.session.CameraSelector;
import com.ola.olamera.camera.session.ImageCapture;
import com.ola.olamera.camera.session.SessionConfig;
import com.ola.olamera.camera.session.SingleCaptureConfig;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.Preconditions;
import java.util.List;
import java.util.concurrent.Executor;
@ -26,7 +26,6 @@ import androidx.lifecycle.Observer;
//保证一次只有一个相机
//所有相机的生命管理
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class CameraLifeManager {
private Camera2CameraImpl mCurrentCamera;
private ImageCapture mImageCapture;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 2021/3/29

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 2021/3/29
@ -11,16 +11,12 @@ import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraDevice;
import android.hardware.camera2.CameraManager;
import android.os.Build;
import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.core.util.Preconditions;
import java.util.concurrent.Executor;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
class CameraManagerCompatBaseImpl implements CameraManagerCompatImpl {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 2021/3/29

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 20-11-23
@ -16,11 +16,11 @@ import android.text.TextUtils;
import android.util.Log;
import android.util.Size;
import com.quark.quamera.camera.anotaion.ExecutedBy;
import com.quark.quamera.camera.session.CameraSelector;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.CameraShould;
import com.quark.quamera.util.Preconditions;
import com.ola.olamera.camera.anotaion.ExecutedBy;
import com.ola.olamera.camera.session.CameraSelector;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.CameraShould;
import com.ola.olamera.util.Preconditions;
import java.util.ArrayList;
import java.util.Comparator;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 20-11-18

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 2021/6/6

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 20-11-23
@ -15,12 +15,12 @@ import android.util.Rational;
import android.util.Size;
import android.view.SurfaceHolder;
import com.quark.quamera.camera.imagereader.DeferrableImageReader;
import com.quark.quamera.camera.sensor.ImageRotationHelper;
import com.quark.quamera.camera.session.ImageCapture;
import com.quark.quamera.camera.session.PreviewConfig;
import com.quark.quamera.util.CameraInit;
import com.quark.quamera.util.CameraLogger;
import com.ola.olamera.camera.imagereader.DeferrableImageReader;
import com.ola.olamera.camera.sensor.ImageRotationHelper;
import com.ola.olamera.camera.session.ImageCapture;
import com.ola.olamera.camera.session.PreviewConfig;
import com.ola.olamera.util.CameraInit;
import com.ola.olamera.util.CameraLogger;
import java.util.ArrayList;
import java.util.Arrays;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
import java.util.List;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
public interface ICameraErrorListener {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.camera;
package com.ola.olamera.camera.camera;
/*
*
* Creation : 2021/6/6

View File

@ -1,6 +1,6 @@
package com.quark.quamera.camera.concurrent;
package com.ola.olamera.camera.concurrent;
import com.quark.quamera.util.SequentialExecutor;
import com.ola.olamera.util.SequentialExecutor;
public class CameraExecutors {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.concurrent;
package com.ola.olamera.camera.concurrent;
/*
*
* Creation : 2021/2/8
@ -11,7 +11,7 @@ import android.os.Handler;
import androidx.annotation.NonNull;
import com.quark.quamera.util.CameraShould;
import com.ola.olamera.util.CameraShould;
import java.util.concurrent.Callable;
import java.util.concurrent.Delayed;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.concurrent;
package com.ola.olamera.camera.concurrent;
import android.os.Handler;
import android.os.Looper;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.imagereader;
package com.ola.olamera.camera.imagereader;
/*
*
* Creation : 2021/4/22

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.imagereader;
package com.ola.olamera.camera.imagereader;
/*
*
* Creation : 20-11-26
@ -9,9 +9,9 @@ import android.media.ImageReader;
import android.os.Build;
import android.os.Handler;
import com.quark.quamera.camera.camera.CameraSurfaceHelper;
import com.quark.quamera.camera.sensor.ImageRotationHelper;
import com.quark.quamera.util.Preconditions;
import com.ola.olamera.camera.camera.CameraSurfaceHelper;
import com.ola.olamera.camera.sensor.ImageRotationHelper;
import com.ola.olamera.util.Preconditions;
import java.util.concurrent.Executor;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.imagereader;
package com.ola.olamera.camera.imagereader;
/*
*
* Creation : 20-12-2

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.imagereader;
package com.ola.olamera.camera.imagereader;
/*
*
* Creation : 20-12-2
@ -13,8 +13,8 @@ import androidx.annotation.GuardedBy;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.camera.sensor.ImageRotationHelper;
import com.quark.quamera.util.Preconditions;
import com.ola.olamera.camera.sensor.ImageRotationHelper;
import com.ola.olamera.util.Preconditions;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicBoolean;

View File

@ -1,10 +1,10 @@
package com.quark.quamera.camera.preview;
package com.ola.olamera.camera.preview;
import android.view.Surface;
import com.quark.quamera.camera.camera.Camera2CameraImpl;
import com.quark.quamera.camera.session.CameraCaptureComboCallback;
import com.ola.olamera.camera.camera.Camera2CameraImpl;
import com.ola.olamera.camera.session.CameraCaptureComboCallback;
import androidx.annotation.NonNull;
import androidx.camera.core.Preview;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.preview;
package com.ola.olamera.camera.preview;
/*
*
* Creation : 2021/7/12
@ -12,7 +12,7 @@ import android.util.Size;
import androidx.camera.core.FocusMeteringResult;
import com.google.common.util.concurrent.ListenableFuture;
import com.quark.quamera.render.photo.SnapShotCommand;
import com.ola.olamera.render.photo.SnapShotCommand;
public interface IPreviewView {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.preview;
package com.ola.olamera.camera.preview;
/*
*
* Creation : 2020/4/15
@ -9,7 +9,7 @@ import android.graphics.SurfaceTexture;
import android.util.Log;
import android.view.Surface;
import com.quark.quamera.util.CameraLogger;
import com.ola.olamera.util.CameraLogger;
import java.util.Arrays;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.preview;
package com.ola.olamera.camera.preview;
import android.view.Surface;
import android.view.SurfaceView;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.preview;
package com.ola.olamera.camera.preview;
import android.annotation.SuppressLint;
import android.graphics.Matrix;
@ -29,9 +29,9 @@ import androidx.annotation.IntRange;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.CameraShould;
import com.quark.quamera.util.ImageUtils;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.CameraShould;
import com.ola.olamera.util.ImageUtils;
/**
* Utility methods for calculating viewports.

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.sensor;
package com.ola.olamera.camera.sensor;
import android.util.Log;
import android.view.Surface;
@ -22,7 +22,7 @@ import android.view.Surface;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;
import com.quark.quamera.camera.session.CameraSelector;
import com.ola.olamera.camera.session.CameraSelector;
/**
* Contains utility methods related to camera orientation.

View File

@ -1,12 +1,12 @@
package com.quark.quamera.camera.sensor;
package com.ola.olamera.camera.sensor;
import android.content.Context;
import android.view.OrientationEventListener;
import com.quark.quamera.util.CameraInit;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.CollectionUtil;
import com.ola.olamera.util.CameraInit;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.CollectionUtil;
import java.lang.ref.WeakReference;
import java.util.ArrayList;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.sensor;
package com.ola.olamera.camera.sensor;
import java.util.concurrent.atomic.AtomicInteger;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.sensor;
package com.ola.olamera.camera.sensor;
import android.os.Build;
@ -6,8 +6,8 @@ import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.camera.camera.Camera2Info;
import com.quark.quamera.camera.session.CameraSelector;
import com.ola.olamera.camera.camera.Camera2Info;
import com.ola.olamera.camera.session.CameraSelector;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.hardware.camera2.CaptureResult;
import android.os.Build;
@ -24,11 +24,11 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import com.quark.quamera.camera.session.CameraCaptureMetaData.AeState;
import com.quark.quamera.camera.session.CameraCaptureMetaData.AfMode;
import com.quark.quamera.camera.session.CameraCaptureMetaData.AfState;
import com.quark.quamera.camera.session.CameraCaptureMetaData.AwbState;
import com.quark.quamera.camera.session.CameraCaptureMetaData.FlashState;
import com.ola.olamera.camera.session.CameraCaptureMetaData.AeState;
import com.ola.olamera.camera.session.CameraCaptureMetaData.AfMode;
import com.ola.olamera.camera.session.CameraCaptureMetaData.AfState;
import com.ola.olamera.camera.session.CameraCaptureMetaData.AwbState;
import com.ola.olamera.camera.session.CameraCaptureMetaData.FlashState;
/**
* The camera2 implementation for the capture result of a single image capture.

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import androidx.annotation.NonNull;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 2021/5/26

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import androidx.annotation.RestrictTo;
import androidx.annotation.RestrictTo.Scope;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.hardware.camera2.CaptureResult;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 20-11-18

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.hardware.camera2.CameraCaptureSession;
import android.hardware.camera2.CaptureFailure;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.hardware.camera2.CameraCaptureSession;
import android.hardware.camera2.CaptureFailure;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.hardware.camera2.CameraCaptureSession;
@ -12,8 +12,8 @@ import android.view.Surface;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.camera.camera.Camera2CameraImpl;
import com.quark.quamera.util.CameraLogger;
import com.ola.olamera.camera.camera.Camera2CameraImpl;
import com.ola.olamera.util.CameraLogger;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class CaptureControlCallback extends CameraCaptureSession.CaptureCallback {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.hardware.camera2.CameraCaptureSession;
import android.hardware.camera2.CaptureFailure;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 20-11-18

View File

@ -1,6 +1,6 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import com.quark.quamera.camera.preview.SurfaceTextureWrapper;
import com.ola.olamera.camera.preview.SurfaceTextureWrapper;
public abstract class ISurfaceUpdateListener extends CameraCaptureCallback {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 20-11-18

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 2021/4/19
@ -16,15 +16,15 @@ import android.os.Build;
import android.util.LayoutDirection;
import android.util.Size;
import com.quark.quamera.camera.camera.Camera2CameraImpl;
import com.quark.quamera.camera.camera.Camera2Info;
import com.quark.quamera.camera.imagereader.DeferrableImageReader;
import com.quark.quamera.camera.preview.IPreviewView;
import com.quark.quamera.camera.preview.ViewPorts;
import com.quark.quamera.camera.session.config.CameraConfigUtils;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.ImageUtils;
import com.quark.quamera.util.Should;
import com.ola.olamera.camera.camera.Camera2CameraImpl;
import com.ola.olamera.camera.camera.Camera2Info;
import com.ola.olamera.camera.imagereader.DeferrableImageReader;
import com.ola.olamera.camera.preview.IPreviewView;
import com.ola.olamera.camera.preview.ViewPorts;
import com.ola.olamera.camera.session.config.CameraConfigUtils;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.ImageUtils;
import com.ola.olamera.util.Should;
import java.io.ByteArrayInputStream;
import java.nio.ByteBuffer;
@ -38,8 +38,8 @@ import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.exifinterface.media.ExifInterface;
import static com.quark.quamera.util.ImageUtils.min;
import static com.quark.quamera.util.ImageUtils.sizeToVertexes;
import static com.ola.olamera.util.ImageUtils.min;
import static com.ola.olamera.util.ImageUtils.sizeToVertexes;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class ImageCapture {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 2021/7/13

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.hardware.camera2.CameraCharacteristics;
@ -10,11 +10,11 @@ import android.util.Range;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.camera.camera.Camera2Info;
import com.quark.quamera.camera.camera.CameraSurfaceHelper;
import com.quark.quamera.camera.imagereader.DeferrableImageReader;
import com.quark.quamera.camera.preview.IPreviewView;
import com.quark.quamera.camera.session.config.CameraConfigUtils;
import com.ola.olamera.camera.camera.Camera2Info;
import com.ola.olamera.camera.camera.CameraSurfaceHelper;
import com.ola.olamera.camera.imagereader.DeferrableImageReader;
import com.ola.olamera.camera.preview.IPreviewView;
import com.ola.olamera.camera.session.config.CameraConfigUtils;
import java.util.List;
import java.util.concurrent.Executor;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 20-12-19
@ -10,7 +10,7 @@ import android.hardware.camera2.CaptureRequest;
import androidx.annotation.NonNull;
import com.quark.quamera.camera.camera.Camera2Info;
import com.ola.olamera.camera.camera.Camera2Info;
import java.util.concurrent.Executor;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
import android.os.Handler;
@ -6,9 +6,9 @@ import android.os.Looper;
import androidx.annotation.NonNull;
import com.quark.quamera.camera.camera.CameraErrorListenerHandlerWrapper;
import com.quark.quamera.camera.camera.ICameraErrorListener;
import com.quark.quamera.camera.session.config.CameraSelectConfig;
import com.ola.olamera.camera.camera.CameraErrorListenerHandlerWrapper;
import com.ola.olamera.camera.camera.ICameraErrorListener;
import com.ola.olamera.camera.session.config.CameraSelectConfig;
public class SessionConfig {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 2021/6/18

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 20-11-23
@ -16,14 +16,14 @@ import android.os.Handler;
import android.util.Log;
import android.view.Surface;
import com.quark.quamera.camera.anotaion.ExecutedBy;
import com.quark.quamera.camera.camera.Camera2CameraImpl;
import com.quark.quamera.camera.camera.CameraState;
import com.quark.quamera.camera.imagereader.DeferrableImageReader;
import com.quark.quamera.camera.preview.IPreviewSurfaceProvider;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.CameraShould;
import com.quark.quamera.util.TestOnly;
import com.ola.olamera.camera.anotaion.ExecutedBy;
import com.ola.olamera.camera.camera.Camera2CameraImpl;
import com.ola.olamera.camera.camera.CameraState;
import com.ola.olamera.camera.imagereader.DeferrableImageReader;
import com.ola.olamera.camera.preview.IPreviewSurfaceProvider;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.CameraShould;
import com.ola.olamera.util.TestOnly;
import java.util.ArrayList;
import java.util.List;
@ -126,6 +126,7 @@ public class SyncCaptureSession {
private final CaptureControlCallback mCaptureControlCallback = new CaptureControlCallback();
private void openCaptureSession(@NonNull CameraDevice cameraDevice) {
synchronized (mStateLock) {
if (mSessionConfig == null) {
return;
}
@ -178,8 +179,10 @@ public class SyncCaptureSession {
CameraShould.fail("", e);
}
}
}
public void capture(SingleCaptureConfig singleCaptureConfig, @NonNull CameraDevice cameraDevice, @NonNull InnerImageCaptureCallback capturedCallback) {
synchronized (mStateLock) {
switch (mState) {
case OPENED:
captureInner(singleCaptureConfig, cameraDevice, capturedCallback);
@ -190,9 +193,11 @@ public class SyncCaptureSession {
}
}
}
}
private void captureInner(SingleCaptureConfig singleCaptureConfig, @NonNull CameraDevice cameraDevice,
@NonNull InnerImageCaptureCallback capturedCallback) {
synchronized (mStateLock) {
try {
ImageCapture captureConfig = mSessionConfig.getImageCapture();
@ -272,6 +277,7 @@ public class SyncCaptureSession {
capturedCallback.onError(e);
}
}
}
/**
@ -381,6 +387,7 @@ public class SyncCaptureSession {
public void doRepeatingCaptureAction(@NonNull RepeatCaptureRequestConfig config) {
mHandler.post(() -> {
synchronized (mStateLock) {
switch (mState) {
case OPENED:
issueRepeatingCaptureRequests(config);
@ -395,12 +402,13 @@ public class SyncCaptureSession {
break;
}
}
}
});
}
private void issueRepeatingCaptureRequests(RepeatCaptureRequestConfig action) {
synchronized (mStateLock) {
if (mSessionConfig == null) {
CameraLogger.e(TAG, "Skipping issueRepeatingCaptureRequests for no configuration case.");
return;
@ -444,6 +452,7 @@ public class SyncCaptureSession {
CameraShould.fail("", e);
}
}
}
/**

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session;
package com.ola.olamera.camera.session;
/*
*
* Creation : 20-11-23
@ -7,10 +7,10 @@ package com.quark.quamera.camera.session;
import android.os.Build;
import com.quark.quamera.camera.camera.Camera2Info;
import com.quark.quamera.camera.camera.CameraLifeManager;
import com.quark.quamera.camera.camera.CameraState;
import com.quark.quamera.camera.session.config.CameraSelectConfig;
import com.ola.olamera.camera.camera.Camera2Info;
import com.ola.olamera.camera.camera.CameraLifeManager;
import com.ola.olamera.camera.camera.CameraState;
import com.ola.olamera.camera.session.config.CameraSelectConfig;
import java.util.concurrent.Executor;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session.config;
package com.ola.olamera.camera.session.config;
/*
*
* Creation : 2021/6/30
@ -13,7 +13,7 @@ import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.quark.quamera.util.ArrayUtil;
import com.ola.olamera.util.ArrayUtil;
public class CameraConfigUtils {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camera.session.config;
package com.ola.olamera.camera.session.config;
/*
*
* Creation : 2021/5/7
@ -9,9 +9,9 @@ import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CaptureRequest;
import android.os.Build;
import com.quark.quamera.camera.camera.Camera2Info;
import com.quark.quamera.camera.session.CameraSelector;
import com.quark.quamera.util.CameraLogger;
import com.ola.olamera.camera.camera.Camera2Info;
import com.ola.olamera.camera.session.CameraSelector;
import com.ola.olamera.util.CameraLogger;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
import android.annotation.SuppressLint;
import android.content.Context;
@ -28,7 +28,7 @@ import android.util.Size;
import android.view.Display;
import com.google.common.util.concurrent.ListenableFuture;
import com.quark.quamera.camerax.controller.ForwardingLiveData;
import com.ola.olamera.camerax.controller.ForwardingLiveData;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
/*
*
* Creation : 20-11-25
@ -18,13 +18,13 @@ import android.util.Log;
import android.util.Size;
import android.util.SizeF;
import com.quark.quamera.camera.preview.ViewPort;
import com.quark.quamera.camera.preview.ViewPorts;
import com.quark.quamera.camera.session.SingleCaptureConfig;
import com.quark.quamera.camerax.utils.FocalLengthInfo;
import com.quark.quamera.camerax.utils.SingleThreadHandlerExecutor;
import com.quark.quamera.render.view.CameraXPreviewView;
import com.quark.quamera.util.CameraLogger;
import com.ola.olamera.camera.preview.ViewPort;
import com.ola.olamera.camera.preview.ViewPorts;
import com.ola.olamera.camera.session.SingleCaptureConfig;
import com.ola.olamera.camerax.utils.FocalLengthInfo;
import com.ola.olamera.camerax.utils.SingleThreadHandlerExecutor;
import com.ola.olamera.render.view.CameraXPreviewView;
import com.ola.olamera.util.CameraLogger;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@ -65,7 +65,6 @@ import androidx.lifecycle.LifecycleRegistry;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class CameraXManager implements LifecycleOwner, ICameraManager<CameraXPreviewView> {
private LifecycleCameraController mCameraController;
@ -185,7 +184,7 @@ public class CameraXManager implements LifecycleOwner, ICameraManager<CameraXPre
*/
@UiThread
@SuppressLint("RestrictedApi")
public void takePictureOriginalData(SingleCaptureConfig singleCaptureConfig, com.quark.quamera.camera.session.ImageCapture.OnImageCapturedCallback capturedCallback) {
public void takePictureOriginalData(SingleCaptureConfig singleCaptureConfig, com.ola.olamera.camera.session.ImageCapture.OnImageCapturedCallback capturedCallback) {
if (mCameraController == null) {
return;
}
@ -232,8 +231,8 @@ public class CameraXManager implements LifecycleOwner, ICameraManager<CameraXPre
});
}
private com.quark.quamera.camera.session.CameraSelector.CameraLenFacing mPreCameraLenFacing =
com.quark.quamera.camera.session.CameraSelector.CameraLenFacing.LEN_FACING_BACK;
private com.ola.olamera.camera.session.CameraSelector.CameraLenFacing mPreCameraLenFacing =
com.ola.olamera.camera.session.CameraSelector.CameraLenFacing.LEN_FACING_BACK;
/**
* 转换摄像头
@ -242,7 +241,7 @@ public class CameraXManager implements LifecycleOwner, ICameraManager<CameraXPre
*/
@UiThread
@SuppressLint("RestrictedApi")
public void switchCamera(com.quark.quamera.camera.session.CameraSelector.CameraLenFacing cameraLenFacing, Size previewSize) {
public void switchCamera(com.ola.olamera.camera.session.CameraSelector.CameraLenFacing cameraLenFacing, Size previewSize) {
if (cameraLenFacing == null) {
if (mCurrentCameraSelector == FRONT_SELECTOR) {
mCurrentCameraSelector = BACK_SELECTOR;
@ -253,7 +252,7 @@ public class CameraXManager implements LifecycleOwner, ICameraManager<CameraXPre
if (mPreCameraLenFacing != null && mPreCameraLenFacing == cameraLenFacing) {
return;
}
if (cameraLenFacing == com.quark.quamera.camera.session.CameraSelector.CameraLenFacing.LEN_FACING_FONT) {
if (cameraLenFacing == com.ola.olamera.camera.session.CameraSelector.CameraLenFacing.LEN_FACING_FONT) {
mCurrentCameraSelector = FRONT_SELECTOR;
} else {
mCurrentCameraSelector = BACK_SELECTOR;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
import android.annotation.SuppressLint;
import android.media.ExifInterface;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
/*
*
* Creation : 2021/11/15

View File

@ -1,9 +1,9 @@
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
import android.util.Size;
import com.quark.quamera.camera.session.SingleCaptureConfig;
import com.quark.quamera.render.view.BasePreviewView;
import com.ola.olamera.camera.session.SingleCaptureConfig;
import com.ola.olamera.render.view.BasePreviewView;
import androidx.annotation.NonNull;
@ -27,9 +27,9 @@ public interface ICameraManager<T extends BasePreviewView> {
void startCamera(Size previewSize, boolean useWideCamera, boolean needBindLifecycle, boolean isLimitCaptureSize, Size maxCaptureSize);
void switchCamera(com.quark.quamera.camera.session.CameraSelector.CameraLenFacing cameraLenFacing, Size previewSize);
void switchCamera(com.ola.olamera.camera.session.CameraSelector.CameraLenFacing cameraLenFacing, Size previewSize);
void takePictureOriginalData(SingleCaptureConfig singleCaptureConfig, com.quark.quamera.camera.session.ImageCapture.OnImageCapturedCallback capturedCallback);
void takePictureOriginalData(SingleCaptureConfig singleCaptureConfig, com.ola.olamera.camera.session.ImageCapture.OnImageCapturedCallback capturedCallback);
void enableFlash(boolean enable);

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
import android.Manifest;
import android.annotation.SuppressLint;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
import androidx.camera.lifecycle.ProcessCameraProvider;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax;
package com.ola.olamera.camerax;
import androidx.camera.core.impl.CameraCaptureResult;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
import android.annotation.SuppressLint;
import android.graphics.PointF;
@ -12,8 +12,8 @@ import android.view.ScaleGestureDetector;
import android.view.ViewConfiguration;
import com.google.common.util.concurrent.ListenableFuture;
import com.quark.quamera.camerax.CameraController;
import com.quark.quamera.render.view.CameraXPreviewView;
import com.ola.olamera.camerax.CameraController;
import com.ola.olamera.render.view.CameraXPreviewView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
import android.util.Size;
import android.view.MotionEvent;
@ -8,7 +8,7 @@ import androidx.camera.core.FocusMeteringResult;
import androidx.camera.core.SurfaceRequest;
import com.google.common.util.concurrent.ListenableFuture;
import com.quark.quamera.camerax.CameraController;
import com.ola.olamera.camerax.CameraController;
/**
* @author : liujian

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
/**
* 点击对焦的事件回调

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
import android.annotation.SuppressLint;
import android.graphics.Bitmap;
@ -31,8 +31,8 @@ import android.view.SurfaceView;
import android.view.TextureView;
import android.view.View;
import com.quark.quamera.camerax.controller.internal.compat.quirk.PreviewOneThirdWiderQuirk;
import com.quark.quamera.camerax.controller.internal.compat.quirk.TextureViewRotationQuirk;
import com.ola.olamera.camerax.controller.internal.compat.quirk.PreviewOneThirdWiderQuirk;
import com.ola.olamera.camerax.controller.internal.compat.quirk.TextureViewRotationQuirk;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
import android.graphics.Matrix;
import android.graphics.PointF;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
import android.content.Context;
import android.view.OrientationEventListener;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller;
package com.ola.olamera.camerax.controller;
import android.graphics.Matrix;
import android.graphics.Rect;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller.internal.compat.quirk;
package com.ola.olamera.camerax.controller.internal.compat.quirk;
import android.annotation.SuppressLint;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller.internal.compat.quirk;
package com.ola.olamera.camerax.controller.internal.compat.quirk;
import java.util.ArrayList;
import java.util.List;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller.internal.compat.quirk;
package com.ola.olamera.camerax.controller.internal.compat.quirk;
import android.os.Build;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller.internal.compat.quirk;
package com.ola.olamera.camerax.controller.internal.compat.quirk;
import android.os.Build;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.controller.internal.compat.quirk;
package com.ola.olamera.camerax.controller.internal.compat.quirk;
import android.os.Build;
import android.view.TextureView;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax.filter;
package com.ola.olamera.camerax.filter;
import android.annotation.SuppressLint;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax.utils;
package com.ola.olamera.camerax.utils;
/*
*
* Creation : 2021/5/26
@ -10,9 +10,9 @@ import android.hardware.camera2.CaptureResult;
import android.os.Build;
import android.util.Log;
import com.quark.quamera.render.DefaultCameraRender;
import com.quark.quamera.util.CameraInit;
import com.quark.quamera.util.CameraReflection;
import com.ola.olamera.render.DefaultCameraRender;
import com.ola.olamera.util.CameraInit;
import com.ola.olamera.util.CameraReflection;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.camerax.utils;
package com.ola.olamera.camerax.utils;
public class FocalLengthInfo implements Comparable<FocalLengthInfo> {
public float focalLength = Float.MAX_VALUE;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.quark.quamera.camerax.utils;
package com.ola.olamera.camerax.utils;
import android.os.Handler;
import android.os.HandlerThread;

View File

@ -0,0 +1,63 @@
precision highp float;
precision highp int;
varying vec2 textureCoordinate;
uniform sampler2D inputImageTexture;
uniform float inputImageTextureWidth;
uniform float inputImageTextureHeight;
float cY(float x,float y){
vec4 c=texture2D(inputImageTexture,vec2(x,y));
return 0.183 * c.r + 0.614 * c.g + 0.062 * c.b + 0.0625;
}
vec4 cC(float x,float y,float dx,float dy){
vec4 c0=texture2D(inputImageTexture,vec2(x,y));
vec4 c1=texture2D(inputImageTexture,vec2(x+dx,y));
vec4 c2=texture2D(inputImageTexture,vec2(x,y+dy));
vec4 c3=texture2D(inputImageTexture,vec2(x+dx,y+dy));
return (c0+c1+c2+c3)/4.;
}
float cU(float x,float y,float dx,float dy){
vec4 c=cC(x,y,dx,dy);
return -0.101 * c.r - 0.339 * c.g + 0.439 * c.b + 0.5000;
}
float cV(float x,float y,float dx,float dy){
vec4 c=cC(x,y,dx,dy);
return 0.439 * c.r - 0.399 * c.g - 0.040 * c.b + 0.5000;
}
vec2 cPos(float t,float shiftx,float gy){
vec2 pos=vec2(floor(inputImageTextureWidth*textureCoordinate.x),floor(inputImageTextureHeight*gy));
return vec2(mod(pos.x*shiftx,inputImageTextureWidth),(pos.y*shiftx+floor(pos.x*shiftx/inputImageTextureWidth))*t);
}
vec4 calculateY(){
vec2 pos=cPos(1.,4.,textureCoordinate.y);
vec4 oColor=vec4(0);
float textureYPos=pos.y/inputImageTextureHeight;
oColor[0]=cY(pos.x/inputImageTextureWidth,textureYPos);
oColor[1]=cY((pos.x+1.)/inputImageTextureWidth,textureYPos);
oColor[2]=cY((pos.x+2.)/inputImageTextureWidth,textureYPos);
oColor[3]=cY((pos.x+3.)/inputImageTextureWidth,textureYPos);
return oColor;
}
vec4 calculateUV(float dx,float dy){
vec2 pos=cPos(2.,4.,textureCoordinate.y-0.2500);
vec4 oColor=vec4(0);
float textureYPos=pos.y/inputImageTextureHeight;
oColor[0]= cV(pos.x/inputImageTextureWidth,textureYPos,dx,dy);
oColor[1]= cU(pos.x/inputImageTextureWidth,textureYPos,dx,dy);
oColor[2]= cV((pos.x+2.)/inputImageTextureWidth,textureYPos,dx,dy);
oColor[3]= cU((pos.x+2.)/inputImageTextureWidth,textureYPos,dx,dy);
return oColor;
}
void main() {
if(textureCoordinate.y<0.2500){
gl_FragColor=calculateY();
}else if(textureCoordinate.y<0.3750){
gl_FragColor=calculateUV(1./inputImageTextureWidth,1./inputImageTextureHeight);
}else{
gl_FragColor=vec4(0,0,0,0);
}
}

View File

@ -1,11 +1,11 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
/*
*
* Creation : 2021/4/13
* Author : jiaming.wjm@
*/
import com.quark.quamera.render.view.AndroidGLSurfaceView;
import com.ola.olamera.render.view.AndroidGLSurfaceView;
import java.util.concurrent.Executor;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
import android.annotation.TargetApi;
import android.content.Context;
@ -12,17 +12,17 @@ import android.os.SystemClock;
import android.util.Log;
import android.util.Rational;
import com.quark.quamera.camera.preview.ViewPort;
import com.quark.quamera.render.entry.FrameDetectData;
import com.quark.quamera.render.entry.RenderFlowData;
import com.quark.quamera.render.expansion.IRenderExpansion;
import com.quark.quamera.render.photo.ExportPhoto;
import com.quark.quamera.render.photo.SnapShotCommand;
import com.quark.quamera.render.view.AndroidGLSurfaceView;
import com.quark.quamera.util.CameraInit;
import com.quark.quamera.util.CameraLogger;
import com.quark.quamera.util.CameraShould;
import com.quark.quamera.util.ImageUtils;
import com.ola.olamera.camera.preview.ViewPort;
import com.ola.olamera.render.entry.FrameDetectData;
import com.ola.olamera.render.entry.RenderFlowData;
import com.ola.olamera.render.expansion.IRenderExpansion;
import com.ola.olamera.render.photo.ExportPhoto;
import com.ola.olamera.render.photo.SnapShotCommand;
import com.ola.olamera.render.view.AndroidGLSurfaceView;
import com.ola.olamera.util.CameraInit;
import com.ola.olamera.util.CameraLogger;
import com.ola.olamera.util.CameraShould;
import com.ola.olamera.util.ImageUtils;
import java.util.ArrayList;
import java.util.List;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
import android.annotation.TargetApi;
import android.graphics.Bitmap;
@ -7,9 +7,9 @@ import android.opengl.GLES20;
import android.opengl.Matrix;
import android.util.Log;
import com.quark.quamera.util.GlCommonUtil;
import com.quark.quamera.util.MatrixUtils;
import com.quark.quamera.util.OpenGlUtils;
import com.ola.olamera.util.GlCommonUtil;
import com.ola.olamera.util.MatrixUtils;
import com.ola.olamera.util.OpenGlUtils;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
/*
*
* Creation : 2021/1/26
@ -10,17 +10,17 @@ import android.os.Build;
import android.os.SystemClock;
import android.util.Log;
import com.quark.quamera.camera.camera.Camera2CameraImpl;
import com.quark.quamera.camera.camera.CameraState;
import com.quark.quamera.camera.camera.ICameraStateListener;
import com.quark.quamera.camera.preview.SurfaceTextureWrapper;
import com.quark.quamera.camera.session.CameraCaptureCallback;
import com.quark.quamera.camera.session.CameraCaptureComboCallback;
import com.quark.quamera.camera.session.CameraCaptureResult;
import com.quark.quamera.camerax.utils.CameraXCaptureResultManager;
import com.quark.quamera.util.Camera2CaptureResultManager;
import com.quark.quamera.util.CameraInit;
import com.quark.quamera.util.CameraShould;
import com.ola.olamera.camera.camera.Camera2CameraImpl;
import com.ola.olamera.camera.camera.CameraState;
import com.ola.olamera.camera.camera.ICameraStateListener;
import com.ola.olamera.camera.preview.SurfaceTextureWrapper;
import com.ola.olamera.camera.session.CameraCaptureCallback;
import com.ola.olamera.camera.session.CameraCaptureComboCallback;
import com.ola.olamera.camera.session.CameraCaptureResult;
import com.ola.olamera.camerax.utils.CameraXCaptureResultManager;
import com.ola.olamera.util.Camera2CaptureResultManager;
import com.ola.olamera.util.CameraInit;
import com.ola.olamera.util.CameraShould;
import java.util.Map;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
public class GLConstant {

View File

@ -1,4 +1,4 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
import android.annotation.TargetApi;
import android.graphics.Bitmap;
@ -8,14 +8,14 @@ import android.opengl.GLES20;
import android.util.Log;
import com.quark.quamera.util.GlCommonUtil;
import com.quark.quamera.util.MatrixUtils;
import com.quark.quamera.util.OpenGlUtils;
import com.ola.olamera.util.GlCommonUtil;
import com.ola.olamera.util.MatrixUtils;
import com.ola.olamera.util.OpenGlUtils;
import java.nio.FloatBuffer;
import java.util.LinkedList;
import static com.quark.quamera.render.CropFboFilter.doSnapshot;
import static com.ola.olamera.render.CropFboFilter.doSnapshot;
@TargetApi(18)

View File

@ -1,8 +1,8 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
import android.opengl.EGLContext;
import com.quark.quamera.camera.camera.Camera2CameraImpl;
import com.ola.olamera.camera.camera.Camera2CameraImpl;
import java.util.Map;

View File

@ -1,4 +1,4 @@
package com.quark.quamera.render;
package com.ola.olamera.render;
/*
*
* Creation : 2021/1/28

Some files were not shown because too many files have changed in this diff Show More