package com.google.zxing.common;

import com.google.zxing.Binarizer;
import com.google.zxing.LuminanceSource;
import com.google.zxing.NotFoundException;
import jxl.SheetSettings;

/* JADX INFO: loaded from: classes.dex */
public final class HybridBinarizer extends GlobalHistogramBinarizer {
    private static final int BLOCK_SIZE = 8;
    private static final int BLOCK_SIZE_MASK = 7;
    private static final int BLOCK_SIZE_POWER = 3;
    private static final int MINIMUM_DIMENSION = 40;
    private static final int MIN_DYNAMIC_RANGE = 24;
    private BitMatrix matrix;

    public HybridBinarizer(LuminanceSource luminanceSource) {
        super(luminanceSource);
    }

    /* JADX WARN: Removed duplicated region for block: B:39:0x008e A[PHI: r4
      0x008e: PHI (r4v5 int) = (r4v4 int), (r4v8 int), (r4v8 int) binds: [B:32:0x006c, B:34:0x0070, B:35:0x0072] A[DONT_GENERATE, DONT_INLINE]] */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
        To view partially-correct add '--show-bad-code' argument
    */
    private static int[][] calculateBlackPoints(byte[] r17, int r18, int r19, int r20, int r21) {
        /*
            r0 = r18
            r1 = r19
            r2 = 2
            int[] r3 = new int[r2]
            r4 = 1
            r3[r4] = r0
            r5 = 0
            r3[r5] = r1
            java.lang.Class<int> r6 = int.class
            java.lang.Object r3 = java.lang.reflect.Array.newInstance(r6, r3)
            int[][] r3 = (int[][]) r3
            r6 = r5
        L16:
            if (r6 >= r1) goto La1
            int r7 = r6 << 3
            r8 = 8
            int r9 = r21 + (-8)
            if (r7 <= r9) goto L21
            r7 = r9
        L21:
            r9 = r5
        L22:
            if (r9 >= r0) goto L99
            int r10 = r9 << 3
            int r11 = r20 + (-8)
            if (r10 <= r11) goto L2b
            r10 = r11
        L2b:
            int r11 = r7 * r20
            int r11 = r11 + r10
            r10 = 255(0xff, float:3.57E-43)
            r12 = r5
            r13 = r12
            r14 = r13
            r15 = r10
        L34:
            r5 = 24
            if (r12 >= r8) goto L68
            r2 = 0
        L39:
            if (r2 >= r8) goto L4b
            int r16 = r11 + r2
            r4 = r17[r16]
            r4 = r4 & r10
            int r13 = r13 + r4
            if (r4 >= r15) goto L44
            r15 = r4
        L44:
            if (r4 <= r14) goto L47
            r14 = r4
        L47:
            int r2 = r2 + 1
            r4 = 1
            goto L39
        L4b:
            int r2 = r14 - r15
            if (r2 <= r5) goto L61
        L4f:
            int r12 = r12 + 1
            int r11 = r11 + r20
            if (r12 >= r8) goto L61
            r2 = 0
        L56:
            if (r2 >= r8) goto L4f
            int r4 = r11 + r2
            r4 = r17[r4]
            r4 = r4 & r10
            int r13 = r13 + r4
            int r2 = r2 + 1
            goto L56
        L61:
            r2 = 1
            int r12 = r12 + r2
            int r11 = r11 + r20
            r4 = r2
            r2 = 2
            goto L34
        L68:
            r2 = r4
            int r4 = r13 >> 6
            int r14 = r14 - r15
            if (r14 > r5) goto L8e
            int r4 = r15 / 2
            if (r6 <= 0) goto L8e
            if (r9 <= 0) goto L8e
            int r5 = r6 + (-1)
            r10 = r3[r5]
            r10 = r10[r9]
            r11 = r3[r6]
            int r12 = r9 + (-1)
            r11 = r11[r12]
            r13 = 2
            int r11 = r11 * r13
            int r10 = r10 + r11
            r5 = r3[r5]
            r5 = r5[r12]
            int r10 = r10 + r5
            int r5 = r10 / 4
            if (r15 >= r5) goto L8f
            r4 = r5
            goto L8f
        L8e:
            r13 = 2
        L8f:
            r5 = r3[r6]
            r5[r9] = r4
            int r9 = r9 + 1
            r4 = r2
            r2 = r13
            r5 = 0
            goto L22
        L99:
            r13 = r2
            r2 = r4
            int r6 = r6 + 1
            r2 = r13
            r5 = 0
            goto L16
        La1:
            return r3
        */
        throw new UnsupportedOperationException("Method not decompiled: com.google.zxing.common.HybridBinarizer.calculateBlackPoints(byte[], int, int, int, int):int[][]");
    }

    private static void calculateThresholdForBlock(byte[] bArr, int i2, int i3, int i4, int i5, int[][] iArr, BitMatrix bitMatrix) {
        for (int i6 = 0; i6 < i3; i6++) {
            int i7 = i6 << 3;
            int i8 = i5 - 8;
            if (i7 > i8) {
                i7 = i8;
            }
            for (int i9 = 0; i9 < i2; i9++) {
                int i10 = i9 << 3;
                int i11 = i4 - 8;
                if (i10 <= i11) {
                    i11 = i10;
                }
                int iCap = cap(i9, 2, i2 - 3);
                int iCap2 = cap(i6, 2, i3 - 3);
                int i12 = 0;
                for (int i13 = -2; i13 <= 2; i13++) {
                    int[] iArr2 = iArr[iCap2 + i13];
                    i12 += iArr2[iCap - 2] + iArr2[iCap - 1] + iArr2[iCap] + iArr2[iCap + 1] + iArr2[iCap + 2];
                }
                thresholdBlock(bArr, i11, i7, i12 / 25, i4, bitMatrix);
            }
        }
    }

    private static int cap(int i2, int i3, int i4) {
        return i2 < i3 ? i3 : i2 > i4 ? i4 : i2;
    }

    private static void thresholdBlock(byte[] bArr, int i2, int i3, int i4, int i5, BitMatrix bitMatrix) {
        int i6 = (i3 * i5) + i2;
        int i7 = 0;
        while (i7 < 8) {
            for (int i8 = 0; i8 < 8; i8++) {
                if ((bArr[i6 + i8] & SheetSettings.DEFAULT_DEFAULT_ROW_HEIGHT) <= i4) {
                    bitMatrix.set(i2 + i8, i3 + i7);
                }
            }
            i7++;
            i6 += i5;
        }
    }

    @Override // com.google.zxing.common.GlobalHistogramBinarizer, com.google.zxing.Binarizer
    public Binarizer createBinarizer(LuminanceSource luminanceSource) {
        return new HybridBinarizer(luminanceSource);
    }

    @Override // com.google.zxing.common.GlobalHistogramBinarizer, com.google.zxing.Binarizer
    public BitMatrix getBlackMatrix() throws NotFoundException {
        BitMatrix bitMatrix = this.matrix;
        if (bitMatrix != null) {
            return bitMatrix;
        }
        LuminanceSource luminanceSource = getLuminanceSource();
        int width = luminanceSource.getWidth();
        int height = luminanceSource.getHeight();
        if (width < 40 || height < 40) {
            this.matrix = super.getBlackMatrix();
        } else {
            byte[] matrix = luminanceSource.getMatrix();
            int i2 = width >> 3;
            if ((width & 7) != 0) {
                i2++;
            }
            int i3 = i2;
            int i4 = height >> 3;
            if ((height & 7) != 0) {
                i4++;
            }
            int i5 = i4;
            int[][] iArrCalculateBlackPoints = calculateBlackPoints(matrix, i3, i5, width, height);
            BitMatrix bitMatrix2 = new BitMatrix(width, height);
            calculateThresholdForBlock(matrix, i3, i5, width, height, iArrCalculateBlackPoints, bitMatrix2);
            this.matrix = bitMatrix2;
        }
        return this.matrix;
    }
}
