g.smali
.class public final Lcom/google/zxing/common/g;
.super Lcom/google/zxing/a;
.source "GlobalHistogramBinarizer.java"
# static fields
.field private static final EMPTY:[B
# instance fields
.field private final boP:[I
.field private bov:[B
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 39
const/4 v0, 0x0
new-array v0, v0, [B
sput-object v0, Lcom/google/zxing/common/g;->EMPTY:[B
return-void
.end method
.method public constructor <init>(Lcom/google/zxing/c;)V
.registers 3
.prologue
.line 45
invoke-direct {p0, p1}, Lcom/google/zxing/a;-><init>(Lcom/google/zxing/c;)V
.line 46
sget-object v0, Lcom/google/zxing/common/g;->EMPTY:[B
iput-object v0, p0, Lcom/google/zxing/common/g;->bov:[B
.line 47
const/16 v0, 0x20
new-array v0, v0, [I
iput-object v0, p0, Lcom/google/zxing/common/g;->boP:[I
.line 48
return-void
.end method
# virtual methods
.method public final FC()Lcom/google/zxing/common/b;
.registers 15
.prologue
const/16 v13, 0x20
const/4 v6, 0x0
.line 95
.line 1039
iget-object v8, p0, Lcom/google/zxing/a;->bon:Lcom/google/zxing/c;
.line 1066
iget v9, v8, Lcom/google/zxing/c;->width:I
.line 1073
iget v10, v8, Lcom/google/zxing/c;->height:I
.line 98
new-instance v11, Lcom/google/zxing/common/b;
invoke-direct {v11, v9, v10}, Lcom/google/zxing/common/b;-><init>(II)V
.line 1138
iget-object v0, p0, Lcom/google/zxing/common/g;->bov:[B
array-length v0, v0
if-ge v0, v9, :cond_17
.line 1139
new-array v0, v9, [B
iput-object v0, p0, Lcom/google/zxing/common/g;->bov:[B
:cond_17
move v0, v6
.line 1141
:goto_18
if-ge v0, v13, :cond_21
.line 1142
iget-object v1, p0, Lcom/google/zxing/common/g;->boP:[I
aput v6, v1, v0
.line 1141
add-int/lit8 v0, v0, 0x1
goto :goto_18
.line 103
:cond_21
iget-object v12, p0, Lcom/google/zxing/common/g;->boP:[I
.line 104
const/4 v0, 0x1
move v1, v0
:goto_25
const/4 v0, 0x5
if-ge v1, v0, :cond_4d
.line 105
mul-int v0, v10, v1
div-int/lit8 v0, v0, 0x5
.line 106
iget-object v2, p0, Lcom/google/zxing/common/g;->bov:[B
invoke-virtual {v8, v0, v2}, Lcom/google/zxing/c;->b(I[B)[B
move-result-object v2
.line 107
shl-int/lit8 v0, v9, 0x2
div-int/lit8 v3, v0, 0x5
.line 108
div-int/lit8 v0, v9, 0x5
:goto_38
if-ge v0, v3, :cond_49
.line 109
aget-byte v4, v2, v0
and-int/lit16 v4, v4, 0xff
.line 110
shr-int/lit8 v4, v4, 0x3
aget v5, v12, v4
add-int/lit8 v5, v5, 0x1
aput v5, v12, v4
.line 108
add-int/lit8 v0, v0, 0x1
goto :goto_38
.line 104
:cond_49
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_25
:cond_4d
move v2, v6
move v0, v6
move v1, v6
move v3, v6
.line 1152
:goto_51
if-ge v2, v13, :cond_63
.line 1153
aget v4, v12, v2
if-le v4, v0, :cond_5a
.line 1155
aget v0, v12, v2
move v1, v2
.line 1157
:cond_5a
aget v4, v12, v2
if-le v4, v3, :cond_60
.line 1158
aget v3, v12, v2
.line 1152
:cond_60
add-int/lit8 v2, v2, 0x1
goto :goto_51
:cond_63
move v2, v6
move v0, v6
move v5, v6
.line 1165
:goto_66
if-ge v2, v13, :cond_75
.line 1166
sub-int v4, v2, v1
.line 1168
aget v7, v12, v2
mul-int/2addr v7, v4
mul-int/2addr v4, v7
.line 1169
if-le v4, v5, :cond_c4
move v0, v2
.line 1165
:goto_71
add-int/lit8 v2, v2, 0x1
move v5, v4
goto :goto_66
.line 1176
:cond_75
if-le v1, v0, :cond_c1
move v5, v1
move v7, v0
.line 1184
:goto_79
sub-int v0, v5, v7
const/4 v1, 0x2
if-gt v0, v1, :cond_83
.line 1185
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.line 1189
:cond_83
add-int/lit8 v4, v5, -0x1
.line 1190
const/4 v1, -0x1
.line 1191
add-int/lit8 v2, v5, -0x1
:goto_88
if-le v2, v7, :cond_9d
.line 1192
sub-int v0, v2, v7
.line 1193
mul-int/2addr v0, v0
sub-int v13, v5, v2
mul-int/2addr v0, v13
aget v13, v12, v2
sub-int v13, v3, v13
mul-int/2addr v0, v13
.line 1194
if-le v0, v1, :cond_be
move v1, v2
.line 1191
:goto_98
add-int/lit8 v2, v2, -0x1
move v4, v1
move v1, v0
goto :goto_88
.line 1200
:cond_9d
shl-int/lit8 v2, v4, 0x3
.line 118
invoke-virtual {v8}, Lcom/google/zxing/c;->FD()[B
move-result-object v3
move v1, v6
.line 119
:goto_a4
if-ge v1, v10, :cond_bd
.line 120
mul-int v4, v1, v9
move v0, v6
.line 121
:goto_a9
if-ge v0, v9, :cond_b9
.line 122
add-int v5, v4, v0
aget-byte v5, v3, v5
and-int/lit16 v5, v5, 0xff
.line 123
if-ge v5, v2, :cond_b6
.line 124
invoke-virtual {v11, v0, v1}, Lcom/google/zxing/common/b;->set(II)V
.line 121
:cond_b6
add-int/lit8 v0, v0, 0x1
goto :goto_a9
.line 119
:cond_b9
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_a4
.line 129
:cond_bd
return-object v11
:cond_be
move v0, v1
move v1, v4
goto :goto_98
:cond_c1
move v5, v0
move v7, v1
goto :goto_79
:cond_c4
move v4, v5
goto :goto_71
.end method