public final class com.sun.media.sound.SoftSincResampler extends com.sun.media.sound.SoftAbstractResampler
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.SoftSincResampler
super_class: com.sun.media.sound.SoftAbstractResampler
{
float[][][] sinc_table;
descriptor: [[[F
flags: (0x0000)
int sinc_scale_size;
descriptor: I
flags: (0x0000)
int sinc_table_fsize;
descriptor: I
flags: (0x0000)
int sinc_table_size;
descriptor: I
flags: (0x0000)
int sinc_table_center;
descriptor: I
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=1
start local 0 // com.sun.media.sound.SoftSincResampler this
0: .line 43
aload 0 /* this */
invokespecial com.sun.media.sound.SoftAbstractResampler.<init>:()V
1: .line 37
aload 0 /* this */
bipush 100
putfield com.sun.media.sound.SoftSincResampler.sinc_scale_size:I
2: .line 38
aload 0 /* this */
sipush 800
putfield com.sun.media.sound.SoftSincResampler.sinc_table_fsize:I
3: .line 39
aload 0 /* this */
bipush 30
putfield com.sun.media.sound.SoftSincResampler.sinc_table_size:I
4: .line 40
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_size:I
iconst_2
idiv
putfield com.sun.media.sound.SoftSincResampler.sinc_table_center:I
5: .line 44
aload 0 /* this */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_scale_size:I
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_fsize:I
multianewarray [[[F 2
putfield com.sun.media.sound.SoftSincResampler.sinc_table:[[[F
6: .line 45
iconst_0
istore 1 /* s */
start local 1 // int s
7: goto 17
8: .line 46
StackMap locals: com.sun.media.sound.SoftSincResampler int
StackMap stack:
dconst_1
dconst_1
iload 1 /* s */
i2d
ldc 1.1
invokestatic java.lang.Math.pow:(DD)D
ldc 10.0
ddiv
dadd
ddiv
d2f
fstore 2 /* scale */
start local 2 // float scale
9: .line 47
iconst_0
istore 3 /* i */
start local 3 // int i
10: goto 15
11: .line 48
StackMap locals: float int
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table:[[[F
iload 1 /* s */
aaload
iload 3 /* i */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_size:I
12: .line 49
iload 3 /* i */
ineg
i2f
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_fsize:I
i2f
fdiv
fload 2 /* scale */
13: .line 48
invokestatic com.sun.media.sound.SoftSincResampler.sincTable:(IFF)[F
aastore
14: .line 47
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_fsize:I
if_icmplt 11
end local 3 // int i
end local 2 // float scale
16: .line 45
iinc 1 /* s */ 1
StackMap locals:
StackMap stack:
17: iload 1 /* s */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_scale_size:I
if_icmplt 8
end local 1 // int s
18: .line 52
return
end local 0 // com.sun.media.sound.SoftSincResampler this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/media/sound/SoftSincResampler;
7 18 1 s I
9 16 2 scale F
10 16 3 i I
public static double sinc(double);
descriptor: (D)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 // double x
0: .line 56
dload 0 /* x */
dconst_0
dcmpl
ifne 1
dconst_1
goto 2
StackMap locals:
StackMap stack:
1: ldc 3.141592653589793
dload 0 /* x */
dmul
invokestatic java.lang.Math.sin:(D)D
ldc 3.141592653589793
dload 0 /* x */
dmul
ddiv
StackMap locals:
StackMap stack: double
2: dreturn
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x D
MethodParameters:
Name Flags
x
public static float[] wHanning(int, float);
descriptor: (IF)[F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=2
start local 0 // int size
start local 1 // float offset
0: .line 61
iload 0 /* size */
newarray 6
astore 2 /* window_table */
start local 2 // float[] window_table
1: .line 62
iconst_0
istore 3 /* k */
start local 3 // int k
2: goto 10
3: .line 63
StackMap locals: float[] int
StackMap stack:
aload 2 /* window_table */
iload 3 /* k */
ldc -0.5
4: .line 64
ldc 6.283185307179586
iload 3 /* k */
i2f
fload 1 /* offset */
fadd
f2d
dmul
5: .line 65
iload 0 /* size */
i2d
6: .line 64
ddiv
invokestatic java.lang.Math.cos:(D)D
dmul
7: .line 65
ldc 0.5
dadd
d2f
8: .line 63
fastore
9: .line 62
iinc 3 /* k */ 1
StackMap locals:
StackMap stack:
10: iload 3 /* k */
iload 0 /* size */
if_icmplt 3
end local 3 // int k
11: .line 67
aload 2 /* window_table */
areturn
end local 2 // float[] window_table
end local 1 // float offset
end local 0 // int size
LocalVariableTable:
Start End Slot Name Signature
0 12 0 size I
0 12 1 offset F
1 12 2 window_table [F
2 11 3 k I
MethodParameters:
Name Flags
size
offset
public static float[] sincTable(int, float, float);
descriptor: (IFF)[F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=3
start local 0 // int size
start local 1 // float offset
start local 2 // float scale
0: .line 72
iload 0 /* size */
iconst_2
idiv
istore 3 /* center */
start local 3 // int center
1: .line 73
iload 0 /* size */
fload 1 /* offset */
invokestatic com.sun.media.sound.SoftSincResampler.wHanning:(IF)[F
astore 4 /* w */
start local 4 // float[] w
2: .line 74
iconst_0
istore 5 /* k */
start local 5 // int k
3: goto 6
4: .line 75
StackMap locals: int float[] int
StackMap stack:
aload 4 /* w */
iload 5 /* k */
dup2
faload
f2d
iload 3 /* center */
ineg
iload 5 /* k */
iadd
i2f
fload 1 /* offset */
fadd
fload 2 /* scale */
fmul
f2d
invokestatic com.sun.media.sound.SoftSincResampler.sinc:(D)D
fload 2 /* scale */
f2d
dmul
dmul
d2f
fastore
5: .line 74
iinc 5 /* k */ 1
StackMap locals:
StackMap stack:
6: iload 5 /* k */
iload 0 /* size */
if_icmplt 4
end local 5 // int k
7: .line 76
aload 4 /* w */
areturn
end local 4 // float[] w
end local 3 // int center
end local 2 // float scale
end local 1 // float offset
end local 0 // int size
LocalVariableTable:
Start End Slot Name Signature
0 8 0 size I
0 8 1 offset F
0 8 2 scale F
1 8 3 center I
2 8 4 w [F
3 7 5 k I
MethodParameters:
Name Flags
size
offset
scale
public int getPadding();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // com.sun.media.sound.SoftSincResampler this
0: .line 81
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_size:I
iconst_2
idiv
iconst_2
iadd
ireturn
end local 0 // com.sun.media.sound.SoftSincResampler this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/SoftSincResampler;
public void interpolate(float[], float[], float, float[], float, float[], int[], int);
descriptor: ([F[FF[FF[F[II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=22, args_size=9
start local 0 // com.sun.media.sound.SoftSincResampler this
start local 1 // float[] in
start local 2 // float[] in_offset
start local 3 // float in_end
start local 4 // float[] startpitch
start local 5 // float pitchstep
start local 6 // float[] out
start local 7 // int[] out_offset
start local 8 // int out_end
0: .line 87
aload 4 /* startpitch */
iconst_0
faload
fstore 9 /* pitch */
start local 9 // float pitch
1: .line 88
aload 2 /* in_offset */
iconst_0
faload
fstore 10 /* ix */
start local 10 // float ix
2: .line 89
aload 7 /* out_offset */
iconst_0
iaload
istore 11 /* ox */
start local 11 // int ox
3: .line 90
fload 3 /* in_end */
fstore 12 /* ix_end */
start local 12 // float ix_end
4: .line 91
iload 8 /* out_end */
istore 13 /* ox_end */
start local 13 // int ox_end
5: .line 92
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_scale_size:I
iconst_1
isub
istore 14 /* max_p */
start local 14 // int max_p
6: .line 93
fload 5 /* pitchstep */
fconst_0
fcmpl
ifne 47
7: .line 95
fload 9 /* pitch */
fconst_1
fsub
ldc 10.0
fmul
f2i
istore 15 /* p */
start local 15 // int p
8: .line 96
iload 15 /* p */
ifge 10
9: .line 97
iconst_0
istore 15 /* p */
goto 12
10: .line 98
StackMap locals: com.sun.media.sound.SoftSincResampler float[] float[] float float[] float float[] int[] int float float int float int int int
StackMap stack:
iload 15 /* p */
iload 14 /* max_p */
if_icmple 12
11: .line 99
iload 14 /* max_p */
istore 15 /* p */
12: .line 100
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table:[[[F
iload 15 /* p */
aaload
astore 16 /* sinc_table_f */
start local 16 // float[][] sinc_table_f
13: .line 101
goto 26
14: .line 102
StackMap locals: float[][]
StackMap stack:
fload 10 /* ix */
f2i
istore 17 /* iix */
start local 17 // int iix
15: .line 104
aload 16 /* sinc_table_f */
fload 10 /* ix */
iload 17 /* iix */
i2f
fsub
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_fsize:I
i2f
fmul
f2i
aaload
16: .line 103
astore 18 /* sinc_table */
start local 18 // float[] sinc_table
17: .line 105
iload 17 /* iix */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_center:I
isub
istore 19 /* xx */
start local 19 // int xx
18: .line 106
fconst_0
fstore 20 /* y */
start local 20 // float y
19: .line 107
iconst_0
istore 21 /* i */
start local 21 // int i
20: goto 23
21: .line 108
StackMap locals: com.sun.media.sound.SoftSincResampler float[] float[] float float[] float float[] int[] int float float int float int int int float[][] int float[] int float int
StackMap stack:
fload 20 /* y */
aload 1 /* in */
iload 19 /* xx */
faload
aload 18 /* sinc_table */
iload 21 /* i */
faload
fmul
fadd
fstore 20 /* y */
22: .line 107
iinc 21 /* i */ 1
iinc 19 /* xx */ 1
StackMap locals:
StackMap stack:
23: iload 21 /* i */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_size:I
if_icmplt 21
end local 21 // int i
24: .line 109
aload 6 /* out */
iload 11 /* ox */
iinc 11 /* ox */ 1
fload 20 /* y */
fastore
25: .line 110
fload 10 /* ix */
fload 9 /* pitch */
fadd
fstore 10 /* ix */
end local 20 // float y
end local 19 // int xx
end local 18 // float[] sinc_table
end local 17 // int iix
26: .line 101
StackMap locals: com.sun.media.sound.SoftSincResampler float[] float[] float float[] float float[] int[] int float float int float int int int float[][]
StackMap stack:
fload 10 /* ix */
fload 12 /* ix_end */
fcmpg
ifge 48
iload 11 /* ox */
iload 13 /* ox_end */
if_icmplt 14
end local 16 // float[][] sinc_table_f
end local 15 // int p
27: .line 112
goto 48
28: .line 114
StackMap locals:
StackMap stack:
fload 10 /* ix */
f2i
istore 15 /* iix */
start local 15 // int iix
29: .line 115
fload 9 /* pitch */
fconst_1
fsub
ldc 10.0
fmul
f2i
istore 16 /* p */
start local 16 // int p
30: .line 116
iload 16 /* p */
ifge 32
31: .line 117
iconst_0
istore 16 /* p */
goto 34
32: .line 118
StackMap locals: int int
StackMap stack:
iload 16 /* p */
iload 14 /* max_p */
if_icmple 34
33: .line 119
iload 14 /* max_p */
istore 16 /* p */
34: .line 120
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table:[[[F
iload 16 /* p */
aaload
astore 17 /* sinc_table_f */
start local 17 // float[][] sinc_table_f
35: .line 123
aload 17 /* sinc_table_f */
fload 10 /* ix */
iload 15 /* iix */
i2f
fsub
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_fsize:I
i2f
fmul
f2i
aaload
36: .line 122
astore 18 /* sinc_table */
start local 18 // float[] sinc_table
37: .line 124
iload 15 /* iix */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_center:I
isub
istore 19 /* xx */
start local 19 // int xx
38: .line 125
fconst_0
fstore 20 /* y */
start local 20 // float y
39: .line 126
iconst_0
istore 21 /* i */
start local 21 // int i
40: goto 43
41: .line 127
StackMap locals: com.sun.media.sound.SoftSincResampler float[] float[] float float[] float float[] int[] int float float int float int int int int float[][] float[] int float int
StackMap stack:
fload 20 /* y */
aload 1 /* in */
iload 19 /* xx */
faload
aload 18 /* sinc_table */
iload 21 /* i */
faload
fmul
fadd
fstore 20 /* y */
42: .line 126
iinc 21 /* i */ 1
iinc 19 /* xx */ 1
StackMap locals:
StackMap stack:
43: iload 21 /* i */
aload 0 /* this */
getfield com.sun.media.sound.SoftSincResampler.sinc_table_size:I
if_icmplt 41
end local 21 // int i
44: .line 128
aload 6 /* out */
iload 11 /* ox */
iinc 11 /* ox */ 1
fload 20 /* y */
fastore
45: .line 130
fload 10 /* ix */
fload 9 /* pitch */
fadd
fstore 10 /* ix */
46: .line 131
fload 9 /* pitch */
fload 5 /* pitchstep */
fadd
fstore 9 /* pitch */
end local 20 // float y
end local 19 // int xx
end local 18 // float[] sinc_table
end local 17 // float[][] sinc_table_f
end local 16 // int p
end local 15 // int iix
47: .line 113
StackMap locals: com.sun.media.sound.SoftSincResampler float[] float[] float float[] float float[] int[] int float float int float int int
StackMap stack:
fload 10 /* ix */
fload 12 /* ix_end */
fcmpg
ifge 48
iload 11 /* ox */
iload 13 /* ox_end */
if_icmplt 28
48: .line 134
StackMap locals:
StackMap stack:
aload 2 /* in_offset */
iconst_0
fload 10 /* ix */
fastore
49: .line 135
aload 7 /* out_offset */
iconst_0
iload 11 /* ox */
iastore
50: .line 136
aload 4 /* startpitch */
iconst_0
fload 9 /* pitch */
fastore
51: .line 138
return
end local 14 // int max_p
end local 13 // int ox_end
end local 12 // float ix_end
end local 11 // int ox
end local 10 // float ix
end local 9 // float pitch
end local 8 // int out_end
end local 7 // int[] out_offset
end local 6 // float[] out
end local 5 // float pitchstep
end local 4 // float[] startpitch
end local 3 // float in_end
end local 2 // float[] in_offset
end local 1 // float[] in
end local 0 // com.sun.media.sound.SoftSincResampler this
LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lcom/sun/media/sound/SoftSincResampler;
0 52 1 in [F
0 52 2 in_offset [F
0 52 3 in_end F
0 52 4 startpitch [F
0 52 5 pitchstep F
0 52 6 out [F
0 52 7 out_offset [I
0 52 8 out_end I
1 52 9 pitch F
2 52 10 ix F
3 52 11 ox I
4 52 12 ix_end F
5 52 13 ox_end I
6 52 14 max_p I
8 27 15 p I
13 27 16 sinc_table_f [[F
15 26 17 iix I
17 26 18 sinc_table [F
18 26 19 xx I
19 26 20 y F
20 24 21 i I
29 47 15 iix I
30 47 16 p I
35 47 17 sinc_table_f [[F
37 47 18 sinc_table [F
38 47 19 xx I
39 47 20 y F
40 44 21 i I
MethodParameters:
Name Flags
in
in_offset
in_end
startpitch
pitchstep
out
out_offset
out_end
}
SourceFile: "SoftSincResampler.java"