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 y = new ArrayList<>(); public final ArrayList h = new ArrayList<>(); final ArrayList 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.(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(); } }); } }