what-the-bank/sources/o/C6318cPT.java

438 lines
15 KiB
Java

package o;
import android.graphics.Rect;
import android.graphics.SurfaceTexture;
import android.media.MediaCodec;
import android.media.MediaFormat;
import android.opengl.EGL14;
import android.opengl.EGLDisplay;
import android.opengl.EGLExt;
import android.opengl.EGLSurface;
import android.opengl.GLES20;
import android.os.Handler;
import android.os.HandlerThread;
import android.view.Surface;
import com.kofax.mobile.sdk._internal.impl.extraction.rtti.RttiJsonExactionHelper;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.FloatBuffer;
import java.util.ArrayList;
import java.util.Objects;
/* renamed from: o.cPT, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C6318cPT implements AutoCloseable, SurfaceTexture.OnFrameAvailableListener {
private final Rect B;
private SurfaceTexture C;
public sSl a;
public MediaCodec b;
final Sts c;
public LWm d;
final int f;
final int g;
final int i;
final int j;
public final int k;
public int l;
public final Handler m;
final int n;
/* renamed from: o, reason: collision with root package name */
boolean f8616o;
final boolean p;
public final int q;
final int r;
public int s;
public nlo t;
private ByteBuffer u;
private final Rect v;
private final HandlerThread w;
private Surface x;
private Surface z;
private final ArrayList<ByteBuffer> y = new ArrayList<>();
public final ArrayList<ByteBuffer> h = new ArrayList<>();
final ArrayList<Integer> e = new ArrayList<>();
private final float[] A = new float[16];
/* renamed from: o.cPT$Sts */
/* loaded from: classes.dex */
public static abstract class Sts {
public abstract void a();
public abstract void c(ByteBuffer byteBuffer);
public abstract void zq_(MediaCodec.CodecException codecException);
public abstract void zr_(MediaFormat mediaFormat);
}
/* JADX WARN: Removed duplicated region for block: B:46:0x01be */
/* JADX WARN: Removed duplicated region for block: B:63:0x0261 */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public C6318cPT(int r20, int r21, boolean r22, int r23, int r24, android.os.Handler r25, o.C6318cPT.Sts r26) throws java.io.IOException {
/*
Method dump skipped, instructions count: 666
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: o.C6318cPT.<init>(int, int, boolean, int, int, android.os.Handler, o.cPT$Sts):void");
}
public final void b() {
GLES20.glViewport(0, 0, this.f, this.i);
for (int i = 0; i < this.g; i++) {
for (int i2 = 0; i2 < this.j; i2++) {
int i3 = this.f;
int i4 = i2 * i3;
int i5 = this.i;
int i6 = i * i5;
this.B.set(i4, i6, i3 + i4, i5 + i6);
nlo nloVar = this.t;
int i7 = this.s;
float[] fArr = iPJ.e;
Rect rect = this.B;
nloVar.a[0] = rect.left / nloVar.f;
nloVar.a[1] = 1.0f - (rect.bottom / nloVar.e);
nloVar.a[2] = rect.right / nloVar.f;
nloVar.a[3] = 1.0f - (rect.bottom / nloVar.e);
nloVar.a[4] = rect.left / nloVar.f;
nloVar.a[5] = 1.0f - (rect.top / nloVar.e);
nloVar.a[6] = rect.right / nloVar.f;
nloVar.a[7] = 1.0f - (rect.top / nloVar.e);
nloVar.d.put(nloVar.a);
nloVar.d.position(0);
iPJ ipj = nloVar.b;
float[] fArr2 = iPJ.c;
FloatBuffer floatBuffer = nlo.c;
FloatBuffer floatBuffer2 = nloVar.d;
iPJ.e("draw start");
GLES20.glUseProgram(ipj.b);
iPJ.e("glUseProgram");
GLES20.glActiveTexture(33984);
GLES20.glBindTexture(ipj.d, i7);
GLES20.glUniformMatrix4fv(ipj.f, 1, false, fArr2, 0);
iPJ.e("glUniformMatrix4fv");
GLES20.glUniformMatrix4fv(ipj.j, 1, false, fArr, 0);
iPJ.e("glUniformMatrix4fv");
GLES20.glEnableVertexAttribArray(ipj.a);
iPJ.e("glEnableVertexAttribArray");
GLES20.glVertexAttribPointer(ipj.a, 2, 5126, false, 8, (Buffer) floatBuffer);
iPJ.e("glVertexAttribPointer");
GLES20.glEnableVertexAttribArray(ipj.g);
iPJ.e("glEnableVertexAttribArray");
GLES20.glVertexAttribPointer(ipj.g, 2, 5126, false, 8, (Buffer) floatBuffer2);
iPJ.e("glVertexAttribPointer");
GLES20.glDrawArrays(5, 0, 4);
iPJ.e("glDrawArrays");
GLES20.glDisableVertexAttribArray(ipj.a);
GLES20.glDisableVertexAttribArray(ipj.g);
GLES20.glBindTexture(ipj.d, 0);
GLES20.glUseProgram(0);
sSl ssl = this.a;
int i8 = this.l;
this.l = i8 + 1;
EGLExt.eglPresentationTimeANDROID(ssl.a, ssl.c, (((i8 * 1000000) / this.q) + 132) * 1000);
sSl ssl2 = this.a;
EGL14.eglSwapBuffers(ssl2.a, ssl2.c);
}
}
}
@Override // android.graphics.SurfaceTexture.OnFrameAvailableListener
public final void onFrameAvailable(SurfaceTexture surfaceTexture) {
synchronized (this) {
sSl ssl = this.a;
if (ssl == null) {
return;
}
ssl.c();
surfaceTexture.updateTexImage();
surfaceTexture.getTransformMatrix(this.A);
long timestamp = surfaceTexture.getTimestamp();
LWm lWm = this.d;
int i = this.l;
if (lWm.b(timestamp, ((((i + r4) - 1) * 1000000) / this.q) + 132)) {
b();
}
surfaceTexture.releaseTexImage();
EGLDisplay eGLDisplay = this.a.a;
EGLSurface eGLSurface = EGL14.EGL_NO_SURFACE;
if (EGL14.eglMakeCurrent(eGLDisplay, eGLSurface, eGLSurface, EGL14.EGL_NO_CONTEXT)) {
} else {
throw new RuntimeException("eglMakeCurrent failed");
}
}
}
/* JADX WARN: Code restructure failed: missing block: B:79:0x014a, code lost:
throw new java.lang.IllegalArgumentException("src and dst rect size are different!");
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
final void d() {
/*
Method dump skipped, instructions count: 412
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: o.C6318cPT.d():void");
}
public final ByteBuffer c() {
ByteBuffer remove;
synchronized (this.y) {
while (!this.f8616o && this.y.isEmpty()) {
try {
this.y.wait();
} catch (InterruptedException unused) {
}
}
remove = this.f8616o ? null : this.y.remove(0);
}
return remove;
}
private ByteBuffer e() {
if (!this.f8616o && this.u == null) {
synchronized (this.h) {
this.u = this.h.isEmpty() ? null : this.h.remove(0);
}
}
if (this.f8616o) {
return null;
}
return this.u;
}
final void a() {
MediaCodec mediaCodec = this.b;
if (mediaCodec != null) {
mediaCodec.stop();
this.b.release();
this.b = null;
}
synchronized (this.y) {
this.f8616o = true;
this.y.notifyAll();
}
synchronized (this) {
nlo nloVar = this.t;
if (nloVar != null) {
if (nloVar.b != null) {
nloVar.b = null;
}
this.t = null;
}
sSl ssl = this.a;
if (ssl != null) {
if (!Objects.equals(ssl.a, EGL14.EGL_NO_DISPLAY)) {
EGL14.eglDestroySurface(ssl.a, ssl.c);
EGL14.eglDestroyContext(ssl.a, ssl.d);
EGL14.eglReleaseThread();
EGL14.eglTerminate(ssl.a);
}
ssl.e.release();
ssl.a = EGL14.EGL_NO_DISPLAY;
ssl.d = EGL14.EGL_NO_CONTEXT;
ssl.c = EGL14.EGL_NO_SURFACE;
ssl.e = null;
this.a = null;
}
SurfaceTexture surfaceTexture = this.C;
if (surfaceTexture != null) {
surfaceTexture.release();
this.C = null;
}
}
}
/* renamed from: o.cPT$LWm */
/* loaded from: classes.dex */
public class LWm {
final C6318cPT c;
public final boolean d;
private boolean f;
public long e = -1;
private long j = -1;
public long a = -1;
private long h = -1;
long b = -1;
LWm(C6318cPT c6318cPT, boolean z) {
this.c = c6318cPT;
this.d = z;
}
public final boolean b(long j, long j2) {
boolean z;
synchronized (this) {
long j3 = this.e;
z = j3 < 0 || j <= j3;
if (z) {
this.h = j2;
}
this.j = j;
c();
}
return z;
}
public final void c() {
if (this.f) {
return;
}
if (this.a < 0) {
long j = this.e;
if (j >= 0 && this.j >= j) {
long j2 = this.h;
if (j2 >= 0) {
this.a = j2;
} else {
this.c.m.post(new Runnable(this) { // from class: o.cPT.LWm.1
final LWm a;
{
this.a = this;
}
@Override // java.lang.Runnable
public final void run() {
if (this.a.c.b != null) {
this.a.c.b.signalEndOfInputStream();
}
}
});
this.f = true;
return;
}
}
}
long j3 = this.a;
if (j3 < 0 || j3 > this.b) {
return;
}
this.c.m.post(new Runnable(this) { // from class: o.cPT.LWm.1
final LWm a;
{
this.a = this;
}
@Override // java.lang.Runnable
public final void run() {
if (this.a.c.b != null) {
this.a.c.b.signalEndOfInputStream();
}
}
});
this.f = true;
}
}
/* renamed from: o.cPT$RVV */
/* loaded from: classes.dex */
class RVV extends MediaCodec.Callback {
private boolean a;
final C6318cPT e;
RVV(C6318cPT c6318cPT) {
this.e = c6318cPT;
}
@Override // android.media.MediaCodec.Callback
public final void onOutputFormatChanged(MediaCodec mediaCodec, MediaFormat mediaFormat) {
if (mediaCodec != this.e.b) {
return;
}
if (!"image/vnd.android.heic".equals(mediaFormat.getString("mime"))) {
mediaFormat.setString("mime", "image/vnd.android.heic");
mediaFormat.setInteger(RttiJsonExactionHelper.WIDTH, this.e.r);
mediaFormat.setInteger(RttiJsonExactionHelper.HEIGHT, this.e.n);
if (this.e.p) {
mediaFormat.setInteger("tile-width", this.e.f);
mediaFormat.setInteger("tile-height", this.e.i);
mediaFormat.setInteger("grid-rows", this.e.g);
mediaFormat.setInteger("grid-cols", this.e.j);
}
}
this.e.c.zr_(mediaFormat);
}
@Override // android.media.MediaCodec.Callback
public final void onInputBufferAvailable(MediaCodec mediaCodec, int i) {
if (mediaCodec != this.e.b || this.e.f8616o) {
return;
}
this.e.e.add(Integer.valueOf(i));
this.e.d();
}
@Override // android.media.MediaCodec.Callback
public final void onOutputBufferAvailable(MediaCodec mediaCodec, int i, MediaCodec.BufferInfo bufferInfo) {
if (mediaCodec != this.e.b || this.a) {
return;
}
if (bufferInfo.size > 0 && (bufferInfo.flags & 2) == 0) {
ByteBuffer outputBuffer = mediaCodec.getOutputBuffer(i);
outputBuffer.position(bufferInfo.offset);
outputBuffer.limit(bufferInfo.offset + bufferInfo.size);
if (this.e.d != null) {
LWm lWm = this.e.d;
long j = bufferInfo.presentationTimeUs;
synchronized (lWm) {
lWm.b = j;
lWm.c();
}
}
this.e.c.c(outputBuffer);
}
this.a = ((bufferInfo.flags & 4) != 0) | this.a;
mediaCodec.releaseOutputBuffer(i, false);
if (this.a) {
zp_(null);
}
}
@Override // android.media.MediaCodec.Callback
public final void onError(MediaCodec mediaCodec, MediaCodec.CodecException codecException) {
if (mediaCodec != this.e.b) {
return;
}
zp_(codecException);
}
private void zp_(MediaCodec.CodecException codecException) {
this.e.a();
if (codecException == null) {
this.e.c.a();
} else {
this.e.c.zq_(codecException);
}
}
}
@Override // java.lang.AutoCloseable
public final void close() {
synchronized (this.y) {
this.f8616o = true;
this.y.notifyAll();
}
this.m.postAtFrontOfQueue(new Runnable(this) { // from class: o.cPT.1
final C6318cPT b;
{
this.b = this;
}
@Override // java.lang.Runnable
public final void run() {
this.b.a();
}
});
}
}