-
-
Save vinc3m1/d56ff294a73ad506a5fa5ffb3e46185f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.class public Lfit/tempo/kinematic/app/ProcessDepth; | |
.super Ljava/lang/Object; | |
.source "ProcessDepth.java" | |
# direct methods | |
.method public constructor <init>()V | |
.registers 1 | |
.line 5 | |
invoke-direct {p0}, Ljava/lang/Object;-><init>()V | |
return-void | |
.end method | |
.method static colorizeDepth(Ljava/nio/ShortBuffer;[BI)V | |
.registers 15 | |
.param p0, "shortArray" # Ljava/nio/ShortBuffer; | |
.param p1, "bits" # [B | |
.param p2, "size" # I | |
.line 7 | |
const/16 v0, 0xbb8 | |
.line 8 | |
.local v0, "maxRange":I | |
const/4 v1, 0x0 | |
.local v1, "r":I | |
const/4 v2, 0x0 | |
.local v2, "g":I | |
const/4 v3, 0x0 | |
.line 10 | |
.local v3, "b":I | |
const/4 v4, 0x0 | |
.local v4, "i":I | |
:goto_6 | |
if-ge v4, p2, :cond_8a | |
.line 11 | |
invoke-virtual {p0, v4}, Ljava/nio/ShortBuffer;->get(I)S | |
move-result v5 | |
const/4 v6, -0x1 | |
if-lez v5, :cond_6f | |
.line 13 | |
invoke-virtual {p0, v4}, Ljava/nio/ShortBuffer;->get(I)S | |
move-result v5 | |
int-to-float v5, v5 | |
int-to-float v7, v0 | |
div-float/2addr v5, v7 | |
.line 14 | |
.local v5, "f":F | |
const/high16 v7, 0x3f800000 # 1.0f | |
cmpl-float v8, v5, v7 | |
if-lez v8, :cond_1e | |
const/high16 v5, 0x3f800000 # 1.0f | |
.line 15 | |
:cond_1e | |
sub-float/2addr v7, v5 | |
float-to-double v7, v7 | |
const-wide/high16 v9, 0x3fd0000000000000L # 0.25 | |
div-double/2addr v7, v9 | |
double-to-float v7, v7 | |
.line 16 | |
.local v7, "a":F | |
float-to-double v8, v7 | |
invoke-static {v8, v9}, Ljava/lang/Math;->floor(D)D | |
move-result-wide v8 | |
double-to-int v8, v8 | |
.line 17 | |
.local v8, "X":I | |
int-to-float v9, v8 | |
sub-float v9, v7, v9 | |
const/high16 v10, 0x437f0000 # 255.0f | |
mul-float/2addr v9, v10 | |
float-to-double v9, v9 | |
invoke-static {v9, v10}, Ljava/lang/Math;->floor(D)D | |
move-result-wide v9 | |
double-to-int v9, v9 | |
.line 18 | |
.local v9, "Y":I | |
packed-switch v8, :pswitch_data_8c | |
goto :goto_55 | |
.line 40 | |
:pswitch_3a | |
const/4 v1, 0x0 | |
.line 41 | |
const/4 v2, 0x0 | |
.line 42 | |
const/16 v3, 0xff | |
goto :goto_55 | |
.line 35 | |
:pswitch_3f | |
const/4 v1, 0x0 | |
.line 36 | |
rsub-int v2, v9, 0xff | |
.line 37 | |
const/16 v3, 0xff | |
.line 38 | |
goto :goto_55 | |
.line 30 | |
:pswitch_45 | |
const/4 v1, 0x0 | |
.line 31 | |
const/16 v2, 0xff | |
.line 32 | |
move v3, v9 | |
.line 33 | |
goto :goto_55 | |
.line 25 | |
:pswitch_4a | |
rsub-int v1, v9, 0xff | |
.line 26 | |
const/16 v2, 0xff | |
.line 27 | |
const/4 v3, 0x0 | |
.line 28 | |
goto :goto_55 | |
.line 20 | |
:pswitch_50 | |
const/16 v1, 0xff | |
.line 21 | |
move v2, v9 | |
.line 22 | |
const/4 v3, 0x0 | |
.line 23 | |
nop | |
.line 45 | |
:goto_55 | |
mul-int/lit8 v10, v4, 0x4 | |
int-to-byte v11, v1 | |
aput-byte v11, p1, v10 | |
.line 46 | |
mul-int/lit8 v10, v4, 0x4 | |
add-int/lit8 v10, v10, 0x1 | |
int-to-byte v11, v2 | |
aput-byte v11, p1, v10 | |
.line 47 | |
mul-int/lit8 v10, v4, 0x4 | |
add-int/lit8 v10, v10, 0x2 | |
int-to-byte v11, v3 | |
aput-byte v11, p1, v10 | |
.line 48 | |
mul-int/lit8 v10, v4, 0x4 | |
add-int/lit8 v10, v10, 0x3 | |
aput-byte v6, p1, v10 | |
.line 49 | |
.end local v5 # "f":F | |
.end local v7 # "a":F | |
.end local v8 # "X":I | |
.end local v9 # "Y":I | |
goto :goto_86 | |
.line 50 | |
:cond_6f | |
mul-int/lit8 v5, v4, 0x4 | |
const/4 v7, 0x0 | |
aput-byte v7, p1, v5 | |
.line 51 | |
mul-int/lit8 v5, v4, 0x4 | |
add-int/lit8 v5, v5, 0x1 | |
aput-byte v7, p1, v5 | |
.line 52 | |
mul-int/lit8 v5, v4, 0x4 | |
add-int/lit8 v5, v5, 0x2 | |
aput-byte v7, p1, v5 | |
.line 53 | |
mul-int/lit8 v5, v4, 0x4 | |
add-int/lit8 v5, v5, 0x3 | |
aput-byte v6, p1, v5 | |
.line 10 | |
:goto_86 | |
add-int/lit8 v4, v4, 0x1 | |
goto/16 :goto_6 | |
.line 56 | |
.end local v4 # "i":I | |
:cond_8a | |
return-void | |
nop | |
:pswitch_data_8c | |
.packed-switch 0x0 | |
:pswitch_50 | |
:pswitch_4a | |
:pswitch_45 | |
:pswitch_3f | |
:pswitch_3a | |
.end packed-switch | |
.end method |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.class public final Lfit/tempo/kinematic/app/ProcessDepthKotlinKt; | |
.super Ljava/lang/Object; | |
.source "ProcessDepthKotlin.kt" | |
# annotations | |
.annotation runtime Lkotlin/Metadata; | |
d1 = { | |
"\u0000\u001a\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0008\n\u0000\u001a\u001e\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0007\u00a8\u0006\u0008" | |
} | |
d2 = { | |
"colorizeDepth", | |
"", | |
"shortArray", | |
"Ljava/nio/ShortBuffer;", | |
"bits", | |
"", | |
"size", | |
"", | |
"app_debug" | |
} | |
k = 0x2 | |
mv = { | |
0x1, | |
0x8, | |
0x0 | |
} | |
xi = 0x30 | |
.end annotation | |
# direct methods | |
.method public static final colorizeDepth(Ljava/nio/ShortBuffer;[BI)V | |
.registers 14 | |
.param p0, "shortArray" # Ljava/nio/ShortBuffer; | |
.param p1, "bits" # [B | |
.param p2, "size" # I | |
const-string v0, "shortArray" | |
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V | |
const-string v0, "bits" | |
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V | |
.line 6 | |
sget-object v0, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v0}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Float$val-maxRange$fun-colorizeDepth()F | |
move-result v0 | |
.line 7 | |
.local v0, "maxRange":F | |
sget-object v1, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v1}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$val-r$fun-colorizeDepth()I | |
move-result v1 | |
.line 8 | |
.local v1, "r":I | |
sget-object v2, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v2}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$val-g$fun-colorizeDepth()I | |
move-result v2 | |
.line 9 | |
.local v2, "g":I | |
sget-object v3, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v3}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$val-b$fun-colorizeDepth()I | |
move-result v3 | |
.line 10 | |
.local v3, "b":I | |
const/4 v4, 0x0 | |
.local v4, "i":I | |
:goto_23 | |
if-ge v4, p2, :cond_18a | |
.line 11 | |
invoke-virtual {p0, v4}, Ljava/nio/ShortBuffer;->get(I)S | |
move-result v5 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-1$call-greater$cond$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
if-le v5, v6, :cond_131 | |
.line 13 | |
invoke-virtual {p0, v4}, Ljava/nio/ShortBuffer;->get(I)S | |
move-result v5 | |
int-to-float v5, v5 | |
div-float/2addr v5, v0 | |
.line 14 | |
.local v5, "f":F | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Float$arg-1$call-greater$cond$if$branch$if$body$loop$fun-colorizeDepth()F | |
move-result v6 | |
cmpl-float v6, v5, v6 | |
if-lez v6, :cond_47 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Float$set-f$branch$if$branch$if$body$loop$fun-colorizeDepth()F | |
move-result v5 | |
.line 15 | |
:cond_47 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Float$$this$call-minus$$this$call-div$val-a$branch$if$body$loop$fun-colorizeDepth()F | |
move-result v6 | |
sub-float/2addr v6, v5 | |
sget-object v7, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v7}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Float$arg-0$call-div$val-a$branch$if$body$loop$fun-colorizeDepth()F | |
move-result v7 | |
div-float/2addr v6, v7 | |
.line 16 | |
.local v6, "a":F | |
float-to-double v7, v6 | |
invoke-static {v7, v8}, Ljava/lang/Math;->floor(D)D | |
move-result-wide v7 | |
double-to-int v7, v7 | |
.line 18 | |
.local v7, "X":I | |
sget-object v8, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v8}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Float$$this$call-times$$this$call-toDouble$arg-0$call-floor$$this$call-toInt$val-Y$branch$if$body$loop$fun-colorizeDepth()F | |
move-result v8 | |
int-to-float v9, v7 | |
sub-float v9, v6, v9 | |
mul-float/2addr v8, v9 | |
float-to-double v8, v8 | |
invoke-static {v8, v9}, Ljava/lang/Math;->floor(D)D | |
move-result-wide v8 | |
double-to-int v8, v8 | |
.line 17 | |
nop | |
.line 19 | |
.local v8, "Y":I | |
nop | |
.line 20 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-1$call-EQEQ$cond$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
if-ne v7, v9, :cond_83 | |
.line 21 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-r$branch$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v1 | |
.line 22 | |
move v2, v8 | |
.line 23 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-b$branch$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v3 | |
goto :goto_ed | |
.line 25 | |
:cond_83 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-1$call-EQEQ$cond-1$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
if-ne v7, v9, :cond_a0 | |
.line 26 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$$this$call-minus$set-r$branch-1$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
sub-int v1, v9, v8 | |
.line 27 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-g$branch-1$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v2 | |
.line 28 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-b$branch-1$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v3 | |
goto :goto_ed | |
.line 30 | |
:cond_a0 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-1$call-EQEQ$cond-2$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
if-ne v7, v9, :cond_b6 | |
.line 31 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-r$branch-2$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v1 | |
.line 32 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-g$branch-2$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v2 | |
.line 33 | |
move v3, v8 | |
goto :goto_ed | |
.line 35 | |
:cond_b6 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-1$call-EQEQ$cond-3$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
if-ne v7, v9, :cond_d3 | |
.line 36 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-r$branch-3$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v1 | |
.line 37 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$$this$call-minus$set-g$branch-3$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
sub-int v2, v9, v8 | |
.line 38 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-b$branch-3$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v3 | |
goto :goto_ed | |
.line 40 | |
:cond_d3 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-1$call-EQEQ$cond-4$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
if-ne v7, v9, :cond_ed | |
.line 41 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-r$branch-4$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v1 | |
.line 42 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-g$branch-4$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v2 | |
.line 43 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$set-b$branch-4$when$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v3 | |
.line 46 | |
:cond_ed | |
:goto_ed | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$arg-0$call-set$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
mul-int/2addr v9, v4 | |
int-to-byte v10, v1 | |
aput-byte v10, p1, v9 | |
.line 47 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$$this$call-plus$arg-0$call-set-1$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
mul-int/2addr v9, v4 | |
sget-object v10, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v10}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-plus$arg-0$call-set-1$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v10 | |
add-int/2addr v9, v10 | |
int-to-byte v10, v2 | |
aput-byte v10, p1, v9 | |
.line 48 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$$this$call-plus$arg-0$call-set-2$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
mul-int/2addr v9, v4 | |
sget-object v10, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v10}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-plus$arg-0$call-set-2$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v10 | |
add-int/2addr v9, v10 | |
int-to-byte v10, v3 | |
aput-byte v10, p1, v9 | |
.line 49 | |
sget-object v9, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v9}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$$this$call-plus$arg-0$call-set-3$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v9 | |
mul-int/2addr v9, v4 | |
sget-object v10, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v10}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-plus$arg-0$call-set-3$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v10 | |
add-int/2addr v9, v10 | |
sget-object v10, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v10}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$$this$call-toByte$arg-1$call-set-3$branch$if$body$loop$fun-colorizeDepth()I | |
move-result v10 | |
int-to-byte v10, v10 | |
aput-byte v10, p1, v9 | |
.end local v5 # "f":F | |
.end local v6 # "a":F | |
.end local v7 # "X":I | |
.end local v8 # "Y":I | |
goto :goto_186 | |
.line 51 | |
:cond_131 | |
sget-object v5, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v5}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$arg-0$call-set$else$if$body$loop$fun-colorizeDepth()I | |
move-result v5 | |
mul-int/2addr v5, v4 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$$this$call-toByte$arg-1$call-set$else$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
int-to-byte v6, v6 | |
aput-byte v6, p1, v5 | |
.line 52 | |
sget-object v5, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v5}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$$this$call-plus$arg-0$call-set-1$else$if$body$loop$fun-colorizeDepth()I | |
move-result v5 | |
mul-int/2addr v5, v4 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-plus$arg-0$call-set-1$else$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
add-int/2addr v5, v6 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$$this$call-toByte$arg-1$call-set-1$else$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
int-to-byte v6, v6 | |
aput-byte v6, p1, v5 | |
.line 53 | |
sget-object v5, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v5}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$$this$call-plus$arg-0$call-set-2$else$if$body$loop$fun-colorizeDepth()I | |
move-result v5 | |
mul-int/2addr v5, v4 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-plus$arg-0$call-set-2$else$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
add-int/2addr v5, v6 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$$this$call-toByte$arg-1$call-set-2$else$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
int-to-byte v6, v6 | |
aput-byte v6, p1, v5 | |
.line 54 | |
sget-object v5, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v5}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-times$$this$call-plus$arg-0$call-set-3$else$if$body$loop$fun-colorizeDepth()I | |
move-result v5 | |
mul-int/2addr v5, v4 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$arg-0$call-plus$arg-0$call-set-3$else$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
add-int/2addr v5, v6 | |
sget-object v6, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->INSTANCE:Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt; | |
invoke-virtual {v6}, Lfit/tempo/kinematic/app/LiveLiterals$ProcessDepthKotlinKt;->Int$$this$call-toByte$arg-1$call-set-3$else$if$body$loop$fun-colorizeDepth()I | |
move-result v6 | |
int-to-byte v6, v6 | |
aput-byte v6, p1, v5 | |
.line 10 | |
:goto_186 | |
add-int/lit8 v4, v4, 0x1 | |
goto/16 :goto_23 | |
.line 57 | |
.end local v4 # "i":I | |
:cond_18a | |
return-void | |
.end method |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.class public final Lfit/tempo/kinematic/app/ProcessDepthKotlinKt; | |
.super Ljava/lang/Object; | |
.source "ProcessDepthKotlin.kt" | |
# annotations | |
.annotation runtime Lkotlin/Metadata; | |
d1 = { | |
"\u0000\u001a\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0008\n\u0000\u001a\u001e\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0007\u00a8\u0006\u0008" | |
} | |
d2 = { | |
"colorizeDepth", | |
"", | |
"shortArray", | |
"Ljava/nio/ShortBuffer;", | |
"bits", | |
"", | |
"size", | |
"", | |
"app_release" | |
} | |
k = 0x2 | |
mv = { | |
0x1, | |
0x8, | |
0x0 | |
} | |
xi = 0x30 | |
.end annotation | |
# direct methods | |
.method public static final colorizeDepth(Ljava/nio/ShortBuffer;[BI)V | |
.registers 14 | |
const-string v0, "shortArray" | |
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V | |
const-string v0, "bits" | |
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V | |
const/4 v0, 0x0 | |
move v1, v0 | |
move v2, v1 | |
move v3, v2 | |
move v4, v3 | |
:goto_f | |
if-ge v1, p2, :cond_88 | |
.line 11 | |
invoke-virtual {p0, v1}, Ljava/nio/ShortBuffer;->get(I)S | |
move-result v5 | |
const/4 v6, -0x1 | |
const/4 v7, 0x3 | |
if-lez v5, :cond_76 | |
.line 13 | |
invoke-virtual {p0, v1}, Ljava/nio/ShortBuffer;->get(I)S | |
move-result v5 | |
int-to-float v5, v5 | |
const v8, 0x453b8000 # 3000.0f | |
div-float/2addr v5, v8 | |
const/high16 v8, 0x3f800000 # 1.0f | |
cmpl-float v9, v5, v8 | |
if-lez v9, :cond_29 | |
move v5, v8 | |
:cond_29 | |
sub-float/2addr v8, v5 | |
const/high16 v5, 0x3e800000 # 0.25f | |
div-float/2addr v8, v5 | |
float-to-double v9, v8 | |
.line 16 | |
invoke-static {v9, v10}, Ljava/lang/Math;->floor(D)D | |
move-result-wide v9 | |
double-to-int v5, v9 | |
int-to-float v9, v5 | |
sub-float/2addr v8, v9 | |
const/high16 v9, 0x437f0000 # 255.0f | |
mul-float/2addr v8, v9 | |
float-to-double v8, v8 | |
.line 18 | |
invoke-static {v8, v9}, Ljava/lang/Math;->floor(D)D | |
move-result-wide v8 | |
double-to-int v8, v8 | |
const/16 v9, 0xff | |
if-eqz v5, :cond_60 | |
const/4 v10, 0x1 | |
if-eq v5, v10, :cond_5b | |
const/4 v10, 0x2 | |
if-eq v5, v10, :cond_58 | |
if-eq v5, v7, :cond_52 | |
const/4 v8, 0x4 | |
if-eq v5, v8, :cond_4e | |
goto :goto_63 | |
:cond_4e | |
move v2, v0 | |
move v3, v2 | |
move v4, v9 | |
goto :goto_63 | |
:cond_52 | |
rsub-int v2, v8, 0xff | |
move v3, v2 | |
move v4, v9 | |
move v2, v0 | |
goto :goto_63 | |
:cond_58 | |
move v2, v0 | |
move v4, v8 | |
goto :goto_5e | |
:cond_5b | |
rsub-int v2, v8, 0xff | |
move v4, v0 | |
:goto_5e | |
move v3, v9 | |
goto :goto_63 | |
:cond_60 | |
move v4, v0 | |
move v3, v8 | |
move v2, v9 | |
:goto_63 | |
mul-int/lit8 v5, v1, 0x4 | |
int-to-byte v8, v2 | |
.line 46 | |
aput-byte v8, p1, v5 | |
add-int/lit8 v8, v5, 0x1 | |
int-to-byte v9, v3 | |
.line 47 | |
aput-byte v9, p1, v8 | |
add-int/lit8 v8, v5, 0x2 | |
int-to-byte v9, v4 | |
.line 48 | |
aput-byte v9, p1, v8 | |
add-int/2addr v5, v7 | |
.line 49 | |
aput-byte v6, p1, v5 | |
goto :goto_85 | |
:cond_76 | |
mul-int/lit8 v5, v1, 0x4 | |
.line 51 | |
aput-byte v0, p1, v5 | |
add-int/lit8 v8, v5, 0x1 | |
.line 52 | |
aput-byte v0, p1, v8 | |
add-int/lit8 v8, v5, 0x2 | |
.line 53 | |
aput-byte v0, p1, v8 | |
add-int/2addr v5, v7 | |
.line 54 | |
aput-byte v6, p1, v5 | |
:goto_85 | |
add-int/lit8 v1, v1, 0x1 | |
goto :goto_f | |
:cond_88 | |
return-void | |
.end method |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package fit.tempo.kinematic.app; | |
import java.nio.ShortBuffer; | |
public class ProcessDepth { | |
static void colorizeDepth(ShortBuffer shortArray, byte[] bits, int size) { | |
int maxRange = 3000; | |
int r = 0, g = 0, b = 0; | |
for (int i = 0; i < size; i++) { | |
if (shortArray.get(i) > 0) { | |
//Short Rainbow | |
float f = (float) shortArray.get(i) / (maxRange); | |
if (f > 1) f = 1; | |
float a = (float) ((1 - f) / 0.25); //invert and group | |
int X = (int) Math.floor(a); | |
int Y = (int) Math.floor(255 * (a - X)); //fractional part from 0 to 255 | |
switch (X) { | |
case 0: | |
r = 255; | |
g = Y; | |
b = 0; | |
break; | |
case 1: | |
r = 255 - Y; | |
g = 255; | |
b = 0; | |
break; | |
case 2: | |
r = 0; | |
g = 255; | |
b = Y; | |
break; | |
case 3: | |
r = 0; | |
g = 255 - Y; | |
b = 255; | |
break; | |
case 4: | |
r = 0; | |
g = 0; | |
b = 255; | |
break; | |
} | |
bits[i * 4] = (byte) r; | |
bits[i * 4 + 1] = (byte) g; | |
bits[i * 4 + 2] = (byte) b; | |
bits[i * 4 + 3] = (byte) 0xff; | |
} else { | |
bits[i * 4] = (byte) 0; | |
bits[i * 4 + 1] = (byte) 0; | |
bits[i * 4 + 2] = (byte) 0; | |
bits[i * 4 + 3] = (byte) 0xff; | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package fit.tempo.kinematic.app | |
import java.nio.ShortBuffer | |
fun colorizeDepth(shortArray: ShortBuffer, bits: ByteArray, size: Int) { | |
val maxRange = 3000 | |
var r = 0 | |
var g = 0 | |
var b = 0 | |
for (i in 0 until size) { | |
if (shortArray[i] > 0) { | |
//Short Rainbow | |
var f = shortArray[i].toFloat() / maxRange | |
if (f > 1) f = 1f | |
val a = ((1 - f) / 0.25).toFloat() //invert and group | |
val X = Math.floor(a.toDouble()).toInt() | |
val Y = | |
Math.floor((255 * (a - X)).toDouble()).toInt() //fractional part from 0 to 255 | |
when (X) { | |
0 -> { | |
r = 255 | |
g = Y | |
b = 0 | |
} | |
1 -> { | |
r = 255 - Y | |
g = 255 | |
b = 0 | |
} | |
2 -> { | |
r = 0 | |
g = 255 | |
b = Y | |
} | |
3 -> { | |
r = 0 | |
g = 255 - Y | |
b = 255 | |
} | |
4 -> { | |
r = 0 | |
g = 0 | |
b = 255 | |
} | |
} | |
bits[i * 4] = r.toByte() | |
bits[i * 4 + 1] = g.toByte() | |
bits[i * 4 + 2] = b.toByte() | |
bits[i * 4 + 3] = 0xff.toByte() | |
} else { | |
bits[i * 4] = 0.toByte() | |
bits[i * 4 + 1] = 0.toByte() | |
bits[i * 4 + 2] = 0.toByte() | |
bits[i * 4 + 3] = 0xff.toByte() | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment