├── AndroidManifest.xml
├── Recorder.iml
├── ant.properties
├── assets
└── record.html
├── build.xml
├── gen
└── com
│ └── zc
│ └── RecordDemo
│ ├── BuildConfig.java
│ ├── Manifest.java
│ └── R.java
├── jni
├── .DS_Store
├── Android.mk
├── libmp3lame
│ ├── Makefile.am
│ ├── Makefile.in
│ ├── VbrTag.c
│ ├── VbrTag.h
│ ├── bitstream.c
│ ├── bitstream.h
│ ├── depcomp
│ ├── encoder.c
│ ├── encoder.h
│ ├── fft.c
│ ├── fft.h
│ ├── gain_analysis.c
│ ├── gain_analysis.h
│ ├── i386
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── choose_table.nas
│ │ ├── cpu_feat.nas
│ │ ├── fft.nas
│ │ ├── fft3dn.nas
│ │ ├── fftfpu.nas
│ │ ├── fftsse.nas
│ │ ├── ffttbl.nas
│ │ ├── nasm.h
│ │ └── scalar.nas
│ ├── id3tag.c
│ ├── id3tag.h
│ ├── l3side.h
│ ├── lame-analysis.h
│ ├── lame.c
│ ├── lame.h
│ ├── lame.rc
│ ├── lame_global_flags.h
│ ├── lameerror.h
│ ├── logoe.ico
│ ├── machine.h
│ ├── mpglib_interface.c
│ ├── newmdct.c
│ ├── newmdct.h
│ ├── presets.c
│ ├── psymodel.c
│ ├── psymodel.h
│ ├── quantize.c
│ ├── quantize.h
│ ├── quantize_pvt.c
│ ├── quantize_pvt.h
│ ├── reservoir.c
│ ├── reservoir.h
│ ├── set_get.c
│ ├── set_get.h
│ ├── tables.c
│ ├── tables.h
│ ├── takehiro.c
│ ├── util.c
│ ├── util.h
│ ├── vbrquantize.c
│ ├── vbrquantize.h
│ ├── vector
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── lame_intrin.h
│ │ └── xmm_quantize_sub.c
│ ├── version.c
│ └── version.h
└── wrapper.c
├── libs
├── .DS_Store
└── armeabi
│ └── libmp3lame.so
├── local.properties
├── obj
└── local
│ └── armeabi
│ ├── libmp3lame.so
│ └── objs
│ └── mp3lame
│ ├── libmp3lame
│ ├── VbrTag.o
│ ├── VbrTag.o.d
│ ├── bitstream.o
│ ├── bitstream.o.d
│ ├── encoder.o
│ ├── encoder.o.d
│ ├── fft.o
│ ├── fft.o.d
│ ├── gain_analysis.o
│ ├── gain_analysis.o.d
│ ├── id3tag.o
│ ├── id3tag.o.d
│ ├── lame.o
│ ├── lame.o.d
│ ├── mpglib_interface.o
│ ├── mpglib_interface.o.d
│ ├── newmdct.o
│ ├── newmdct.o.d
│ ├── presets.o
│ ├── presets.o.d
│ ├── psymodel.o
│ ├── psymodel.o.d
│ ├── quantize.o
│ ├── quantize.o.d
│ ├── quantize_pvt.o
│ ├── quantize_pvt.o.d
│ ├── reservoir.o
│ ├── reservoir.o.d
│ ├── set_get.o
│ ├── set_get.o.d
│ ├── tables.o
│ ├── tables.o.d
│ ├── takehiro.o
│ ├── takehiro.o.d
│ ├── util.o
│ ├── util.o.d
│ ├── vbrquantize.o
│ ├── vbrquantize.o.d
│ ├── version.o
│ └── version.o.d
│ ├── wrapper.o
│ └── wrapper.o.d
├── out
└── production
│ └── RecordDemo
│ ├── RecordDemo.apk
│ ├── RecordDemo.unaligned.apk
│ └── com
│ └── zc
│ └── RecordDemo
│ ├── BuildConfig.class
│ ├── ConvertActivity.class
│ ├── LameActivity$1.class
│ ├── LameActivity$2.class
│ ├── LameActivity.class
│ ├── Mp3Conveter.class
│ ├── MyAudioRecorder$1.class
│ ├── MyAudioRecorder.class
│ ├── R$attr.class
│ ├── R$id.class
│ ├── R$layout.class
│ ├── R$string.class
│ ├── R.class
│ ├── RecordManager.class
│ └── web
│ └── record.html
├── proguard-project.txt
├── project.properties
├── res
├── layout
│ ├── activity_lame.xml
│ ├── convert_layout.xml
│ └── main.xml
└── values
│ └── strings.xml
└── src
├── .DS_Store
└── com
├── .DS_Store
└── zc
├── .DS_Store
└── RecordDemo
├── .DS_Store
├── ConvertActivity.java
├── LameActivity.java
├── Mp3Conveter.java
├── MyAudioRecorder.java
├── RecordManager.java
└── web
├── .DS_Store
└── record.html
/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Recorder.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/ant.properties:
--------------------------------------------------------------------------------
1 | # This file is used to override default values used by the Ant build system.
2 | #
3 | # This file must be checked into Version Control Systems, as it is
4 | # integral to the build system of your project.
5 |
6 | # This file is only used by the Ant script.
7 |
8 | # You can use this to override default values such as
9 | # 'source.dir' for the location of your java source folder and
10 | # 'out.dir' for the location of your output folder.
11 |
12 | # You can also use it define how the release builds are signed by declaring
13 | # the following properties:
14 | # 'key.store' for the location of your keystore and
15 | # 'key.alias' for the name of the key to use.
16 | # The password will be asked during the build when you use the 'release' target.
17 |
18 |
--------------------------------------------------------------------------------
/assets/record.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/build.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
40 |
49 |
50 |
51 |
52 |
56 |
57 |
69 |
70 |
71 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/gen/com/zc/RecordDemo/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /*___Generated_by_IDEA___*/
2 |
3 | package com.zc.RecordDemo;
4 |
5 | /* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */
6 | public final class BuildConfig {
7 | public final static boolean DEBUG = Boolean.parseBoolean(null);
8 | }
--------------------------------------------------------------------------------
/gen/com/zc/RecordDemo/Manifest.java:
--------------------------------------------------------------------------------
1 | /*___Generated_by_IDEA___*/
2 |
3 | package com.zc.RecordDemo;
4 |
5 | /* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */
6 | public final class Manifest {
7 | }
--------------------------------------------------------------------------------
/gen/com/zc/RecordDemo/R.java:
--------------------------------------------------------------------------------
1 | /*___Generated_by_IDEA___*/
2 |
3 | package com.zc.RecordDemo;
4 |
5 | /* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */
6 | public final class R {
7 | }
--------------------------------------------------------------------------------
/jni/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/jni/.DS_Store
--------------------------------------------------------------------------------
/jni/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 |
5 | LOCAL_MODULE := libmp3lame
6 |
7 | LOCAL_SRC_FILES := \
8 | ./libmp3lame/bitstream.c \
9 | ./libmp3lame/encoder.c \
10 | ./libmp3lame/fft.c \
11 | ./libmp3lame/gain_analysis.c \
12 | ./libmp3lame/id3tag.c \
13 | ./libmp3lame/lame.c \
14 | ./libmp3lame/mpglib_interface.c \
15 | ./libmp3lame/newmdct.c \
16 | ./libmp3lame/presets.c \
17 | ./libmp3lame/psymodel.c \
18 | ./libmp3lame/quantize.c \
19 | ./libmp3lame/quantize_pvt.c \
20 | ./libmp3lame/reservoir.c \
21 | ./libmp3lame/set_get.c \
22 | ./libmp3lame/tables.c \
23 | ./libmp3lame/takehiro.c \
24 | ./libmp3lame/util.c \
25 | ./libmp3lame/vbrquantize.c \
26 | ./libmp3lame/VbrTag.c \
27 | ./libmp3lame/version.c \
28 | ./wrapper.c
29 |
30 | LOCAL_LDLIBS := -llog
31 |
32 | include $(BUILD_SHARED_LIBRARY)
33 |
--------------------------------------------------------------------------------
/jni/libmp3lame/Makefile.am:
--------------------------------------------------------------------------------
1 | ## $Id: Makefile.am,v 1.39 2010/10/30 13:21:02 robert Exp $
2 |
3 | include $(top_srcdir)/Makefile.am.global
4 |
5 | SUBDIRS = i386 vector
6 |
7 | lib_LTLIBRARIES = libmp3lame.la
8 |
9 | if HAVE_NASM
10 | cpu_ldadd = $(top_builddir)/libmp3lame/@CPUTYPE@/liblameasmroutines.la
11 | endif
12 | if WITH_VECTOR
13 | vector_ldadd = $(top_builddir)/libmp3lame/vector/liblamevectorroutines.la
14 | endif
15 |
16 | if LIB_WITH_DECODER
17 | decoder_ldadd = $(top_builddir)/mpglib/libmpgdecoder.la
18 | else
19 | decoder_ldadd =
20 | endif
21 |
22 | libmp3lame_la_LIBADD = $(cpu_ldadd) $(vector_ldadd) $(decoder_ldadd) \
23 | $(CONFIG_MATH_LIB)
24 | libmp3lame_la_LDFLAGS = -version-info @LIB_MAJOR_VERSION@:@LIB_MINOR_VERSION@ \
25 | -no-undefined
26 |
27 | INCLUDES = @INCLUDES@ -I$(top_srcdir)/mpglib -I$(top_builddir)
28 |
29 | DEFS = @DEFS@ @CONFIG_DEFS@
30 |
31 | EXTRA_DIST = \
32 | lame.rc \
33 | vbrquantize.h \
34 | logoe.ico
35 |
36 | libmp3lame_la_SOURCES = \
37 | VbrTag.c \
38 | bitstream.c \
39 | encoder.c \
40 | fft.c \
41 | gain_analysis.c \
42 | id3tag.c \
43 | lame.c \
44 | newmdct.c \
45 | presets.c \
46 | psymodel.c \
47 | quantize.c \
48 | quantize_pvt.c \
49 | reservoir.c \
50 | set_get.c \
51 | tables.c \
52 | takehiro.c \
53 | util.c \
54 | vbrquantize.c \
55 | version.c \
56 | mpglib_interface.c
57 |
58 | noinst_HEADERS= \
59 | VbrTag.h \
60 | bitstream.h \
61 | encoder.h \
62 | fft.h \
63 | gain_analysis.h \
64 | id3tag.h \
65 | l3side.h \
66 | lame-analysis.h \
67 | lame_global_flags.h \
68 | lameerror.h \
69 | machine.h \
70 | newmdct.h \
71 | psymodel.h \
72 | quantize.h \
73 | quantize_pvt.h \
74 | reservoir.h \
75 | set_get.h \
76 | tables.h \
77 | util.h \
78 | vbrquantize.h \
79 | version.h
80 |
81 | CLEANFILES = lclint.txt
82 |
83 | LCLINTFLAGS= \
84 | +posixlib \
85 | +showsummary \
86 | +showalluses \
87 | +whichlib \
88 | +forcehints \
89 | -fixedformalarray \
90 | +matchanyintegral \
91 | -Dlint
92 |
93 | lclint.txt: ${libmp3lame_la_SOURCES} ${noinst_HEADERS}
94 | @lclint ${LCLINTFLAGS} ${INCLUDES} ${DEFS} ${libmp3lame_la_SOURCES} 2>&1 >lclint.txt || true
95 |
96 | lclint: lclint.txt
97 | more lclint.txt
98 |
99 | #$(OBJECTS): libtool
100 | #libtool: $(LIBTOOL_DEPS)
101 | # $(SHELL) $(top_builddir)/config.status --recheck
102 |
--------------------------------------------------------------------------------
/jni/libmp3lame/VbrTag.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Xing VBR tagging for LAME.
3 | *
4 | * Copyright (c) 1999 A.L. Faber
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_VRBTAG_H
23 | #define LAME_VRBTAG_H
24 |
25 |
26 | /* -----------------------------------------------------------
27 | * A Vbr header may be present in the ancillary
28 | * data field of the first frame of an mp3 bitstream
29 | * The Vbr header (optionally) contains
30 | * frames total number of audio frames in the bitstream
31 | * bytes total number of bytes in the bitstream
32 | * toc table of contents
33 |
34 | * toc (table of contents) gives seek points
35 | * for random access
36 | * the ith entry determines the seek point for
37 | * i-percent duration
38 | * seek point in bytes = (toc[i]/256.0) * total_bitstream_bytes
39 | * e.g. half duration seek point = (toc[50]/256.0) * total_bitstream_bytes
40 | */
41 |
42 |
43 | #define FRAMES_FLAG 0x0001
44 | #define BYTES_FLAG 0x0002
45 | #define TOC_FLAG 0x0004
46 | #define VBR_SCALE_FLAG 0x0008
47 |
48 | #define NUMTOCENTRIES 100
49 |
50 | #ifndef lame_internal_flags_defined
51 | #define lame_internal_flags_defined
52 | struct lame_internal_flags;
53 | typedef struct lame_internal_flags lame_internal_flags;
54 | #endif
55 |
56 |
57 | /*structure to receive extracted header */
58 | /* toc may be NULL*/
59 | typedef struct {
60 | int h_id; /* from MPEG header, 0=MPEG2, 1=MPEG1 */
61 | int samprate; /* determined from MPEG header */
62 | int flags; /* from Vbr header data */
63 | int frames; /* total bit stream frames from Vbr header data */
64 | int bytes; /* total bit stream bytes from Vbr header data */
65 | int vbr_scale; /* encoded vbr scale from Vbr header data */
66 | unsigned char toc[NUMTOCENTRIES]; /* may be NULL if toc not desired */
67 | int headersize; /* size of VBR header, in bytes */
68 | int enc_delay; /* encoder delay */
69 | int enc_padding; /* encoder paddign added at end of stream */
70 | } VBRTAGDATA;
71 |
72 | int GetVbrTag(VBRTAGDATA * pTagData, const unsigned char *buf);
73 |
74 | int InitVbrTag(lame_global_flags * gfp);
75 | int PutVbrTag(lame_global_flags const *gfp, FILE * fid);
76 | void AddVbrFrame(lame_internal_flags * gfc);
77 | void UpdateMusicCRC(uint16_t * crc, const unsigned char *buffer, int size);
78 |
79 | #endif
80 |
--------------------------------------------------------------------------------
/jni/libmp3lame/bitstream.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MP3 bitstream Output interface for LAME
3 | *
4 | * Copyright (c) 1999 Takehiro TOMINAGA
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_BITSTREAM_H
23 | #define LAME_BITSTREAM_H
24 |
25 | int getframebits(const lame_internal_flags * gfc);
26 |
27 | int format_bitstream(lame_internal_flags * gfc);
28 |
29 | void flush_bitstream(lame_internal_flags * gfc);
30 | void add_dummy_byte(lame_internal_flags * gfc, unsigned char val, unsigned int n);
31 |
32 | int copy_buffer(lame_internal_flags * gfc, unsigned char *buffer, int buffer_size,
33 | int update_crc);
34 | void init_bit_stream_w(lame_internal_flags * gfc);
35 | void CRC_writeheader(lame_internal_flags const *gfc, char *buffer);
36 | int compute_flushbits(const lame_internal_flags * gfp, int *nbytes);
37 |
38 | int get_max_frame_buffer_size_by_constraint(SessionConfig_t const * cfg, int constraint);
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/jni/libmp3lame/encoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * encoder.h include file
3 | *
4 | * Copyright (c) 2000 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 |
23 | #ifndef LAME_ENCODER_H
24 | #define LAME_ENCODER_H
25 |
26 | /***********************************************************************
27 | *
28 | * encoder and decoder delays
29 | *
30 | ***********************************************************************/
31 |
32 | /*
33 | * layer III enc->dec delay: 1056 (1057?) (observed)
34 | * layer II enc->dec delay: 480 (481?) (observed)
35 | *
36 | * polyphase 256-16 (dec or enc) = 240
37 | * mdct 256+32 (9*32) (dec or enc) = 288
38 | * total: 512+16
39 | *
40 | * My guess is that delay of polyphase filterbank is actualy 240.5
41 | * (there are technical reasons for this, see postings in mp3encoder).
42 | * So total Encode+Decode delay = ENCDELAY + 528 + 1
43 | */
44 |
45 | /*
46 | * ENCDELAY The encoder delay.
47 | *
48 | * Minimum allowed is MDCTDELAY (see below)
49 | *
50 | * The first 96 samples will be attenuated, so using a value less than 96
51 | * will result in corrupt data for the first 96-ENCDELAY samples.
52 | *
53 | * suggested: 576
54 | * set to 1160 to sync with FhG.
55 | */
56 |
57 | #define ENCDELAY 576
58 |
59 |
60 |
61 | /*
62 | * make sure there is at least one complete frame after the
63 | * last frame containing real data
64 | *
65 | * Using a value of 288 would be sufficient for a
66 | * a very sophisticated decoder that can decode granule-by-granule instead
67 | * of frame by frame. But lets not assume this, and assume the decoder
68 | * will not decode frame N unless it also has data for frame N+1
69 | *
70 | */
71 | /*#define POSTDELAY 288*/
72 | #define POSTDELAY 1152
73 |
74 |
75 |
76 | /*
77 | * delay of the MDCT used in mdct.c
78 | * original ISO routines had a delay of 528!
79 | * Takehiro's routines:
80 | */
81 |
82 | #define MDCTDELAY 48
83 | #define FFTOFFSET (224+MDCTDELAY)
84 |
85 | /*
86 | * Most decoders, including the one we use, have a delay of 528 samples.
87 | */
88 |
89 | #define DECDELAY 528
90 |
91 |
92 | /* number of subbands */
93 | #define SBLIMIT 32
94 |
95 | /* parition bands bands */
96 | #define CBANDS 64
97 |
98 | /* number of critical bands/scale factor bands where masking is computed*/
99 | #define SBPSY_l 21
100 | #define SBPSY_s 12
101 |
102 | /* total number of scalefactor bands encoded */
103 | #define SBMAX_l 22
104 | #define SBMAX_s 13
105 | #define PSFB21 6
106 | #define PSFB12 6
107 |
108 |
109 |
110 | /* FFT sizes */
111 | #define BLKSIZE 1024
112 | #define HBLKSIZE (BLKSIZE/2 + 1)
113 | #define BLKSIZE_s 256
114 | #define HBLKSIZE_s (BLKSIZE_s/2 + 1)
115 |
116 |
117 | /* #define switch_pe 1800 */
118 | #define NORM_TYPE 0
119 | #define START_TYPE 1
120 | #define SHORT_TYPE 2
121 | #define STOP_TYPE 3
122 |
123 | /*
124 | * Mode Extention:
125 | * When we are in stereo mode, there are 4 possible methods to store these
126 | * two channels. The stereo modes -m? are using a subset of them.
127 | *
128 | * -ms: MPG_MD_LR_LR
129 | * -mj: MPG_MD_LR_LR and MPG_MD_MS_LR
130 | * -mf: MPG_MD_MS_LR
131 | * -mi: all
132 | */
133 | #if 0
134 | #define MPG_MD_LR_LR 0
135 | #define MPG_MD_LR_I 1
136 | #define MPG_MD_MS_LR 2
137 | #define MPG_MD_MS_I 3
138 | #endif
139 | enum MPEGChannelMode
140 | { MPG_MD_LR_LR = 0
141 | , MPG_MD_LR_I = 1
142 | , MPG_MD_MS_LR = 2
143 | , MPG_MD_MS_I = 3
144 | };
145 |
146 | #ifndef lame_internal_flags_defined
147 | #define lame_internal_flags_defined
148 | struct lame_internal_flags;
149 | typedef struct lame_internal_flags lame_internal_flags;
150 | #endif
151 |
152 | int lame_encode_mp3_frame(lame_internal_flags * gfc,
153 | sample_t const *inbuf_l,
154 | sample_t const *inbuf_r, unsigned char *mp3buf, int mp3buf_size);
155 |
156 | #endif /* LAME_ENCODER_H */
157 |
--------------------------------------------------------------------------------
/jni/libmp3lame/fft.c:
--------------------------------------------------------------------------------
1 | /*
2 | ** FFT and FHT routines
3 | ** Copyright 1988, 1993; Ron Mayer
4 | ** Copyright (c) 1999-2000 Takehiro Tominaga
5 | **
6 | ** fht(fz,n);
7 | ** Does a hartley transform of "n" points in the array "fz".
8 | **
9 | ** NOTE: This routine uses at least 2 patented algorithms, and may be
10 | ** under the restrictions of a bunch of different organizations.
11 | ** Although I wrote it completely myself; it is kind of a derivative
12 | ** of a routine I once authored and released under the GPL, so it
13 | ** may fall under the free software foundation's restrictions;
14 | ** it was worked on as a Stanford Univ project, so they claim
15 | ** some rights to it; it was further optimized at work here, so
16 | ** I think this company claims parts of it. The patents are
17 | ** held by R. Bracewell (the FHT algorithm) and O. Buneman (the
18 | ** trig generator), both at Stanford Univ.
19 | ** If it were up to me, I'd say go do whatever you want with it;
20 | ** but it would be polite to give credit to the following people
21 | ** if you use this anywhere:
22 | ** Euler - probable inventor of the fourier transform.
23 | ** Gauss - probable inventor of the FFT.
24 | ** Hartley - probable inventor of the hartley transform.
25 | ** Buneman - for a really cool trig generator
26 | ** Mayer(me) - for authoring this particular version and
27 | ** including all the optimizations in one package.
28 | ** Thanks,
29 | ** Ron Mayer; mayer@acuson.com
30 | ** and added some optimization by
31 | ** Mather - idea of using lookup table
32 | ** Takehiro - some dirty hack for speed up
33 | */
34 |
35 | /* $Id: fft.c,v 1.38 2009/04/20 21:48:00 robert Exp $ */
36 |
37 | #ifdef HAVE_CONFIG_H
38 | # include
39 | #endif
40 |
41 | #include "lame.h"
42 | #include "machine.h"
43 | #include "encoder.h"
44 | #include "util.h"
45 | #include "fft.h"
46 |
47 | #include "vector/lame_intrin.h"
48 |
49 |
50 |
51 | #define TRI_SIZE (5-1) /* 1024 = 4**5 */
52 |
53 | /* fft.c */
54 | static FLOAT window[BLKSIZE], window_s[BLKSIZE_s / 2];
55 |
56 | static const FLOAT costab[TRI_SIZE * 2] = {
57 | 9.238795325112867e-01, 3.826834323650898e-01,
58 | 9.951847266721969e-01, 9.801714032956060e-02,
59 | 9.996988186962042e-01, 2.454122852291229e-02,
60 | 9.999811752826011e-01, 6.135884649154475e-03
61 | };
62 |
63 | static void
64 | fht(FLOAT * fz, int n)
65 | {
66 | const FLOAT *tri = costab;
67 | int k4;
68 | FLOAT *fi, *gi;
69 | FLOAT const *fn;
70 |
71 | n <<= 1; /* to get BLKSIZE, because of 3DNow! ASM routine */
72 | fn = fz + n;
73 | k4 = 4;
74 | do {
75 | FLOAT s1, c1;
76 | int i, k1, k2, k3, kx;
77 | kx = k4 >> 1;
78 | k1 = k4;
79 | k2 = k4 << 1;
80 | k3 = k2 + k1;
81 | k4 = k2 << 1;
82 | fi = fz;
83 | gi = fi + kx;
84 | do {
85 | FLOAT f0, f1, f2, f3;
86 | f1 = fi[0] - fi[k1];
87 | f0 = fi[0] + fi[k1];
88 | f3 = fi[k2] - fi[k3];
89 | f2 = fi[k2] + fi[k3];
90 | fi[k2] = f0 - f2;
91 | fi[0] = f0 + f2;
92 | fi[k3] = f1 - f3;
93 | fi[k1] = f1 + f3;
94 | f1 = gi[0] - gi[k1];
95 | f0 = gi[0] + gi[k1];
96 | f3 = SQRT2 * gi[k3];
97 | f2 = SQRT2 * gi[k2];
98 | gi[k2] = f0 - f2;
99 | gi[0] = f0 + f2;
100 | gi[k3] = f1 - f3;
101 | gi[k1] = f1 + f3;
102 | gi += k4;
103 | fi += k4;
104 | } while (fi < fn);
105 | c1 = tri[0];
106 | s1 = tri[1];
107 | for (i = 1; i < kx; i++) {
108 | FLOAT c2, s2;
109 | c2 = 1 - (2 * s1) * s1;
110 | s2 = (2 * s1) * c1;
111 | fi = fz + i;
112 | gi = fz + k1 - i;
113 | do {
114 | FLOAT a, b, g0, f0, f1, g1, f2, g2, f3, g3;
115 | b = s2 * fi[k1] - c2 * gi[k1];
116 | a = c2 * fi[k1] + s2 * gi[k1];
117 | f1 = fi[0] - a;
118 | f0 = fi[0] + a;
119 | g1 = gi[0] - b;
120 | g0 = gi[0] + b;
121 | b = s2 * fi[k3] - c2 * gi[k3];
122 | a = c2 * fi[k3] + s2 * gi[k3];
123 | f3 = fi[k2] - a;
124 | f2 = fi[k2] + a;
125 | g3 = gi[k2] - b;
126 | g2 = gi[k2] + b;
127 | b = s1 * f2 - c1 * g3;
128 | a = c1 * f2 + s1 * g3;
129 | fi[k2] = f0 - a;
130 | fi[0] = f0 + a;
131 | gi[k3] = g1 - b;
132 | gi[k1] = g1 + b;
133 | b = c1 * g2 - s1 * f3;
134 | a = s1 * g2 + c1 * f3;
135 | gi[k2] = g0 - a;
136 | gi[0] = g0 + a;
137 | fi[k3] = f1 - b;
138 | fi[k1] = f1 + b;
139 | gi += k4;
140 | fi += k4;
141 | } while (fi < fn);
142 | c2 = c1;
143 | c1 = c2 * tri[0] - s1 * tri[1];
144 | s1 = c2 * tri[1] + s1 * tri[0];
145 | }
146 | tri += 2;
147 | } while (k4 < n);
148 | }
149 |
150 |
151 | static const unsigned char rv_tbl[] = {
152 | 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
153 | 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
154 | 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
155 | 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,
156 | 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4,
157 | 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
158 | 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec,
159 | 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,
160 | 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
161 | 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,
162 | 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea,
163 | 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
164 | 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6,
165 | 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,
166 | 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
167 | 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe
168 | };
169 |
170 | #define ch01(index) (buffer[chn][index])
171 |
172 | #define ml00(f) (window[i ] * f(i))
173 | #define ml10(f) (window[i + 0x200] * f(i + 0x200))
174 | #define ml20(f) (window[i + 0x100] * f(i + 0x100))
175 | #define ml30(f) (window[i + 0x300] * f(i + 0x300))
176 |
177 | #define ml01(f) (window[i + 0x001] * f(i + 0x001))
178 | #define ml11(f) (window[i + 0x201] * f(i + 0x201))
179 | #define ml21(f) (window[i + 0x101] * f(i + 0x101))
180 | #define ml31(f) (window[i + 0x301] * f(i + 0x301))
181 |
182 | #define ms00(f) (window_s[i ] * f(i + k))
183 | #define ms10(f) (window_s[0x7f - i] * f(i + k + 0x80))
184 | #define ms20(f) (window_s[i + 0x40] * f(i + k + 0x40))
185 | #define ms30(f) (window_s[0x3f - i] * f(i + k + 0xc0))
186 |
187 | #define ms01(f) (window_s[i + 0x01] * f(i + k + 0x01))
188 | #define ms11(f) (window_s[0x7e - i] * f(i + k + 0x81))
189 | #define ms21(f) (window_s[i + 0x41] * f(i + k + 0x41))
190 | #define ms31(f) (window_s[0x3e - i] * f(i + k + 0xc1))
191 |
192 |
193 | void
194 | fft_short(lame_internal_flags const *const gfc,
195 | FLOAT x_real[3][BLKSIZE_s], int chn, const sample_t *const buffer[2])
196 | {
197 | int i;
198 | int j;
199 | int b;
200 |
201 | for (b = 0; b < 3; b++) {
202 | FLOAT *x = &x_real[b][BLKSIZE_s / 2];
203 | short const k = (576 / 3) * (b + 1);
204 | j = BLKSIZE_s / 8 - 1;
205 | do {
206 | FLOAT f0, f1, f2, f3, w;
207 |
208 | i = rv_tbl[j << 2];
209 |
210 | f0 = ms00(ch01);
211 | w = ms10(ch01);
212 | f1 = f0 - w;
213 | f0 = f0 + w;
214 | f2 = ms20(ch01);
215 | w = ms30(ch01);
216 | f3 = f2 - w;
217 | f2 = f2 + w;
218 |
219 | x -= 4;
220 | x[0] = f0 + f2;
221 | x[2] = f0 - f2;
222 | x[1] = f1 + f3;
223 | x[3] = f1 - f3;
224 |
225 | f0 = ms01(ch01);
226 | w = ms11(ch01);
227 | f1 = f0 - w;
228 | f0 = f0 + w;
229 | f2 = ms21(ch01);
230 | w = ms31(ch01);
231 | f3 = f2 - w;
232 | f2 = f2 + w;
233 |
234 | x[BLKSIZE_s / 2 + 0] = f0 + f2;
235 | x[BLKSIZE_s / 2 + 2] = f0 - f2;
236 | x[BLKSIZE_s / 2 + 1] = f1 + f3;
237 | x[BLKSIZE_s / 2 + 3] = f1 - f3;
238 | } while (--j >= 0);
239 |
240 | gfc->fft_fht(x, BLKSIZE_s / 2);
241 | /* BLKSIZE_s/2 because of 3DNow! ASM routine */
242 | }
243 | }
244 |
245 | void
246 | fft_long(lame_internal_flags const *const gfc,
247 | FLOAT x[BLKSIZE], int chn, const sample_t *const buffer[2])
248 | {
249 | int i;
250 | int jj = BLKSIZE / 8 - 1;
251 | x += BLKSIZE / 2;
252 |
253 | do {
254 | FLOAT f0, f1, f2, f3, w;
255 |
256 | i = rv_tbl[jj];
257 | f0 = ml00(ch01);
258 | w = ml10(ch01);
259 | f1 = f0 - w;
260 | f0 = f0 + w;
261 | f2 = ml20(ch01);
262 | w = ml30(ch01);
263 | f3 = f2 - w;
264 | f2 = f2 + w;
265 |
266 | x -= 4;
267 | x[0] = f0 + f2;
268 | x[2] = f0 - f2;
269 | x[1] = f1 + f3;
270 | x[3] = f1 - f3;
271 |
272 | f0 = ml01(ch01);
273 | w = ml11(ch01);
274 | f1 = f0 - w;
275 | f0 = f0 + w;
276 | f2 = ml21(ch01);
277 | w = ml31(ch01);
278 | f3 = f2 - w;
279 | f2 = f2 + w;
280 |
281 | x[BLKSIZE / 2 + 0] = f0 + f2;
282 | x[BLKSIZE / 2 + 2] = f0 - f2;
283 | x[BLKSIZE / 2 + 1] = f1 + f3;
284 | x[BLKSIZE / 2 + 3] = f1 - f3;
285 | } while (--jj >= 0);
286 |
287 | gfc->fft_fht(x, BLKSIZE / 2);
288 | /* BLKSIZE/2 because of 3DNow! ASM routine */
289 | }
290 |
291 | #ifdef HAVE_NASM
292 | extern void fht_3DN(FLOAT * fz, int n);
293 | extern void fht_SSE(FLOAT * fz, int n);
294 | #endif
295 |
296 | void
297 | init_fft(lame_internal_flags * const gfc)
298 | {
299 | int i;
300 |
301 | /* The type of window used here will make no real difference, but */
302 | /* in the interest of merging nspsytune stuff - switch to blackman window */
303 | for (i = 0; i < BLKSIZE; i++)
304 | /* blackman window */
305 | window[i] = 0.42 - 0.5 * cos(2 * PI * (i + .5) / BLKSIZE) +
306 | 0.08 * cos(4 * PI * (i + .5) / BLKSIZE);
307 |
308 | for (i = 0; i < BLKSIZE_s / 2; i++)
309 | window_s[i] = 0.5 * (1.0 - cos(2.0 * PI * (i + 0.5) / BLKSIZE_s));
310 |
311 | gfc->fft_fht = fht;
312 | #ifdef HAVE_NASM
313 | if (gfc->CPU_features.AMD_3DNow) {
314 | gfc->fft_fht = fht_3DN;
315 | }
316 | else if (gfc->CPU_features.SSE) {
317 | gfc->fft_fht = fht_SSE;
318 | }
319 | else {
320 | gfc->fft_fht = fht;
321 | }
322 | #else
323 | #ifdef HAVE_XMMINTRIN_H
324 | #ifdef MIN_ARCH_SSE
325 | gfc->fft_fht = fht_SSE2;
326 | #endif
327 | #endif
328 | #endif
329 | }
330 |
--------------------------------------------------------------------------------
/jni/libmp3lame/fft.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Fast Fourier Transform include file
3 | *
4 | * Copyright (c) 2000 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_FFT_H
23 | #define LAME_FFT_H
24 |
25 | void fft_long(lame_internal_flags const *const gfc, FLOAT x_real[BLKSIZE],
26 | int chn, const sample_t *const data[2]);
27 |
28 | void fft_short(lame_internal_flags const *const gfc, FLOAT x_real[3][BLKSIZE_s],
29 | int chn, const sample_t *const data[2]);
30 |
31 | void init_fft(lame_internal_flags * const gfc);
32 |
33 | #endif
34 |
35 | /* End of fft.h */
36 |
--------------------------------------------------------------------------------
/jni/libmp3lame/gain_analysis.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ReplayGainAnalysis - analyzes input samples and give the recommended dB change
3 | * Copyright (C) 2001 David Robinson and Glen Sawyer
4 | *
5 | * This library is free software; you can redistribute it and/or
6 | * modify it under the terms of the GNU Lesser General Public
7 | * License as published by the Free Software Foundation; either
8 | * version 2.1 of the License, or (at your option) any later version.
9 | *
10 | * This library is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | * Lesser General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Lesser General Public
16 | * License along with this library; if not, write to the Free Software
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | *
19 | * concept and filter values by David Robinson (David@Robinson.org)
20 | * -- blame him if you think the idea is flawed
21 | * coding by Glen Sawyer (mp3gain@hotmail.com) 735 W 255 N, Orem, UT 84057-4505 USA
22 | * -- blame him if you think this runs too slowly, or the coding is otherwise flawed
23 | *
24 | * For an explanation of the concepts and the basic algorithms involved, go to:
25 | * http://www.replaygain.org/
26 | */
27 |
28 | #ifndef GAIN_ANALYSIS_H
29 | #define GAIN_ANALYSIS_H
30 |
31 | #ifdef HAVE_INTTYPES_H
32 | # include
33 | #else
34 | # ifdef HAVE_STDINT_H
35 | # include
36 | # endif
37 | #endif
38 |
39 | #ifdef __cplusplus
40 | extern "C" {
41 | #endif
42 |
43 |
44 | typedef sample_t Float_t; /* Type used for filtering */
45 |
46 |
47 | #define PINK_REF 64.82 /* 298640883795 */ /* calibration value for 89dB */
48 |
49 |
50 | #define YULE_ORDER 10
51 | #define BUTTER_ORDER 2
52 | #define YULE_FILTER filterYule
53 | #define BUTTER_FILTER filterButter
54 | #define RMS_PERCENTILE 0.95 /* percentile which is louder than the proposed level */
55 | #define MAX_SAMP_FREQ 48000L /* maximum allowed sample frequency [Hz] */
56 | #define RMS_WINDOW_TIME_NUMERATOR 1L
57 | #define RMS_WINDOW_TIME_DENOMINATOR 20L /* numerator / denominator = time slice size [s] */
58 | #define STEPS_per_dB 100 /* Table entries per dB */
59 | #define MAX_dB 120 /* Table entries for 0...MAX_dB (normal max. values are 70...80 dB) */
60 |
61 | enum { GAIN_NOT_ENOUGH_SAMPLES = -24601, GAIN_ANALYSIS_ERROR = 0, GAIN_ANALYSIS_OK =
62 | 1, INIT_GAIN_ANALYSIS_ERROR = 0, INIT_GAIN_ANALYSIS_OK = 1
63 | };
64 |
65 | enum { MAX_ORDER = (BUTTER_ORDER > YULE_ORDER ? BUTTER_ORDER : YULE_ORDER)
66 | , MAX_SAMPLES_PER_WINDOW = ((MAX_SAMP_FREQ * RMS_WINDOW_TIME_NUMERATOR) / RMS_WINDOW_TIME_DENOMINATOR + 1) /* max. Samples per Time slice */
67 | };
68 |
69 | struct replaygain_data {
70 | Float_t linprebuf[MAX_ORDER * 2];
71 | Float_t *linpre; /* left input samples, with pre-buffer */
72 | Float_t lstepbuf[MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
73 | Float_t *lstep; /* left "first step" (i.e. post first filter) samples */
74 | Float_t loutbuf[MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
75 | Float_t *lout; /* left "out" (i.e. post second filter) samples */
76 | Float_t rinprebuf[MAX_ORDER * 2];
77 | Float_t *rinpre; /* right input samples ... */
78 | Float_t rstepbuf[MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
79 | Float_t *rstep;
80 | Float_t routbuf[MAX_SAMPLES_PER_WINDOW + MAX_ORDER];
81 | Float_t *rout;
82 | long sampleWindow; /* number of samples required to reach number of milliseconds required for RMS window */
83 | long totsamp;
84 | double lsum;
85 | double rsum;
86 | int freqindex;
87 | int first;
88 | uint32_t A[STEPS_per_dB * MAX_dB];
89 | uint32_t B[STEPS_per_dB * MAX_dB];
90 |
91 | };
92 | #ifndef replaygain_data_defined
93 | #define replaygain_data_defined
94 | typedef struct replaygain_data replaygain_t;
95 | #endif
96 |
97 |
98 |
99 |
100 | int InitGainAnalysis(replaygain_t * rgData, long samplefreq);
101 | int AnalyzeSamples(replaygain_t * rgData, const Float_t * left_samples,
102 | const Float_t * right_samples, size_t num_samples, int num_channels);
103 | Float_t GetTitleGain(replaygain_t * rgData);
104 |
105 |
106 | #ifdef __cplusplus
107 | }
108 | #endif
109 | #endif /* GAIN_ANALYSIS_H */
110 |
--------------------------------------------------------------------------------
/jni/libmp3lame/i386/Makefile.am:
--------------------------------------------------------------------------------
1 | ## $Id: Makefile.am,v 1.26 2011/04/04 09:42:34 aleidinger Exp $
2 |
3 | AUTOMAKE_OPTIONS = foreign $(top_srcdir)/ansi2knr
4 |
5 | DEFS = @DEFS@ @CONFIG_DEFS@
6 |
7 | ECHO ?= echo
8 |
9 | nasm_sources = \
10 | choose_table.nas \
11 | cpu_feat.nas \
12 | fft3dn.nas \
13 | fftsse.nas
14 |
15 | if HAVE_NASM
16 | noinst_LTLIBRARIES = liblameasmroutines.la
17 | liblameasmroutines_la_SOURCES = $(nasm_sources)
18 | am_liblameasmroutines_la_OBJECTS = \
19 | choose_table$U.lo \
20 | cpu_feat$U.lo \
21 | fft3dn$U.lo \
22 | fftsse$U.lo
23 | endif
24 |
25 | noinst_HEADERS = nasm.h
26 |
27 | INCLUDES = @INCLUDES@ -I$(top_srcdir)/libmp3lame/@CPUTYPE@
28 |
29 | SUFFIXES = .nas .lo
30 |
31 | EXTRA_liblameasmroutines_la_SOURCES = $(nasm_sources)
32 |
33 | CLEANFILES = \
34 | choose_table.o.lst \
35 | choose_table.lo.lst \
36 | cpu_feat.o.lst \
37 | cpu_feat.lo.lst \
38 | fft3dn.o.lst \
39 | fft3dn.lo.lst \
40 | fftsse.o.lst \
41 | fftsse.lo.lst
42 |
43 | EXTRA_DIST = \
44 | fft.nas \
45 | fftfpu.nas \
46 | ffttbl.nas \
47 | scalar.nas
48 |
49 | NASM = @NASM@
50 | NASMFLAGS=@NASM_FORMAT@ -i $(top_srcdir)/libmp3lame/@CPUTYPE@/
51 |
52 | .nas.o: $< nasm.h
53 | $(NASM) $(NASMFLAGS) $< -o $@ -l $@.lst
54 |
55 | .nas.lo: $< nasm.h
56 | mkdir -p .libs
57 | $(ECHO) '# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)' >$@
58 | $(ECHO) "pic_object='.libs/$*.o'" >>$@
59 | $(ECHO) "non_pic_object='.libs/$*.o'" >>$@
60 | $(NASM) $(NASMFLAGS) $< -o .libs/$*.o -l $@.lst
61 |
62 | COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
63 | $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
64 | LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
65 | $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
66 | CCLD = $(CC)
67 | LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
68 | $(AM_LDFLAGS) $(LDFLAGS) -o $@
69 |
70 |
71 | #$(OBJECTS): libtool
72 | #libtool: $(LIBTOOL_DEPS)
73 | # $(SHELL) $(top_builddir)/config.status --recheck
74 |
--------------------------------------------------------------------------------
/jni/libmp3lame/i386/cpu_feat.nas:
--------------------------------------------------------------------------------
1 | ;
2 | ;
3 | ; assembler routines to detect CPU-features
4 | ;
5 | ; MMX / 3DNow! / SSE / SSE2
6 | ;
7 | ; for the LAME project
8 | ; Frank Klemm, Robert Hegemann 2000-10-12
9 | ;
10 |
11 | %include "nasm.h"
12 |
13 | globaldef has_MMX_nasm
14 | globaldef has_3DNow_nasm
15 | globaldef has_SSE_nasm
16 | globaldef has_SSE2_nasm
17 |
18 | segment_code
19 |
20 | testCPUID:
21 | pushfd
22 | pop eax
23 | mov ecx,eax
24 | xor eax,0x200000
25 | push eax
26 | popfd
27 | pushfd
28 | pop eax
29 | cmp eax,ecx
30 | ret
31 |
32 | ;---------------------------------------
33 | ; int has_MMX_nasm (void)
34 | ;---------------------------------------
35 |
36 | has_MMX_nasm:
37 | pushad
38 | call testCPUID
39 | jz return0 ; no CPUID command, so no MMX
40 |
41 | mov eax,0x1
42 | CPUID
43 | test edx,0x800000
44 | jz return0 ; no MMX support
45 | jmp return1 ; MMX support
46 |
47 | ;---------------------------------------
48 | ; int has_SSE_nasm (void)
49 | ;---------------------------------------
50 |
51 | has_SSE_nasm:
52 | pushad
53 | call testCPUID
54 | jz return0 ; no CPUID command, so no SSE
55 |
56 | mov eax,0x1
57 | CPUID
58 | test edx,0x02000000
59 | jz return0 ; no SSE support
60 | jmp return1 ; SSE support
61 |
62 | ;---------------------------------------
63 | ; int has_SSE2_nasm (void)
64 | ;---------------------------------------
65 |
66 | has_SSE2_nasm:
67 | pushad
68 | call testCPUID
69 | jz return0 ; no CPUID command, so no SSE2
70 |
71 | mov eax,0x1
72 | CPUID
73 | test edx,0x04000000
74 | jz return0 ; no SSE2 support
75 | jmp return1 ; SSE2 support
76 |
77 | ;---------------------------------------
78 | ; int has_3DNow_nasm (void)
79 | ;---------------------------------------
80 |
81 | has_3DNow_nasm:
82 | pushad
83 | call testCPUID
84 | jz return0 ; no CPUID command, so no 3DNow!
85 |
86 | mov eax,0x80000000
87 | CPUID
88 | cmp eax,0x80000000
89 | jbe return0 ; no extended MSR(1), so no 3DNow!
90 |
91 | mov eax,0x80000001
92 | CPUID
93 | test edx,0x80000000
94 | jz return0 ; no 3DNow! support
95 | ; 3DNow! support
96 | return1:
97 | popad
98 | xor eax,eax
99 | inc eax
100 | ret
101 |
102 | return0:
103 | popad
104 | xor eax,eax
105 | ret
106 |
107 | end
108 |
--------------------------------------------------------------------------------
/jni/libmp3lame/i386/fft.nas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/jni/libmp3lame/i386/fft.nas
--------------------------------------------------------------------------------
/jni/libmp3lame/i386/fftsse.nas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/jni/libmp3lame/i386/fftsse.nas
--------------------------------------------------------------------------------
/jni/libmp3lame/i386/ffttbl.nas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/jni/libmp3lame/i386/ffttbl.nas
--------------------------------------------------------------------------------
/jni/libmp3lame/i386/nasm.h:
--------------------------------------------------------------------------------
1 |
2 | ; Copyright (C) 1999 URURI
3 |
4 | ; nasm�ѥޥ���
5 | ; 1999/08/21 ���
6 | ; 1999/10/10 ���Ĥ��ɲ�
7 | ; 1999/10/27 aout�б�
8 | ; 1999/11/07 pushf, popf ��NASM�ΥХ��б�
9 | ; 1999/12/02 for BCC ( Thanks to Miquel )
10 |
11 | ; for Windows Visual C++ -> define WIN32
12 | ; Borland or cygwin -> WIN32 and COFF
13 | ; for FreeBSD 2.x -> AOUT
14 | ; for TownsOS -> __tos__
15 | ; otherwise -> none
16 |
17 | ;̾����դ���
18 |
19 | BITS 32
20 |
21 | section .note.GNU-stack noalloc noexec nowrite progbits
22 |
23 | %ifdef YASM
24 | %define segment_code segment .text align=16 use32
25 | %define segment_data segment .data align=16 use32
26 | %define segment_bss segment .bss align=16 use32
27 | %elifdef WIN32
28 | %define segment_code segment .text align=16 class=CODE use32
29 | %define segment_data segment .data align=16 class=DATA use32
30 | %ifdef __BORLANDC__
31 | %define segment_bss segment .data align=16 class=DATA use32
32 | %else
33 | %define segment_bss segment .bss align=16 class=DATA use32
34 | %endif
35 | %elifdef AOUT
36 | %define _NAMING
37 | %define segment_code segment .text
38 | %define segment_data segment .data
39 | %define segment_bss segment .bss
40 | %else
41 | %ifidn __OUTPUT_FORMAT__,elf
42 | section .note.GNU-stack progbits noalloc noexec nowrite align=1
43 | %endif
44 | %define segment_code segment .text align=16 class=CODE use32
45 | %define segment_data segment .data align=16 class=DATA use32
46 | %define segment_bss segment .bss align=16 class=DATA use32
47 | %endif
48 |
49 | %ifdef WIN32
50 | %define _NAMING
51 | %endif
52 |
53 | %ifdef __tos__
54 | group CGROUP text
55 | group DGROUP data
56 | %endif
57 |
58 | ;ñ�����ư��������
59 |
60 | %idefine float dword
61 | %idefine fsize 4
62 | %idefine fsizen(a) (fsize*(a))
63 |
64 | ;��ɷ��
65 |
66 | %idefine wsize 2
67 | %idefine wsizen(a) (wsize*(a))
68 | %idefine dwsize 4
69 | %idefine dwsizen(a) (dwsize*(a))
70 |
71 | ;REG
72 |
73 | %define r0 eax
74 | %define r1 ebx
75 | %define r2 ecx
76 | %define r3 edx
77 | %define r4 esi
78 | %define r5 edi
79 | %define r6 ebp
80 | %define r7 esp
81 |
82 | ;MMX,3DNow!,SSE
83 |
84 | %define pmov movq
85 | %define pmovd movd
86 |
87 | %define pupldq punpckldq
88 | %define puphdq punpckhdq
89 | %define puplwd punpcklwd
90 | %define puphwd punpckhwd
91 |
92 | %define xm0 xmm0
93 | %define xm1 xmm1
94 | %define xm2 xmm2
95 | %define xm3 xmm3
96 | %define xm4 xmm4
97 | %define xm5 xmm5
98 | %define xm6 xmm6
99 | %define xm7 xmm7
100 |
101 | ;�����åե��Ѥ�4�ʥޥ���
102 |
103 | %define R4(a,b,c,d) (a*64+b*16+c*4+d)
104 |
105 | ;C�饤���ʴʰץޥ���
106 |
107 | %imacro globaldef 1
108 | %ifdef _NAMING
109 | %define %1 _%1
110 | %endif
111 | global %1
112 | %endmacro
113 |
114 | %imacro externdef 1
115 | %ifdef _NAMING
116 | %define %1 _%1
117 | %endif
118 | extern %1
119 | %endmacro
120 |
121 | %imacro proc 1
122 | %push proc
123 | %ifdef _NAMING
124 | global _%1
125 | %else
126 | global %1
127 | %endif
128 |
129 | align 32
130 | %1:
131 | _%1:
132 |
133 | %assign %$STACK 0
134 | %assign %$STACKN 0
135 | %assign %$ARG 4
136 | %endmacro
137 |
138 | %imacro endproc 0
139 | %ifnctx proc
140 | %error expected 'proc' before 'endproc'.
141 | %else
142 | %if %$STACK > 0
143 | add esp, %$STACK
144 | %endif
145 |
146 | %if %$STACK <> (-%$STACKN)
147 | %error STACKLEVEL mismatch check 'local', 'alloc', 'pushd', 'popd'
148 | %endif
149 |
150 | ret
151 | %pop
152 | %endif
153 | %endmacro
154 |
155 | %idefine sp(a) esp+%$STACK+a
156 |
157 | %imacro arg 1
158 | %00 equ %$ARG
159 | %assign %$ARG %$ARG+%1
160 | %endmacro
161 |
162 | %imacro local 1
163 | %assign %$STACKN %$STACKN-%1
164 | %00 equ %$STACKN
165 | %endmacro
166 |
167 | %imacro alloc 0
168 | sub esp, (-%$STACKN)-%$STACK
169 | %assign %$STACK (-%$STACKN)
170 | %endmacro
171 |
172 | %imacro pushd 1-*
173 | %rep %0
174 | push %1
175 | %assign %$STACK %$STACK+4
176 | %rotate 1
177 | %endrep
178 | %endmacro
179 |
180 | %imacro popd 1-*
181 | %rep %0
182 | %rotate -1
183 | pop %1
184 | %assign %$STACK %$STACK-4
185 | %endrep
186 | %endmacro
187 |
188 | ; bug of NASM-0.98
189 | %define pushf db 0x66, 0x9C
190 | %define popf db 0x66, 0x9D
191 |
192 | %define ge16(n) ((((n) / 16)*0xFFFFFFFF) & 0xFFFFFFFF)
193 | %define ge15(n) ((((n) / 15)*0xFFFFFFFF) & 0xFFFFFFFF)
194 | %define ge14(n) ((((n) / 14)*0xFFFFFFFF) & 0xFFFFFFFF)
195 | %define ge13(n) ((((n) / 13)*0xFFFFFFFF) & 0xFFFFFFFF)
196 | %define ge12(n) ((((n) / 12)*0xFFFFFFFF) & 0xFFFFFFFF)
197 | %define ge11(n) ((((n) / 11)*0xFFFFFFFF) & 0xFFFFFFFF)
198 | %define ge10(n) ((((n) / 10)*0xFFFFFFFF) & 0xFFFFFFFF)
199 | %define ge9(n) ((((n) / 9)*0xFFFFFFFF) & 0xFFFFFFFF)
200 | %define ge8(n) (ge9(n) | ((((n) / 8)*0xFFFFFFFF) & 0xFFFFFFFF))
201 | %define ge7(n) (ge9(n) | ((((n) / 7)*0xFFFFFFFF) & 0xFFFFFFFF))
202 | %define ge6(n) (ge9(n) | ((((n) / 6)*0xFFFFFFFF) & 0xFFFFFFFF))
203 | %define ge5(n) (ge9(n) | ((((n) / 5)*0xFFFFFFFF) & 0xFFFFFFFF))
204 | %define ge4(n) (ge5(n) | ((((n) / 4)*0xFFFFFFFF) & 0xFFFFFFFF))
205 | %define ge3(n) (ge5(n) | ((((n) / 3)*0xFFFFFFFF) & 0xFFFFFFFF))
206 | %define ge2(n) (ge3(n) | ((((n) / 2)*0xFFFFFFFF) & 0xFFFFFFFF))
207 | %define ge1(n) (ge2(n) | ((((n) / 1)*0xFFFFFFFF) & 0xFFFFFFFF))
208 |
209 | ; macro to align for begining of loop
210 | ; %1 does not align if it LE bytes to next alignment
211 | ; 4..16
212 | ; default is 12
213 |
214 | %imacro loopalignK6 0-1 12
215 | %%here:
216 | times (($$-%%here) & 15 & ge1(($$-%%here) & 15) & ~ge4(($$-%%here) & 15)) nop
217 | times (1 & ge4(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) jmp short %%skip
218 | times (((($$-%%here) & 15)-2) & ge4(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) nop
219 | %%skip:
220 | %endmacro
221 |
222 | %imacro loopalignK7 0-1 12
223 | %%here:
224 | times (1 & ge1(($$-%%here) & 15) & ~ge2(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) nop
225 | times (1 & ge2(($$-%%here) & 15) & ~ge3(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 08Bh,0C0h
226 | times (1 & ge3(($$-%%here) & 15) & ~ge4(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 08Dh,004h,020h
227 | times (1 & ge4(($$-%%here) & 15) & ~ge5(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 08Dh,044h,020h,000h
228 | times (1 & ge5(($$-%%here) & 15) & ~ge6(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 08Dh,044h,020h,000h,090h
229 | times (1 & ge6(($$-%%here) & 15) & ~ge7(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 08Dh,080h,0,0,0,0
230 | times (1 & ge7(($$-%%here) & 15) & ~ge8(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 08Dh,004h,005h,0,0,0,0
231 | times (1 & ge8(($$-%%here) & 15) & ~ge9(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 08Dh,004h,005h,0,0,0,0,90h
232 | times (1 & ge9(($$-%%here) & 15) & ~ge10(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 0EBh,007h,90h,90h,90h,90h,90h,90h,90h
233 | times (1 & ge10(($$-%%here) & 15) & ~ge11(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 0EBh,008h,90h,90h,90h,90h,90h,90h,90h,90h
234 | times (1 & ge11(($$-%%here) & 15) & ~ge12(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 0EBh,009h,90h,90h,90h,90h,90h,90h,90h,90h,90h
235 | times (1 & ge12(($$-%%here) & 15) & ~ge13(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 0EBh,00Ah,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
236 | times (1 & ge13(($$-%%here) & 15) & ~ge14(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 0EBh,00Bh,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
237 | times (1 & ge14(($$-%%here) & 15) & ~ge15(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 0EBh,00Ch,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
238 | times (1 & ge15(($$-%%here) & 15) & ~ge16(($$-%%here) & 15) & ~ge%1(($$-%%here) & 15)) DB 0EBh,00Dh,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
239 | %%skip:
240 | %endmacro
241 |
242 | %imacro loopalign 0-1 12
243 | loopalignK7 %1
244 | %endmacro
245 | %define PACK(x,y,z,w) (x*64+y*16+z*4+w)
246 |
247 | %ifidn __OUTPUT_FORMAT__,elf
248 |
249 | %idefine PIC_BASE(A) _GLOBAL_OFFSET_TABLE_ + $$ - $ wrt ..gotpc
250 | %idefine PIC_EBP_REL(A) ebp + A wrt ..gotoff
251 | %macro PIC_OFFSETTABLE 0
252 | extern _GLOBAL_OFFSET_TABLE_
253 | get_pc.bp:
254 | mov ebp, [esp]
255 | retn
256 | %endmacro
257 |
258 | %else
259 |
260 | %define PIC_BASE(A) (0)
261 | %define PIC_EBP_REL(A) (A)
262 | %macro PIC_OFFSETTABLE 0
263 | get_pc.bp:
264 | mov ebp, [esp]
265 | retn
266 | %endmacro
267 |
268 | %endif
269 |
--------------------------------------------------------------------------------
/jni/libmp3lame/id3tag.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef LAME_ID3_H
3 | #define LAME_ID3_H
4 |
5 |
6 | #define CHANGED_FLAG (1U << 0)
7 | #define ADD_V2_FLAG (1U << 1)
8 | #define V1_ONLY_FLAG (1U << 2)
9 | #define V2_ONLY_FLAG (1U << 3)
10 | #define SPACE_V1_FLAG (1U << 4)
11 | #define PAD_V2_FLAG (1U << 5)
12 |
13 | enum {
14 | MIMETYPE_NONE = 0,
15 | MIMETYPE_JPEG,
16 | MIMETYPE_PNG,
17 | MIMETYPE_GIF,
18 | };
19 |
20 | typedef struct FrameDataNode {
21 | struct FrameDataNode *nxt;
22 | uint32_t fid; /* Frame Identifier */
23 | char lng[4]; /* 3-character language descriptor */
24 | struct {
25 | union {
26 | char *l; /* ptr to Latin-1 chars */
27 | unsigned short *u; /* ptr to UCS-2 text */
28 | unsigned char *b; /* ptr to raw bytes */
29 | } ptr;
30 | size_t dim;
31 | int enc; /* 0:Latin-1, 1:UCS-2, 2:RAW */
32 | } dsc , txt;
33 | } FrameDataNode;
34 |
35 |
36 | typedef struct id3tag_spec {
37 | /* private data members */
38 | unsigned int flags;
39 | int year;
40 | char *title;
41 | char *artist;
42 | char *album;
43 | char *comment;
44 | int track_id3v1;
45 | int genre_id3v1;
46 | unsigned char *albumart;
47 | unsigned int albumart_size;
48 | unsigned int padding_size;
49 | int albumart_mimetype;
50 | FrameDataNode *v2_head, *v2_tail;
51 | } id3tag_spec;
52 |
53 |
54 | /* write tag into stream at current position */
55 | extern int id3tag_write_v2(lame_global_flags * gfp);
56 | extern int id3tag_write_v1(lame_global_flags * gfp);
57 | /*
58 | * NOTE: A version 2 tag will NOT be added unless one of the text fields won't
59 | * fit in a version 1 tag (e.g. the title string is longer than 30 characters),
60 | * or the "id3tag_add_v2" or "id3tag_v2_only" functions are used.
61 | */
62 |
63 | #endif
64 |
--------------------------------------------------------------------------------
/jni/libmp3lame/l3side.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Layer 3 side include file
3 | *
4 | * Copyright (c) 1999 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_L3SIDE_H
23 | #define LAME_L3SIDE_H
24 |
25 | /* max scalefactor band, max(SBMAX_l, SBMAX_s*3, (SBMAX_s-3)*3+8) */
26 | #define SFBMAX (SBMAX_s*3)
27 |
28 | /* Layer III side information. */
29 | typedef struct {
30 | int l[1 + SBMAX_l];
31 | int s[1 + SBMAX_s];
32 | int psfb21[1 + PSFB21];
33 | int psfb12[1 + PSFB12];
34 | } scalefac_struct;
35 |
36 |
37 | typedef struct {
38 | FLOAT l[SBMAX_l];
39 | FLOAT s[SBMAX_s][3];
40 | } III_psy_xmin;
41 |
42 | typedef struct {
43 | III_psy_xmin thm;
44 | III_psy_xmin en;
45 | } III_psy_ratio;
46 |
47 | typedef struct {
48 | FLOAT xr[576];
49 | int l3_enc[576];
50 | int scalefac[SFBMAX];
51 | FLOAT xrpow_max;
52 |
53 | int part2_3_length;
54 | int big_values;
55 | int count1;
56 | int global_gain;
57 | int scalefac_compress;
58 | int block_type;
59 | int mixed_block_flag;
60 | int table_select[3];
61 | int subblock_gain[3 + 1];
62 | int region0_count;
63 | int region1_count;
64 | int preflag;
65 | int scalefac_scale;
66 | int count1table_select;
67 |
68 | int part2_length;
69 | int sfb_lmax;
70 | int sfb_smin;
71 | int psy_lmax;
72 | int sfbmax;
73 | int psymax;
74 | int sfbdivide;
75 | int width[SFBMAX];
76 | int window[SFBMAX];
77 | int count1bits;
78 | /* added for LSF */
79 | const int *sfb_partition_table;
80 | int slen[4];
81 |
82 | int max_nonzero_coeff;
83 | char energy_above_cutoff[SFBMAX];
84 | } gr_info;
85 |
86 | typedef struct {
87 | gr_info tt[2][2];
88 | int main_data_begin;
89 | int private_bits;
90 | int resvDrain_pre;
91 | int resvDrain_post;
92 | int scfsi[2][4];
93 | } III_side_info_t;
94 |
95 | #endif
96 |
--------------------------------------------------------------------------------
/jni/libmp3lame/lame-analysis.h:
--------------------------------------------------------------------------------
1 | /*
2 | * GTK plotting routines source file
3 | *
4 | * Copyright (c) 1999 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_GTKANAL_H
23 | #define LAME_GTKANAL_H
24 |
25 |
26 | #define READ_AHEAD 40 /* number of frames to read ahead */
27 | #define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this
28 | we have to stop */
29 | #define NUMBACK 6 /* number of frames we can back up */
30 | #define NUMPINFO (NUMBACK+READ_AHEAD+1)
31 |
32 |
33 |
34 | struct plotting_data {
35 | int frameNum; /* current frame number */
36 | int frameNum123;
37 | int num_samples; /* number of pcm samples read for this frame */
38 | double frametime; /* starting time of frame, in seconds */
39 | double pcmdata[2][1600];
40 | double pcmdata2[2][1152 + 1152 - DECDELAY];
41 | double xr[2][2][576];
42 | double mpg123xr[2][2][576];
43 | double ms_ratio[2];
44 | double ms_ener_ratio[2];
45 |
46 | /* L,R, M and S values */
47 | double energy_save[4][BLKSIZE]; /* psymodel is one ahead */
48 | double energy[2][4][BLKSIZE];
49 | double pe[2][4];
50 | double thr[2][4][SBMAX_l];
51 | double en[2][4][SBMAX_l];
52 | double thr_s[2][4][3 * SBMAX_s];
53 | double en_s[2][4][3 * SBMAX_s];
54 | double ers_save[4]; /* psymodel is one ahead */
55 | double ers[2][4];
56 |
57 | double sfb[2][2][SBMAX_l];
58 | double sfb_s[2][2][3 * SBMAX_s];
59 | double LAMEsfb[2][2][SBMAX_l];
60 | double LAMEsfb_s[2][2][3 * SBMAX_s];
61 |
62 | int LAMEqss[2][2];
63 | int qss[2][2];
64 | int big_values[2][2];
65 | int sub_gain[2][2][3];
66 |
67 | double xfsf[2][2][SBMAX_l];
68 | double xfsf_s[2][2][3 * SBMAX_s];
69 |
70 | int over[2][2];
71 | double tot_noise[2][2];
72 | double max_noise[2][2];
73 | double over_noise[2][2];
74 | int over_SSD[2][2];
75 | int blocktype[2][2];
76 | int scalefac_scale[2][2];
77 | int preflag[2][2];
78 | int mpg123blocktype[2][2];
79 | int mixed[2][2];
80 | int mainbits[2][2];
81 | int sfbits[2][2];
82 | int LAMEmainbits[2][2];
83 | int LAMEsfbits[2][2];
84 | int framesize, stereo, js, ms_stereo, i_stereo, emph, bitrate, sampfreq, maindata;
85 | int crc, padding;
86 | int scfsi[2], mean_bits, resvsize;
87 | int totbits;
88 | };
89 | #ifndef plotting_data_defined
90 | #define plotting_data_defined
91 | typedef struct plotting_data plotting_data;
92 | #endif
93 | #if 0
94 | extern plotting_data *pinfo;
95 | #endif
96 | #endif
97 |
--------------------------------------------------------------------------------
/jni/libmp3lame/lame.rc:
--------------------------------------------------------------------------------
1 | #include
2 | #include "version.h"
3 |
4 | #ifdef _DLL
5 | IDI_ICON1 ICON DISCARDABLE "logoe.ico"
6 | #else
7 | IDI_ICON1 ICON DISCARDABLE "logoe.ico"
8 | #endif
9 |
10 | VS_VERSION_INFO VERSIONINFO
11 | FILEVERSION LAME_MAJOR_VERSION,LAME_MINOR_VERSION,LAME_TYPE_VERSION,LAME_PATCH_VERSION
12 | PRODUCTVERSION LAME_MAJOR_VERSION,LAME_MINOR_VERSION,LAME_TYPE_VERSION,LAME_PATCH_VERSION
13 | FILEFLAGSMASK 0x3fL
14 | #ifdef _DEBUG
15 | FILEFLAGS VS_FF_DEBUG
16 | #else
17 | FILEFLAGS 0x0L
18 | #endif
19 | FILEOS VOS__WINDOWS32
20 | #ifdef _DLL
21 | FILETYPE VFT_DLL
22 | #else
23 | FILETYPE VFT_APP
24 | #endif
25 | FILESUBTYPE 0x0L
26 | BEGIN
27 | BLOCK "StringFileInfo"
28 | BEGIN
29 | BLOCK "040904E4" // Lang=US English, CharSet=Windows Multilingual
30 | BEGIN
31 | VALUE "CompanyName", LAME_URL "\0"
32 | VALUE "FileDescription", "MP3 Encoder.\0"
33 | VALUE "FileVersion", LAME_VERSION_STRING "\0"
34 | VALUE "LegalCopyright", "Copyright (C) 1999-2011 The L.A.M.E. Team\0"
35 | #ifdef _DLL
36 | VALUE "OriginalFilename", STR(_DLL) "\0"
37 | #else
38 | VALUE "OriginalFilename", STR(_APP) "\0"
39 | #endif
40 | VALUE "ProductName", "L.A.M.E.\0"
41 | VALUE "ProductVersion", LAME_VERSION_STRING "\0"
42 | END
43 | END
44 | BLOCK "VarFileInfo"
45 | BEGIN
46 | VALUE "Translation", 0x409, 1252 // mandatory by convention
47 | END
48 | END
49 | /* End of Version info */
50 |
51 |
--------------------------------------------------------------------------------
/jni/libmp3lame/lame_global_flags.h:
--------------------------------------------------------------------------------
1 | #ifndef LAME_GLOBAL_FLAGS_H
2 | #define LAME_GLOBAL_FLAGS_H
3 |
4 | #ifndef lame_internal_flags_defined
5 | #define lame_internal_flags_defined
6 | struct lame_internal_flags;
7 | typedef struct lame_internal_flags lame_internal_flags;
8 | #endif
9 |
10 |
11 | typedef enum short_block_e {
12 | short_block_not_set = -1, /* allow LAME to decide */
13 | short_block_allowed = 0, /* LAME may use them, even different block types for L/R */
14 | short_block_coupled, /* LAME may use them, but always same block types in L/R */
15 | short_block_dispensed, /* LAME will not use short blocks, long blocks only */
16 | short_block_forced /* LAME will not use long blocks, short blocks only */
17 | } short_block_t;
18 |
19 | /***********************************************************************
20 | *
21 | * Control Parameters set by User. These parameters are here for
22 | * backwards compatibility with the old, non-shared lib API.
23 | * Please use the lame_set_variablename() functions below
24 | *
25 | *
26 | ***********************************************************************/
27 | struct lame_global_struct {
28 | unsigned int class_id;
29 |
30 | /* input description */
31 | unsigned long num_samples; /* number of samples. default=2^32-1 */
32 | int num_channels; /* input number of channels. default=2 */
33 | int samplerate_in; /* input_samp_rate in Hz. default=44.1 kHz */
34 | int samplerate_out; /* output_samp_rate.
35 | default: LAME picks best value
36 | at least not used for MP3 decoding:
37 | Remember 44.1 kHz MP3s and AC97 */
38 | float scale; /* scale input by this amount before encoding
39 | at least not used for MP3 decoding */
40 | float scale_left; /* scale input of channel 0 (left) by this
41 | amount before encoding */
42 | float scale_right; /* scale input of channel 1 (right) by this
43 | amount before encoding */
44 |
45 | /* general control params */
46 | int analysis; /* collect data for a MP3 frame analyzer? */
47 | int write_lame_tag; /* add Xing VBR tag? */
48 | int decode_only; /* use lame/mpglib to convert mp3 to wav */
49 | int quality; /* quality setting 0=best, 9=worst default=5 */
50 | MPEG_mode mode; /* see enum in lame.h
51 | default = LAME picks best value */
52 | int force_ms; /* force M/S mode. requires mode=1 */
53 | int free_format; /* use free format? default=0 */
54 | int findReplayGain; /* find the RG value? default=0 */
55 | int decode_on_the_fly; /* decode on the fly? default=0 */
56 | int write_id3tag_automatic; /* 1 (default) writes ID3 tags, 0 not */
57 |
58 | int nogap_total;
59 | int nogap_current;
60 |
61 | int substep_shaping;
62 | int noise_shaping;
63 | int subblock_gain; /* 0 = no, 1 = yes */
64 | int use_best_huffman; /* 0 = no. 1=outside loop 2=inside loop(slow) */
65 |
66 | /*
67 | * set either brate>0 or compression_ratio>0, LAME will compute
68 | * the value of the variable not set.
69 | * Default is compression_ratio = 11.025
70 | */
71 | int brate; /* bitrate */
72 | float compression_ratio; /* sizeof(wav file)/sizeof(mp3 file) */
73 |
74 |
75 | /* frame params */
76 | int copyright; /* mark as copyright. default=0 */
77 | int original; /* mark as original. default=1 */
78 | int extension; /* the MP3 'private extension' bit.
79 | Meaningless */
80 | int emphasis; /* Input PCM is emphased PCM (for
81 | instance from one of the rarely
82 | emphased CDs), it is STRONGLY not
83 | recommended to use this, because
84 | psycho does not take it into account,
85 | and last but not least many decoders
86 | don't care about these bits */
87 | int error_protection; /* use 2 bytes per frame for a CRC
88 | checksum. default=0 */
89 | int strict_ISO; /* enforce ISO spec as much as possible */
90 |
91 | int disable_reservoir; /* use bit reservoir? */
92 |
93 | /* quantization/noise shaping */
94 | int quant_comp;
95 | int quant_comp_short;
96 | int experimentalY;
97 | int experimentalZ;
98 | int exp_nspsytune;
99 |
100 | int preset;
101 |
102 | /* VBR control */
103 | vbr_mode VBR;
104 | float VBR_q_frac; /* Range [0,...,1[ */
105 | int VBR_q; /* Range [0,...,9] */
106 | int VBR_mean_bitrate_kbps;
107 | int VBR_min_bitrate_kbps;
108 | int VBR_max_bitrate_kbps;
109 | int VBR_hard_min; /* strictly enforce VBR_min_bitrate
110 | normaly, it will be violated for analog
111 | silence */
112 |
113 |
114 | /* resampling and filtering */
115 | int lowpassfreq; /* freq in Hz. 0=lame choses.
116 | -1=no filter */
117 | int highpassfreq; /* freq in Hz. 0=lame choses.
118 | -1=no filter */
119 | int lowpasswidth; /* freq width of filter, in Hz
120 | (default=15%) */
121 | int highpasswidth; /* freq width of filter, in Hz
122 | (default=15%) */
123 |
124 |
125 |
126 | /*
127 | * psycho acoustics and other arguments which you should not change
128 | * unless you know what you are doing
129 | */
130 | float maskingadjust;
131 | float maskingadjust_short;
132 | int ATHonly; /* only use ATH */
133 | int ATHshort; /* only use ATH for short blocks */
134 | int noATH; /* disable ATH */
135 | int ATHtype; /* select ATH formula */
136 | float ATHcurve; /* change ATH formula 4 shape */
137 | float ATH_lower_db; /* lower ATH by this many db */
138 | int athaa_type; /* select ATH auto-adjust scheme */
139 | float athaa_sensitivity; /* dB, tune active region of auto-level */
140 | short_block_t short_blocks;
141 | int useTemporal; /* use temporal masking effect */
142 | float interChRatio;
143 | float msfix; /* Naoki's adjustment of Mid/Side maskings */
144 |
145 | int tune; /* 0 off, 1 on */
146 | float tune_value_a; /* used to pass values for debugging and stuff */
147 |
148 | float attackthre; /* attack threshold for L/R/M channel */
149 | float attackthre_s; /* attack threshold for S channel */
150 |
151 |
152 | struct {
153 | void (*msgf) (const char *format, va_list ap);
154 | void (*debugf) (const char *format, va_list ap);
155 | void (*errorf) (const char *format, va_list ap);
156 | } report;
157 |
158 | /************************************************************************/
159 | /* internal variables, do not set... */
160 | /* provided because they may be of use to calling application */
161 | /************************************************************************/
162 |
163 | int lame_allocated_gfp; /* is this struct owned by calling
164 | program or lame? */
165 |
166 |
167 |
168 | /**************************************************************************/
169 | /* more internal variables are stored in this structure: */
170 | /**************************************************************************/
171 | lame_internal_flags *internal_flags;
172 |
173 |
174 | struct {
175 | int mmx;
176 | int amd3dnow;
177 | int sse;
178 |
179 | } asm_optimizations;
180 | };
181 |
182 | int is_lame_global_flags_valid(const lame_global_flags * gfp);
183 |
184 | #endif /* LAME_GLOBAL_FLAGS_H */
185 |
--------------------------------------------------------------------------------
/jni/libmp3lame/lameerror.h:
--------------------------------------------------------------------------------
1 | /*
2 | * A collection of LAME Error Codes
3 | *
4 | * Please use the constants defined here instead of some arbitrary
5 | * values. Currently the values starting at -10 to avoid intersection
6 | * with the -1, -2, -3 and -4 used in the current code.
7 | *
8 | * May be this should be a part of the include/lame.h.
9 | */
10 |
11 | typedef enum {
12 | LAME_OKAY = 0,
13 | LAME_NOERROR = 0,
14 | LAME_GENERICERROR = -1,
15 | LAME_NOMEM = -10,
16 | LAME_BADBITRATE = -11,
17 | LAME_BADSAMPFREQ = -12,
18 | LAME_INTERNALERROR = -13,
19 |
20 | FRONTEND_READERROR = -80,
21 | FRONTEND_WRITEERROR = -81,
22 | FRONTEND_FILETOOLARGE = -82,
23 |
24 | } lame_errorcodes_t;
25 |
26 | /* end of lameerror.h */
27 |
--------------------------------------------------------------------------------
/jni/libmp3lame/logoe.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/jni/libmp3lame/logoe.ico
--------------------------------------------------------------------------------
/jni/libmp3lame/machine.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Machine dependent defines/includes for LAME.
3 | *
4 | * Copyright (c) 1999 A.L. Faber
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_MACHINE_H
23 | #define LAME_MACHINE_H
24 |
25 | #include "version.h"
26 |
27 | #if (LAME_RELEASE_VERSION == 0)
28 | #undef NDEBUG
29 | #endif
30 |
31 | #include
32 | #include
33 |
34 | #ifdef STDC_HEADERS
35 | # include
36 | # include
37 | #else
38 | # ifndef HAVE_STRCHR
39 | # define strchr index
40 | # define strrchr rindex
41 | # endif
42 | char *strchr(), *strrchr();
43 | # ifndef HAVE_MEMCPY
44 | # define memcpy(d, s, n) bcopy ((s), (d), (n))
45 | # define memmove(d, s, n) bcopy ((s), (d), (n))
46 | # endif
47 | #endif
48 |
49 | #if defined(__riscos__) && defined(FPA10)
50 | # include "ymath.h"
51 | #else
52 | # include
53 | #endif
54 | #include
55 |
56 | #include
57 |
58 | #ifdef HAVE_ERRNO_H
59 | # include
60 | #endif
61 | #ifdef HAVE_FCNTL_H
62 | # include
63 | #endif
64 |
65 | #if defined(macintosh)
66 | # include
67 | # include
68 | #else
69 | # include
70 | # include
71 | #endif
72 |
73 | #ifdef HAVE_INTTYPES_H
74 | # include
75 | #else
76 | # ifdef HAVE_STDINT_H
77 | # include
78 | # endif
79 | #endif
80 |
81 | #ifdef WITH_DMALLOC
82 | #include
83 | #endif
84 |
85 | /*
86 | * 3 different types of pow() functions:
87 | * - table lookup
88 | * - pow()
89 | * - exp() on some machines this is claimed to be faster than pow()
90 | */
91 |
92 | #define POW20(x) (assert(0 <= (x+Q_MAX2) && x < Q_MAX), pow20[x+Q_MAX2])
93 | /*#define POW20(x) pow(2.0,((double)(x)-210)*.25) */
94 | /*#define POW20(x) exp( ((double)(x)-210)*(.25*LOG2) ) */
95 |
96 | #define IPOW20(x) (assert(0 <= x && x < Q_MAX), ipow20[x])
97 | /*#define IPOW20(x) exp( -((double)(x)-210)*.1875*LOG2 ) */
98 | /*#define IPOW20(x) pow(2.0,-((double)(x)-210)*.1875) */
99 |
100 | /* in case this is used without configure */
101 | #ifndef inline
102 | # define inline
103 | #endif
104 |
105 | #if defined(_MSC_VER)
106 | # undef inline
107 | # define inline _inline
108 | #elif defined(__SASC) || defined(__GNUC__) || defined(__ICC) || defined(__ECC)
109 | /* if __GNUC__ we always want to inline, not only if the user requests it */
110 | # undef inline
111 | # define inline __inline
112 | #endif
113 |
114 | #if defined(_MSC_VER)
115 | # pragma warning( disable : 4244 )
116 | /*# pragma warning( disable : 4305 ) */
117 | #endif
118 |
119 | /*
120 | * FLOAT for variables which require at least 32 bits
121 | * FLOAT8 for variables which require at least 64 bits
122 | *
123 | * On some machines, 64 bit will be faster than 32 bit. Also, some math
124 | * routines require 64 bit float, so setting FLOAT=float will result in a
125 | * lot of conversions.
126 | */
127 |
128 | #if ( defined(_MSC_VER) || defined(__BORLANDC__) || defined(__MINGW32__) )
129 | # define WIN32_LEAN_AND_MEAN
130 | # include
131 | # include
132 | # define FLOAT_MAX FLT_MAX
133 | #else
134 | # ifndef FLOAT
135 | typedef float FLOAT;
136 | # ifdef FLT_MAX
137 | # define FLOAT_MAX FLT_MAX
138 | # else
139 | # define FLOAT_MAX 1e37 /* approx */
140 | # endif
141 | # endif
142 | #endif
143 |
144 | #ifndef FLOAT8
145 | typedef double FLOAT8;
146 | # ifdef DBL_MAX
147 | # define FLOAT8_MAX DBL_MAX
148 | # else
149 | # define FLOAT8_MAX 1e99 /* approx */
150 | # endif
151 | #else
152 | # ifdef FLT_MAX
153 | # define FLOAT8_MAX FLT_MAX
154 | # else
155 | # define FLOAT8_MAX 1e37 /* approx */
156 | # endif
157 | #endif
158 |
159 | /* sample_t must be floating point, at least 32 bits */
160 | typedef FLOAT sample_t;
161 |
162 | #define dimension_of(array) (sizeof(array)/sizeof(array[0]))
163 | #define beyond(array) (array+dimension_of(array))
164 | #define compiletime_assert(expression) extern char static_assert_##FILE##_##LINE[expression?1:0]
165 |
166 | #if 1
167 | #define EQ(a,b) (\
168 | (fabs(a) > fabs(b)) \
169 | ? (fabs((a)-(b)) <= (fabs(a) * 1e-6f)) \
170 | : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
171 | #else
172 | #define EQ(a,b) (fabs((a)-(b))<1E-37)
173 | #endif
174 |
175 | #define NEQ(a,b) (!EQ(a,b))
176 |
177 | #endif
178 |
179 | #ifdef _MSC_VER
180 | # if _MSC_VER < 1400
181 | # define fabsf fabs
182 | # define powf pow
183 | # define log10f log10
184 | # endif
185 | #endif
186 |
187 |
188 | /* end of machine.h */
189 |
--------------------------------------------------------------------------------
/jni/libmp3lame/newmdct.h:
--------------------------------------------------------------------------------
1 | /*
2 | * New Modified DCT include file
3 | *
4 | * Copyright (c) 1999 Takehiro TOMINAGA
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_NEWMDCT_H
23 | #define LAME_NEWMDCT_H
24 |
25 | void mdct_sub48(lame_internal_flags * gfc, const sample_t * w0, const sample_t * w1);
26 |
27 | #endif /* LAME_NEWMDCT_H */
28 |
--------------------------------------------------------------------------------
/jni/libmp3lame/psymodel.h:
--------------------------------------------------------------------------------
1 | /*
2 | * psymodel.h
3 | *
4 | * Copyright (c) 1999 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_PSYMODEL_H
23 | #define LAME_PSYMODEL_H
24 |
25 |
26 | int L3psycho_anal_ns(lame_internal_flags * gfc,
27 | const sample_t *const buffer[2], int gr,
28 | III_psy_ratio ratio[2][2],
29 | III_psy_ratio MS_ratio[2][2],
30 | FLOAT pe[2], FLOAT pe_MS[2], FLOAT ener[2], int blocktype_d[2]);
31 |
32 | int L3psycho_anal_vbr(lame_internal_flags * gfc,
33 | const sample_t *const buffer[2], int gr,
34 | III_psy_ratio ratio[2][2],
35 | III_psy_ratio MS_ratio[2][2],
36 | FLOAT pe[2], FLOAT pe_MS[2], FLOAT ener[2], int blocktype_d[2]);
37 |
38 |
39 | int psymodel_init(lame_global_flags const* gfp);
40 |
41 |
42 | #define rpelev 2
43 | #define rpelev2 16
44 | #define rpelev_s 2
45 | #define rpelev2_s 16
46 |
47 | /* size of each partition band, in barks: */
48 | #define DELBARK .34
49 |
50 |
51 | /* tuned for output level (sensitive to energy scale) */
52 | #define VO_SCALE (1./( 14752*14752 )/(BLKSIZE/2))
53 |
54 | #define temporalmask_sustain_sec 0.01
55 |
56 | #define NS_PREECHO_ATT0 0.8
57 | #define NS_PREECHO_ATT1 0.6
58 | #define NS_PREECHO_ATT2 0.3
59 |
60 | #define NS_MSFIX 3.5
61 | #define NSATTACKTHRE 4.4
62 | #define NSATTACKTHRE_S 25
63 |
64 | #endif /* LAME_PSYMODEL_H */
65 |
--------------------------------------------------------------------------------
/jni/libmp3lame/quantize.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MP3 quantization
3 | *
4 | * Copyright (c) 1999 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_QUANTIZE_H
23 | #define LAME_QUANTIZE_H
24 |
25 | void CBR_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
26 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]);
27 |
28 | void VBR_old_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
29 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]);
30 |
31 | void VBR_new_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
32 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]);
33 |
34 | void ABR_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
35 | const FLOAT ms_ratio[2], const III_psy_ratio ratio[2][2]);
36 |
37 |
38 | #endif /* LAME_QUANTIZE_H */
39 |
--------------------------------------------------------------------------------
/jni/libmp3lame/quantize_pvt.h:
--------------------------------------------------------------------------------
1 | /*
2 | * quantize_pvt include file
3 | *
4 | * Copyright (c) 1999 Takehiro TOMINAGA
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_QUANTIZE_PVT_H
23 | #define LAME_QUANTIZE_PVT_H
24 |
25 | #define IXMAX_VAL 8206 /* ix always <= 8191+15. see count_bits() */
26 |
27 | /* buggy Winamp decoder cannot handle values > 8191 */
28 | /* #define IXMAX_VAL 8191 */
29 |
30 | #define PRECALC_SIZE (IXMAX_VAL+2)
31 |
32 |
33 | extern const int nr_of_sfb_block[6][3][4];
34 | extern const int pretab[SBMAX_l];
35 | extern const int slen1_tab[16];
36 | extern const int slen2_tab[16];
37 |
38 | extern const scalefac_struct sfBandIndex[9];
39 |
40 | extern FLOAT pow43[PRECALC_SIZE];
41 | #ifdef TAKEHIRO_IEEE754_HACK
42 | extern FLOAT adj43asm[PRECALC_SIZE];
43 | #else
44 | extern FLOAT adj43[PRECALC_SIZE];
45 | #endif
46 |
47 | #define Q_MAX (256+1)
48 | #define Q_MAX2 116 /* minimum possible number of
49 | -cod_info->global_gain
50 | + ((scalefac[] + (cod_info->preflag ? pretab[sfb] : 0))
51 | << (cod_info->scalefac_scale + 1))
52 | + cod_info->subblock_gain[cod_info->window[sfb]] * 8;
53 |
54 | for long block, 0+((15+3)<<2) = 18*4 = 72
55 | for short block, 0+(15<<2)+7*8 = 15*4+56 = 116
56 | */
57 |
58 | extern FLOAT pow20[Q_MAX + Q_MAX2 + 1];
59 | extern FLOAT ipow20[Q_MAX];
60 |
61 | typedef struct calc_noise_result_t {
62 | FLOAT over_noise; /* sum of quantization noise > masking */
63 | FLOAT tot_noise; /* sum of all quantization noise */
64 | FLOAT max_noise; /* max quantization noise */
65 | int over_count; /* number of quantization noise > masking */
66 | int over_SSD; /* SSD-like cost of distorted bands */
67 | int bits;
68 | } calc_noise_result;
69 |
70 |
71 | /**
72 | * allows re-use of previously
73 | * computed noise values
74 | */
75 | typedef struct calc_noise_data_t {
76 | int global_gain;
77 | int sfb_count1;
78 | int step[39];
79 | FLOAT noise[39];
80 | FLOAT noise_log[39];
81 | } calc_noise_data;
82 |
83 |
84 | int on_pe(lame_internal_flags * gfc, const FLOAT pe[2][2],
85 | int targ_bits[2], int mean_bits, int gr, int cbr);
86 |
87 | void reduce_side(int targ_bits[2], FLOAT ms_ener_ratio, int mean_bits, int max_bits);
88 |
89 |
90 | void iteration_init(lame_internal_flags * gfc);
91 |
92 |
93 | int calc_xmin(lame_internal_flags const *gfc,
94 | III_psy_ratio const *const ratio, gr_info * const cod_info, FLOAT * l3_xmin);
95 |
96 | int calc_noise(const gr_info * const cod_info,
97 | const FLOAT * l3_xmin,
98 | FLOAT * distort, calc_noise_result * const res, calc_noise_data * prev_noise);
99 |
100 | void set_frame_pinfo(lame_internal_flags * gfc, const III_psy_ratio ratio[2][2]);
101 |
102 |
103 |
104 |
105 | /* takehiro.c */
106 |
107 | int count_bits(lame_internal_flags const *const gfc, const FLOAT * const xr,
108 | gr_info * const cod_info, calc_noise_data * prev_noise);
109 | int noquant_count_bits(lame_internal_flags const *const gfc,
110 | gr_info * const cod_info, calc_noise_data * prev_noise);
111 |
112 |
113 | void best_huffman_divide(const lame_internal_flags * const gfc, gr_info * const cod_info);
114 |
115 | void best_scalefac_store(const lame_internal_flags * gfc, const int gr, const int ch,
116 | III_side_info_t * const l3_side);
117 |
118 | int scale_bitcount(const lame_internal_flags * gfc, gr_info * cod_info);
119 |
120 | void huffman_init(lame_internal_flags * const gfc);
121 |
122 | void init_xrpow_core_init(lame_internal_flags * const gfc);
123 |
124 | FLOAT athAdjust(FLOAT a, FLOAT x, FLOAT athFloor, float ATHfixpoint);
125 |
126 | #define LARGE_BITS 100000
127 |
128 | #endif /* LAME_QUANTIZE_PVT_H */
129 |
--------------------------------------------------------------------------------
/jni/libmp3lame/reservoir.h:
--------------------------------------------------------------------------------
1 | /*
2 | * bit reservoir include file
3 | *
4 | * Copyright (c) 1999 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_RESERVOIR_H
23 | #define LAME_RESERVOIR_H
24 |
25 | int ResvFrameBegin(lame_internal_flags * gfc, int *mean_bits);
26 | void ResvMaxBits(lame_internal_flags * gfc, int mean_bits, int *targ_bits, int *max_bits,
27 | int cbr);
28 | void ResvAdjust(lame_internal_flags * gfc, gr_info const *gi);
29 | void ResvFrameEnd(lame_internal_flags * gfc, int mean_bits);
30 |
31 | #endif /* LAME_RESERVOIR_H */
32 |
--------------------------------------------------------------------------------
/jni/libmp3lame/set_get.h:
--------------------------------------------------------------------------------
1 | /*
2 | * set_get.h -- Internal set/get definitions
3 | *
4 | * Copyright (C) 2003 Gabriel Bouvigne / Lame project
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
19 | */
20 |
21 | #ifndef __SET_GET_H__
22 | #define __SET_GET_H__
23 |
24 | #include "lame.h"
25 |
26 | #if defined(__cplusplus)
27 | extern "C" {
28 | #endif
29 |
30 | /* select psychoacoustic model */
31 |
32 | /* manage short blocks */
33 | int CDECL lame_set_short_threshold(lame_global_flags *, float, float);
34 | int CDECL lame_set_short_threshold_lrm(lame_global_flags *, float);
35 | float CDECL lame_get_short_threshold_lrm(const lame_global_flags *);
36 | int CDECL lame_set_short_threshold_s(lame_global_flags *, float);
37 | float CDECL lame_get_short_threshold_s(const lame_global_flags *);
38 |
39 |
40 | int CDECL lame_set_maskingadjust(lame_global_flags *, float);
41 | float CDECL lame_get_maskingadjust(const lame_global_flags *);
42 |
43 | int CDECL lame_set_maskingadjust_short(lame_global_flags *, float);
44 | float CDECL lame_get_maskingadjust_short(const lame_global_flags *);
45 |
46 | /* select ATH formula 4 shape */
47 | int CDECL lame_set_ATHcurve(lame_global_flags *, float);
48 | float CDECL lame_get_ATHcurve(const lame_global_flags *);
49 |
50 | int CDECL lame_set_preset_notune(lame_global_flags *, int);
51 |
52 | /* substep shaping method */
53 | int CDECL lame_set_substep(lame_global_flags *, int);
54 | int CDECL lame_get_substep(const lame_global_flags *);
55 |
56 | /* scalefactors scale */
57 | int CDECL lame_set_sfscale(lame_global_flags *, int);
58 | int CDECL lame_get_sfscale(const lame_global_flags *);
59 |
60 | /* subblock gain */
61 | int CDECL lame_set_subblock_gain(lame_global_flags *, int);
62 | int CDECL lame_get_subblock_gain(const lame_global_flags *);
63 |
64 |
65 |
66 | /*presets*/
67 | int apply_preset(lame_global_flags *, int preset, int enforce);
68 |
69 | void CDECL lame_set_tune(lame_t, float); /* FOR INTERNAL USE ONLY */
70 | void CDECL lame_set_msfix(lame_t gfp, double msfix);
71 |
72 |
73 | #if defined(__cplusplus)
74 | }
75 | #endif
76 | #endif
77 |
--------------------------------------------------------------------------------
/jni/libmp3lame/tables.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MPEG layer 3 tables include file
3 | *
4 | * Copyright (c) 1999 Albert L Faber
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_TABLES_H
23 | #define LAME_TABLES_H
24 |
25 | #if 0
26 | typedef struct {
27 | unsigned char no;
28 | unsigned char width;
29 | unsigned char minval_2;
30 | float quiet_thr;
31 | float norm;
32 | float bark;
33 | } type1_t;
34 |
35 | typedef struct {
36 | unsigned char no;
37 | unsigned char width;
38 | float quiet_thr;
39 | float norm;
40 | float SNR;
41 | float bark;
42 | } type2_t;
43 |
44 | typedef struct {
45 | unsigned int no:5;
46 | unsigned int cbw:3;
47 | unsigned int bu:6;
48 | unsigned int bo:6;
49 | unsigned int w1_576:10;
50 | unsigned int w2_576:10;
51 | } type34_t;
52 |
53 | typedef struct {
54 | size_t len1;
55 | const type1_t *const tab1;
56 | size_t len2;
57 | const type2_t *const tab2;
58 | size_t len3;
59 | const type34_t *const tab3;
60 | size_t len4;
61 | const type34_t *const tab4;
62 | } type5_t;
63 |
64 | extern const type5_t table5[6];
65 |
66 | #endif
67 |
68 | #define HTN 34
69 |
70 | struct huffcodetab {
71 | const unsigned int xlen; /* max. x-index+ */
72 | const unsigned int linmax; /* max number to be stored in linbits */
73 | const uint16_t *table; /* pointer to array[xlen][ylen] */
74 | const uint8_t *hlen; /* pointer to array[xlen][ylen] */
75 | };
76 |
77 | extern const struct huffcodetab ht[HTN];
78 | /* global memory block */
79 | /* array of all huffcodtable headers */
80 | /* 0..31 Huffman code table 0..31 */
81 | /* 32,33 count1-tables */
82 |
83 | extern const uint8_t t32l[];
84 | extern const uint8_t t33l[];
85 |
86 | extern const uint32_t largetbl[16 * 16];
87 | extern const uint32_t table23[3 * 3];
88 | extern const uint32_t table56[4 * 4];
89 |
90 | extern const int scfsi_band[5];
91 |
92 | extern const int bitrate_table [3][16];
93 | extern const int samplerate_table [3][ 4];
94 |
95 | #endif /* LAME_TABLES_H */
96 |
--------------------------------------------------------------------------------
/jni/libmp3lame/vbrquantize.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MP3 VBR quantization
3 | *
4 | * Copyright (c) 1999 Mark Taylor
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_VBRQUANTIZE_H
23 | #define LAME_VBRQUANTIZE_H
24 |
25 | int VBR_encode_frame(lame_internal_flags * gfc, const FLOAT xr34orig[2][2][576],
26 | const FLOAT l3_xmin[2][2][SFBMAX], const int maxbits[2][2]);
27 |
28 | #endif /* LAME_VBRQUANTIZE_H */
29 |
--------------------------------------------------------------------------------
/jni/libmp3lame/vector/Makefile.am:
--------------------------------------------------------------------------------
1 | ## $Id: Makefile.am,v 1.1 2007/01/09 10:15:53 aleidinger Exp $
2 |
3 | include $(top_srcdir)/Makefile.am.global
4 |
5 | if WITH_XMM
6 | noinst_LTLIBRARIES = liblamevectorroutines.la
7 | endif
8 |
9 | ##liblamecpuroutines_la_LIBADD =
10 | ##liblamecpuroutines_la_LDFLAGS =
11 |
12 | INCLUDES = @INCLUDES@ \
13 | -I$(top_srcdir)/libmp3lame \
14 | -I$(top_srcdir)/mpglib \
15 | -I$(top_builddir)
16 |
17 | DEFS = @DEFS@ @CONFIG_DEFS@
18 |
19 | xmm_sources = xmm_quantize_sub.c
20 |
21 | if WITH_XMM
22 | liblamevectorroutines_la_SOURCES = $(xmm_sources)
23 | endif
24 |
25 | noinst_HEADERS = lame_intrin.h
26 |
27 | EXTRA_liblamevectorroutines_la_SOURCES = $(xmm_sources)
28 |
29 | CLEANFILES = lclint.txt
30 |
31 | LCLINTFLAGS= \
32 | +posixlib \
33 | +showsummary \
34 | +showalluses \
35 | +whichlib \
36 | +forcehints \
37 | -fixedformalarray \
38 | +matchanyintegral \
39 | -Dlint
40 |
41 | lclint.txt: ${liblamecpuroutines_la_SOURCES} ${noinst_HEADERS}
42 | @lclint ${LCLINTFLAGS} ${INCLUDES} ${DEFS} ${liblamecpuroutines_la_SOURCES} 2>&1 >lclint.txt || true
43 |
44 | lclint: lclint.txt
45 | more lclint.txt
46 |
47 | #$(OBJECTS): libtool
48 | #libtool: $(LIBTOOL_DEPS)
49 | # $(SHELL) $(top_builddir)/config.status --recheck
50 |
--------------------------------------------------------------------------------
/jni/libmp3lame/vector/lame_intrin.h:
--------------------------------------------------------------------------------
1 | /*
2 | * lame_intrin.h include file
3 | *
4 | * Copyright (c) 2006 Gabriel Bouvigne
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 |
23 | #ifndef LAME_INTRIN_H
24 | #define LAME_INTRIN_H
25 |
26 |
27 | void
28 | init_xrpow_core_sse(gr_info * const cod_info, FLOAT xrpow[576], int upper, FLOAT * sum);
29 |
30 | void
31 | fht_SSE2(FLOAT* , int);
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/jni/libmp3lame/vector/xmm_quantize_sub.c:
--------------------------------------------------------------------------------
1 | /*
2 | * MP3 quantization, intrinsics functions
3 | *
4 | * Copyright (c) 2005-2006 Gabriel Bouvigne
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 |
23 | #ifdef HAVE_CONFIG_H
24 | # include
25 | #endif
26 |
27 | #include "lame.h"
28 | #include "machine.h"
29 | #include "encoder.h"
30 | #include "util.h"
31 | #include "lame_intrin.h"
32 |
33 |
34 |
35 | #ifdef HAVE_XMMINTRIN_H
36 |
37 | #include
38 |
39 | typedef union {
40 | int32_t _i_32[4]; /* unions are initialized by its first member */
41 | float _float[4];
42 | __m128 _m128;
43 | } vecfloat_union;
44 |
45 | #define TRI_SIZE (5-1) /* 1024 = 4**5 */
46 | static const FLOAT costab[TRI_SIZE * 2] = {
47 | 9.238795325112867e-01, 3.826834323650898e-01,
48 | 9.951847266721969e-01, 9.801714032956060e-02,
49 | 9.996988186962042e-01, 2.454122852291229e-02,
50 | 9.999811752826011e-01, 6.135884649154475e-03
51 | };
52 |
53 |
54 |
55 | void
56 | init_xrpow_core_sse(gr_info * const cod_info, FLOAT xrpow[576], int upper, FLOAT * sum)
57 | {
58 | int i;
59 | float tmp_max = 0;
60 | float tmp_sum = 0;
61 | int upper4 = (upper / 4) * 4;
62 | int rest = upper-upper4;
63 |
64 | const vecfloat_union fabs_mask = {{ 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF }};
65 | const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
66 | vecfloat_union vec_xrpow_max;
67 | vecfloat_union vec_sum;
68 | vecfloat_union vec_tmp;
69 |
70 | _mm_prefetch((char *) cod_info->xr, _MM_HINT_T0);
71 | _mm_prefetch((char *) xrpow, _MM_HINT_T0);
72 |
73 | vec_xrpow_max._m128 = _mm_set_ps1(0);
74 | vec_sum._m128 = _mm_set_ps1(0);
75 |
76 | for (i = 0; i < upper4; i += 4) {
77 | vec_tmp._m128 = _mm_loadu_ps(&(cod_info->xr[i])); /* load */
78 | vec_tmp._m128 = _mm_and_ps(vec_tmp._m128, vec_fabs_mask); /* fabs */
79 | vec_sum._m128 = _mm_add_ps(vec_sum._m128, vec_tmp._m128);
80 | vec_tmp._m128 = _mm_sqrt_ps(_mm_mul_ps(vec_tmp._m128, _mm_sqrt_ps(vec_tmp._m128)));
81 | vec_xrpow_max._m128 = _mm_max_ps(vec_xrpow_max._m128, vec_tmp._m128); /* retrieve max */
82 | _mm_storeu_ps(&(xrpow[i]), vec_tmp._m128); /* store into xrpow[] */
83 | }
84 | vec_tmp._m128 = _mm_set_ps1(0);
85 | switch (rest) {
86 | case 3: vec_tmp._float[2] = cod_info->xr[upper4+2];
87 | case 2: vec_tmp._float[1] = cod_info->xr[upper4+1];
88 | case 1: vec_tmp._float[0] = cod_info->xr[upper4+0];
89 | vec_tmp._m128 = _mm_and_ps(vec_tmp._m128, vec_fabs_mask); /* fabs */
90 | vec_sum._m128 = _mm_add_ps(vec_sum._m128, vec_tmp._m128);
91 | vec_tmp._m128 = _mm_sqrt_ps(_mm_mul_ps(vec_tmp._m128, _mm_sqrt_ps(vec_tmp._m128)));
92 | vec_xrpow_max._m128 = _mm_max_ps(vec_xrpow_max._m128, vec_tmp._m128); /* retrieve max */
93 | switch (rest) {
94 | case 3: xrpow[upper4+2] = vec_tmp._float[2];
95 | case 2: xrpow[upper4+1] = vec_tmp._float[1];
96 | case 1: xrpow[upper4+0] = vec_tmp._float[0];
97 | default:
98 | break;
99 | }
100 | default:
101 | break;
102 | }
103 | tmp_sum = vec_sum._float[0] + vec_sum._float[1] + vec_sum._float[2] + vec_sum._float[3];
104 | {
105 | float ma = vec_xrpow_max._float[0] > vec_xrpow_max._float[1]
106 | ? vec_xrpow_max._float[0] : vec_xrpow_max._float[1];
107 | float mb = vec_xrpow_max._float[2] > vec_xrpow_max._float[3]
108 | ? vec_xrpow_max._float[2] : vec_xrpow_max._float[3];
109 | tmp_max = ma > mb ? ma : mb;
110 | }
111 | cod_info->xrpow_max = tmp_max;
112 | *sum = tmp_sum;
113 | }
114 |
115 |
116 | static void store4(__m128 v, float* f0, float* f1, float* f2, float* f3)
117 | {
118 | vecfloat_union r;
119 | r._m128 = v;
120 | *f0 = r._float[0];
121 | *f1 = r._float[1];
122 | *f2 = r._float[2];
123 | *f3 = r._float[3];
124 | }
125 |
126 |
127 | void
128 | fht_SSE2(FLOAT * fz, int n)
129 | {
130 | const FLOAT *tri = costab;
131 | int k4;
132 | FLOAT *fi, *gi;
133 | FLOAT const *fn;
134 |
135 | n <<= 1; /* to get BLKSIZE, because of 3DNow! ASM routine */
136 | fn = fz + n;
137 | k4 = 4;
138 | do {
139 | FLOAT s1, c1;
140 | int i, k1, k2, k3, kx;
141 | kx = k4 >> 1;
142 | k1 = k4;
143 | k2 = k4 << 1;
144 | k3 = k2 + k1;
145 | k4 = k2 << 1;
146 | fi = fz;
147 | gi = fi + kx;
148 | do {
149 | FLOAT f0, f1, f2, f3;
150 | f1 = fi[0] - fi[k1];
151 | f0 = fi[0] + fi[k1];
152 | f3 = fi[k2] - fi[k3];
153 | f2 = fi[k2] + fi[k3];
154 | fi[k2] = f0 - f2;
155 | fi[0] = f0 + f2;
156 | fi[k3] = f1 - f3;
157 | fi[k1] = f1 + f3;
158 | f1 = gi[0] - gi[k1];
159 | f0 = gi[0] + gi[k1];
160 | f3 = SQRT2 * gi[k3];
161 | f2 = SQRT2 * gi[k2];
162 | gi[k2] = f0 - f2;
163 | gi[0] = f0 + f2;
164 | gi[k3] = f1 - f3;
165 | gi[k1] = f1 + f3;
166 | gi += k4;
167 | fi += k4;
168 | } while (fi < fn);
169 | c1 = tri[0];
170 | s1 = tri[1];
171 | for (i = 1; i < kx; i++) {
172 | __m128 v_s2;
173 | __m128 v_c2;
174 | __m128 v_c1;
175 | __m128 v_s1;
176 | FLOAT c2, s2, s1_2 = s1+s1;
177 | c2 = 1 - s1_2 * s1;
178 | s2 = s1_2 * c1;
179 | fi = fz + i;
180 | gi = fz + k1 - i;
181 | v_c1 = _mm_set_ps1(c1);
182 | v_s1 = _mm_set_ps1(s1);
183 | v_c2 = _mm_set_ps1(c2);
184 | v_s2 = _mm_set_ps1(s2);
185 | {
186 | static const vecfloat_union sign_mask = {{0x80000000,0,0,0}};
187 | v_c1 = _mm_xor_ps(sign_mask._m128, v_c1); /* v_c1 := {-c1, +c1, +c1, +c1} */
188 | }
189 | {
190 | static const vecfloat_union sign_mask = {{0,0x80000000,0,0}};
191 | v_s1 = _mm_xor_ps(sign_mask._m128, v_s1); /* v_s1 := {+s1, -s1, +s1, +s1} */
192 | }
193 | {
194 | static const vecfloat_union sign_mask = {{0,0,0x80000000,0x80000000}};
195 | v_c2 = _mm_xor_ps(sign_mask._m128, v_c2); /* v_c2 := {+c2, +c2, -c2, -c2} */
196 | }
197 | do {
198 | __m128 p, q, r;
199 |
200 | q = _mm_setr_ps(fi[k1], fi[k3], gi[k1], gi[k3]); /* Q := {fi_k1,fi_k3,gi_k1,gi_k3}*/
201 | p = _mm_mul_ps(_mm_set_ps1(s2), q); /* P := s2 * Q */
202 | q = _mm_mul_ps(v_c2, q); /* Q := c2 * Q */
203 | q = _mm_shuffle_ps(q, q, _MM_SHUFFLE(1,0,3,2)); /* Q := {-c2*gi_k1,-c2*gi_k3,c2*fi_k1,c2*fi_k3} */
204 | p = _mm_add_ps(p, q);
205 |
206 | r = _mm_setr_ps(gi[0], gi[k2], fi[0], fi[k2]); /* R := {gi_0,gi_k2,fi_0,fi_k2} */
207 | q = _mm_sub_ps(r, p); /* Q := {gi_0-p0,gi_k2-p1,fi_0-p2,fi_k2-p3} */
208 | r = _mm_add_ps(r, p); /* R := {gi_0+p0,gi_k2+p1,fi_0+p2,fi_k2+p3} */
209 | p = _mm_shuffle_ps(q, r, _MM_SHUFFLE(2,0,2,0)); /* P := {q0,q2,r0,r2} */
210 | p = _mm_shuffle_ps(p, p, _MM_SHUFFLE(3,1,2,0)); /* P := {q0,r0,q2,r2} */
211 | q = _mm_shuffle_ps(q, r, _MM_SHUFFLE(3,1,3,1)); /* Q := {q1,q3,r1,r3} */
212 | r = _mm_mul_ps(v_c1, q);
213 | q = _mm_mul_ps(v_s1, q);
214 | q = _mm_shuffle_ps(q, q, _MM_SHUFFLE(0,1,2,3)); /* Q := {q3,q2,q1,q0} */
215 | q = _mm_add_ps(q, r);
216 |
217 | store4(_mm_sub_ps(p, q), &gi[k3], &gi[k2], &fi[k3], &fi[k2]);
218 | store4(_mm_add_ps(p, q), &gi[k1], &gi[ 0], &fi[k1], &fi[ 0]);
219 |
220 | gi += k4;
221 | fi += k4;
222 | } while (fi < fn);
223 | c2 = c1;
224 | c1 = c2 * tri[0] - s1 * tri[1];
225 | s1 = c2 * tri[1] + s1 * tri[0];
226 | }
227 | tri += 2;
228 | } while (k4 < n);
229 | }
230 |
231 | #endif /* HAVE_XMMINTRIN_H */
232 |
233 |
--------------------------------------------------------------------------------
/jni/libmp3lame/version.c:
--------------------------------------------------------------------------------
1 | /*
2 | * Version numbering for LAME.
3 | *
4 | * Copyright (c) 1999 A.L. Faber
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | /*!
23 | \file version.c
24 | \brief Version numbering for LAME.
25 |
26 | Contains functions which describe the version of LAME.
27 |
28 | \author A.L. Faber
29 | \version \$Id: version.c,v 1.32.2.2 2011/11/18 09:18:28 robert Exp $
30 | \ingroup libmp3lame
31 | */
32 |
33 |
34 | #ifdef HAVE_CONFIG_H
35 | # include
36 | #endif
37 |
38 |
39 | #include "lame.h"
40 | #include "machine.h"
41 |
42 | #include "version.h" /* macros of version numbers */
43 |
44 |
45 |
46 |
47 |
48 | /*! Get the LAME version string. */
49 | /*!
50 | \param void
51 | \return a pointer to a string which describes the version of LAME.
52 | */
53 | const char *
54 | get_lame_version(void)
55 | { /* primary to write screen reports */
56 | /* Here we can also add informations about compile time configurations */
57 |
58 | #if LAME_ALPHA_VERSION
59 | static /*@observer@ */ const char *const str =
60 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) " "
61 | "(alpha " STR(LAME_PATCH_VERSION) ", " __DATE__ " " __TIME__ ")";
62 | #elif LAME_BETA_VERSION
63 | static /*@observer@ */ const char *const str =
64 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) " "
65 | "(beta " STR(LAME_PATCH_VERSION) ", " __DATE__ ")";
66 | #elif LAME_RELEASE_VERSION && (LAME_PATCH_VERSION > 0)
67 | static /*@observer@ */ const char *const str =
68 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) "." STR(LAME_PATCH_VERSION);
69 | #else
70 | static /*@observer@ */ const char *const str =
71 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION);
72 | #endif
73 |
74 | return str;
75 | }
76 |
77 |
78 | /*! Get the short LAME version string. */
79 | /*!
80 | It's mainly for inclusion into the MP3 stream.
81 |
82 | \param void
83 | \return a pointer to the short version of the LAME version string.
84 | */
85 | const char *
86 | get_lame_short_version(void)
87 | {
88 | /* adding date and time to version string makes it harder for output
89 | validation */
90 |
91 | #if LAME_ALPHA_VERSION
92 | static /*@observer@ */ const char *const str =
93 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) " (alpha " STR(LAME_PATCH_VERSION) ")";
94 | #elif LAME_BETA_VERSION
95 | static /*@observer@ */ const char *const str =
96 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) " (beta " STR(LAME_PATCH_VERSION) ")";
97 | #elif LAME_RELEASE_VERSION && (LAME_PATCH_VERSION > 0)
98 | static /*@observer@ */ const char *const str =
99 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) "." STR(LAME_PATCH_VERSION);
100 | #else
101 | static /*@observer@ */ const char *const str =
102 | STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION);
103 | #endif
104 |
105 | return str;
106 | }
107 |
108 | /*! Get the _very_ short LAME version string. */
109 | /*!
110 | It's used in the LAME VBR tag only.
111 |
112 | \param void
113 | \return a pointer to the short version of the LAME version string.
114 | */
115 | const char *
116 | get_lame_very_short_version(void)
117 | {
118 | /* adding date and time to version string makes it harder for output
119 | validation */
120 | #if LAME_ALPHA_VERSION
121 | #define P "a"
122 | #elif LAME_BETA_VERSION
123 | #define P "b"
124 | #elif LAME_RELEASE_VERSION && (LAME_PATCH_VERSION > 0)
125 | #define P "r"
126 | #else
127 | #define P ""
128 | #endif
129 | static /*@observer@ */ const char *const str =
130 | #if (LAME_PATCH_VERSION > 0)
131 | "LAME" STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) P STR(LAME_PATCH_VERSION)
132 | #else
133 | "LAME" STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) P
134 | #endif
135 | ;
136 | return str;
137 | }
138 |
139 | /*! Get the _very_ short LAME version string. */
140 | /*!
141 | It's used in the LAME VBR tag only, limited to 9 characters max.
142 | Due to some 3rd party HW/SW decoders, it has to start with LAME.
143 |
144 | \param void
145 | \return a pointer to the short version of the LAME version string.
146 | */
147 | const char*
148 | get_lame_tag_encoder_short_version(void)
149 | {
150 | static /*@observer@ */ const char *const str =
151 | /* FIXME: new scheme / new version counting / drop versioning here ? */
152 | "LAME" STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) P
153 | ;
154 | return str;
155 | }
156 |
157 | /*! Get the version string for GPSYCHO. */
158 | /*!
159 | \param void
160 | \return a pointer to a string which describes the version of GPSYCHO.
161 | */
162 | const char *
163 | get_psy_version(void)
164 | {
165 | #if PSY_ALPHA_VERSION > 0
166 | static /*@observer@ */ const char *const str =
167 | STR(PSY_MAJOR_VERSION) "." STR(PSY_MINOR_VERSION)
168 | " (alpha " STR(PSY_ALPHA_VERSION) ", " __DATE__ " " __TIME__ ")";
169 | #elif PSY_BETA_VERSION > 0
170 | static /*@observer@ */ const char *const str =
171 | STR(PSY_MAJOR_VERSION) "." STR(PSY_MINOR_VERSION)
172 | " (beta " STR(PSY_BETA_VERSION) ", " __DATE__ ")";
173 | #else
174 | static /*@observer@ */ const char *const str =
175 | STR(PSY_MAJOR_VERSION) "." STR(PSY_MINOR_VERSION);
176 | #endif
177 |
178 | return str;
179 | }
180 |
181 |
182 | /*! Get the URL for the LAME website. */
183 | /*!
184 | \param void
185 | \return a pointer to a string which is a URL for the LAME website.
186 | */
187 | const char *
188 | get_lame_url(void)
189 | {
190 | static /*@observer@ */ const char *const str = LAME_URL;
191 |
192 | return str;
193 | }
194 |
195 |
196 | /*! Get the numerical representation of the version. */
197 | /*!
198 | Writes the numerical representation of the version of LAME and
199 | GPSYCHO into lvp.
200 |
201 | \param lvp
202 | */
203 | void
204 | get_lame_version_numerical(lame_version_t * lvp)
205 | {
206 | static /*@observer@ */ const char *const features = ""; /* obsolete */
207 |
208 | /* generic version */
209 | lvp->major = LAME_MAJOR_VERSION;
210 | lvp->minor = LAME_MINOR_VERSION;
211 | #if LAME_ALPHA_VERSION
212 | lvp->alpha = LAME_PATCH_VERSION;
213 | lvp->beta = 0;
214 | #elif LAME_BETA_VERSION
215 | lvp->alpha = 0;
216 | lvp->beta = LAME_PATCH_VERSION;
217 | #else
218 | lvp->alpha = 0;
219 | lvp->beta = 0;
220 | #endif
221 |
222 | /* psy version */
223 | lvp->psy_major = PSY_MAJOR_VERSION;
224 | lvp->psy_minor = PSY_MINOR_VERSION;
225 | lvp->psy_alpha = PSY_ALPHA_VERSION;
226 | lvp->psy_beta = PSY_BETA_VERSION;
227 |
228 | /* compile time features */
229 | /*@-mustfree@ */
230 | lvp->features = features;
231 | /*@=mustfree@ */
232 | }
233 |
234 |
235 | const char *
236 | get_lame_os_bitness(void)
237 | {
238 | static /*@observer@ */ const char *const strXX = "";
239 | static /*@observer@ */ const char *const str32 = "32bits";
240 | static /*@observer@ */ const char *const str64 = "64bits";
241 |
242 | switch (sizeof(void *)) {
243 | case 4:
244 | return str32;
245 |
246 | case 8:
247 | return str64;
248 |
249 | default:
250 | return strXX;
251 | }
252 | }
253 |
254 | /* end of version.c */
255 |
--------------------------------------------------------------------------------
/jni/libmp3lame/version.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Version numbering for LAME.
3 | *
4 | * Copyright (c) 1999 A.L. Faber
5 | *
6 | * This library is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Library General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2 of the License, or (at your option) any later version.
10 | *
11 | * This library is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Library General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Library General Public
17 | * License along with this library; if not, write to the
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 | * Boston, MA 02111-1307, USA.
20 | */
21 |
22 | #ifndef LAME_VERSION_H
23 | #define LAME_VERSION_H
24 |
25 |
26 | /*
27 | * To make a string from a token, use the # operator:
28 | */
29 | #ifndef STR
30 | # define __STR(x) #x
31 | # define STR(x) __STR(x)
32 | #endif
33 |
34 | # define LAME_URL "http://lame.sf.net"
35 |
36 |
37 | # define LAME_MAJOR_VERSION 3 /* Major version number */
38 | # define LAME_MINOR_VERSION 99 /* Minor version number */
39 | # define LAME_TYPE_VERSION 2 /* 0:alpha 1:beta 2:release */
40 | # define LAME_PATCH_VERSION 5 /* Patch level */
41 | # define LAME_ALPHA_VERSION (LAME_TYPE_VERSION==0)
42 | # define LAME_BETA_VERSION (LAME_TYPE_VERSION==1)
43 | # define LAME_RELEASE_VERSION (LAME_TYPE_VERSION==2)
44 |
45 | # define PSY_MAJOR_VERSION 1 /* Major version number */
46 | # define PSY_MINOR_VERSION 0 /* Minor version number */
47 | # define PSY_ALPHA_VERSION 0 /* Set number if this is an alpha version, otherwise zero */
48 | # define PSY_BETA_VERSION 0 /* Set number if this is a beta version, otherwise zero */
49 |
50 | #if LAME_ALPHA_VERSION
51 | #define LAME_PATCH_LEVEL_STRING " alpha " STR(LAME_PATCH_VERSION)
52 | #endif
53 | #if LAME_BETA_VERSION
54 | #define LAME_PATCH_LEVEL_STRING " beta " STR(LAME_PATCH_VERSION)
55 | #endif
56 | #if LAME_RELEASE_VERSION
57 | #if LAME_PATCH_VERSION
58 | #define LAME_PATCH_LEVEL_STRING " release " STR(LAME_PATCH_VERSION)
59 | #else
60 | #define LAME_PATCH_LEVEL_STRING ""
61 | #endif
62 | #endif
63 |
64 | # define LAME_VERSION_STRING STR(LAME_MAJOR_VERSION) "." STR(LAME_MINOR_VERSION) LAME_PATCH_LEVEL_STRING
65 |
66 | #endif /* LAME_VERSION_H */
67 |
68 | /* End of version.h */
69 |
--------------------------------------------------------------------------------
/jni/wrapper.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include "libmp3lame/lame.h"
6 |
7 | #define LOG_TAG "LAME ENCODER"
8 | #define LOGD(format, args...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, format, ##args);
9 | #define BUFFER_SIZE 8192
10 | #define be_short(s) ((short) ((unsigned short) (s) << 8) | ((unsigned short) (s) >> 8))
11 |
12 | lame_t lame;
13 |
14 | int read_samples(FILE *input_file, short *input) {
15 | int nb_read;
16 | nb_read = fread(input, 1, sizeof(short), input_file) / sizeof(short);
17 |
18 | int i = 0;
19 | while (i < nb_read) {
20 | input[i] = be_short(input[i]);
21 | i++;
22 | }
23 |
24 | return nb_read;
25 | }
26 |
27 | void Java_com_zc_RecordDemo_Mp3Conveter_initEncoder(JNIEnv *env,
28 | jobject jobj, jint in_num_channels, jint in_samplerate, jint in_brate,
29 | jint in_mode, jint in_quality) {
30 | lame = lame_init();
31 |
32 | LOGD("Init parameters:");
33 | lame_set_num_channels(lame, in_num_channels);
34 | LOGD("Number of channels: %d", in_num_channels);
35 | lame_set_in_samplerate(lame, in_samplerate);
36 | LOGD("Sample rate: %d", in_samplerate);
37 | lame_set_brate(lame, in_brate);
38 | LOGD("Bitrate: %d", in_brate);
39 | lame_set_mode(lame, in_mode);
40 | LOGD("Mode: %d", in_mode);
41 | lame_set_quality(lame, in_quality);
42 | LOGD("Quality: %d", in_quality);
43 |
44 | int res = lame_init_params(lame);
45 | LOGD("Init returned: %d", res);
46 | }
47 |
48 | void Java_com_zc_RecordDemo_Mp3Conveter_destroyEncoder(
49 | JNIEnv *env, jobject jobj) {
50 | int res = lame_close(lame);
51 | LOGD("Deinit returned: %d", res);
52 | }
53 |
54 | void Java_com_zc_RecordDemo_Mp3Conveter_encodeFile(JNIEnv *env,
55 | jobject jobj, jstring in_source_path, jstring in_target_path) {
56 | const char *source_path, *target_path;
57 | source_path = (*env)->GetStringUTFChars(env, in_source_path, NULL);
58 | target_path = (*env)->GetStringUTFChars(env, in_target_path, NULL);
59 |
60 | FILE *input_file, *output_file;
61 | input_file = fopen(source_path, "rb");
62 | output_file = fopen(target_path, "wb");
63 |
64 | short input[BUFFER_SIZE];
65 | char output[BUFFER_SIZE];
66 | int nb_read = 0;
67 | int nb_write = 0;
68 | int nb_total = 0;
69 |
70 | LOGD("Encoding started");
71 | while (nb_read = read_samples(input_file, input)) {
72 | nb_write = lame_encode_buffer(lame, input, input, nb_read, output,
73 | BUFFER_SIZE);
74 | fwrite(output, nb_write, 1, output_file);
75 | nb_total += nb_write;
76 | }
77 | LOGD("Encoded %d bytes", nb_total);
78 |
79 | nb_write = lame_encode_flush(lame, output, BUFFER_SIZE);
80 | fwrite(output, nb_write, 1, output_file);
81 | LOGD("Flushed %d bytes", nb_write);
82 |
83 | fclose(input_file);
84 | fclose(output_file);
85 | }
86 |
--------------------------------------------------------------------------------
/libs/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/libs/.DS_Store
--------------------------------------------------------------------------------
/libs/armeabi/libmp3lame.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/libs/armeabi/libmp3lame.so
--------------------------------------------------------------------------------
/local.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 |
7 | # location of the SDK. This is only used by Ant
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | sdk.dir=/Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/sdk
11 |
--------------------------------------------------------------------------------
/obj/local/armeabi/libmp3lame.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/libmp3lame.so
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/VbrTag.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/VbrTag.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/bitstream.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/bitstream.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/encoder.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/encoder.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/fft.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/fft.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/gain_analysis.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/gain_analysis.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/id3tag.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/id3tag.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/lame.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/lame.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/mpglib_interface.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/mpglib_interface.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/mpglib_interface.o.d:
--------------------------------------------------------------------------------
1 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/obj/local/armeabi/objs/mp3lame/./libmp3lame/mpglib_interface.o: \
2 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/mpglib_interface.c
3 |
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/newmdct.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/newmdct.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/newmdct.o.d:
--------------------------------------------------------------------------------
1 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/obj/local/armeabi/objs/mp3lame/./libmp3lame/newmdct.o: \
2 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/newmdct.c \
3 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h \
4 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h \
5 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h \
6 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h \
7 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h \
8 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h \
9 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h \
10 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h \
11 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h \
12 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h \
13 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h \
14 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h \
15 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h \
16 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h \
17 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h \
18 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h \
19 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h \
20 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h \
21 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h \
22 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h \
23 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h \
24 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h \
25 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h \
26 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h \
27 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h \
28 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h \
29 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h \
30 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h \
31 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h \
32 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h \
33 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h \
34 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h \
35 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h \
36 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h \
37 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h \
38 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h \
39 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h \
40 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/encoder.h \
41 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/util.h \
42 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/l3side.h \
43 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/id3tag.h \
44 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame_global_flags.h \
45 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/newmdct.h
46 |
47 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h:
48 |
49 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h:
50 |
51 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h:
52 |
53 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h:
54 |
55 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h:
56 |
57 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h:
58 |
59 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h:
60 |
61 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h:
62 |
63 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h:
64 |
65 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h:
66 |
67 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h:
68 |
69 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h:
70 |
71 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h:
72 |
73 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h:
74 |
75 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h:
76 |
77 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h:
78 |
79 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h:
80 |
81 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h:
82 |
83 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h:
84 |
85 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h:
86 |
87 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h:
88 |
89 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h:
90 |
91 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h:
92 |
93 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h:
94 |
95 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h:
96 |
97 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h:
98 |
99 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h:
100 |
101 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h:
102 |
103 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h:
104 |
105 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h:
106 |
107 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h:
108 |
109 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h:
110 |
111 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h:
112 |
113 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h:
114 |
115 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h:
116 |
117 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h:
118 |
119 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h:
120 |
121 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/encoder.h:
122 |
123 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/util.h:
124 |
125 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/l3side.h:
126 |
127 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/id3tag.h:
128 |
129 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame_global_flags.h:
130 |
131 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/newmdct.h:
132 |
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/presets.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/presets.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/presets.o.d:
--------------------------------------------------------------------------------
1 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/obj/local/armeabi/objs/mp3lame/./libmp3lame/presets.o: \
2 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/presets.c \
3 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h \
4 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h \
5 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h \
6 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h \
7 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h \
8 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h \
9 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h \
10 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h \
11 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h \
12 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h \
13 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h \
14 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h \
15 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h \
16 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h \
17 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h \
18 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h \
19 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h \
20 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h \
21 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h \
22 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h \
23 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h \
24 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h \
25 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h \
26 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h \
27 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h \
28 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h \
29 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h \
30 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h \
31 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h \
32 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h \
33 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h \
34 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h \
35 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h \
36 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h \
37 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h \
38 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h \
39 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h \
40 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/set_get.h \
41 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/encoder.h \
42 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/util.h \
43 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/l3side.h \
44 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/id3tag.h \
45 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame_global_flags.h
46 |
47 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h:
48 |
49 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h:
50 |
51 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h:
52 |
53 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h:
54 |
55 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h:
56 |
57 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h:
58 |
59 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h:
60 |
61 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h:
62 |
63 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h:
64 |
65 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h:
66 |
67 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h:
68 |
69 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h:
70 |
71 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h:
72 |
73 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h:
74 |
75 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h:
76 |
77 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h:
78 |
79 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h:
80 |
81 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h:
82 |
83 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h:
84 |
85 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h:
86 |
87 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h:
88 |
89 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h:
90 |
91 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h:
92 |
93 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h:
94 |
95 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h:
96 |
97 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h:
98 |
99 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h:
100 |
101 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h:
102 |
103 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h:
104 |
105 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h:
106 |
107 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h:
108 |
109 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h:
110 |
111 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h:
112 |
113 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h:
114 |
115 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h:
116 |
117 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h:
118 |
119 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h:
120 |
121 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/set_get.h:
122 |
123 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/encoder.h:
124 |
125 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/util.h:
126 |
127 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/l3side.h:
128 |
129 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/id3tag.h:
130 |
131 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame_global_flags.h:
132 |
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/psymodel.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/psymodel.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/quantize.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/quantize.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/quantize_pvt.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/quantize_pvt.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/reservoir.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/reservoir.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/set_get.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/set_get.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/tables.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/tables.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/tables.o.d:
--------------------------------------------------------------------------------
1 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/obj/local/armeabi/objs/mp3lame/./libmp3lame/tables.o: \
2 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/tables.c \
3 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h \
4 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h \
5 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h \
6 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h \
7 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h \
8 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h \
9 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h \
10 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h \
11 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h \
12 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h \
13 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h \
14 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h \
15 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h \
16 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h \
17 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h \
18 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h \
19 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h \
20 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h \
21 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h \
22 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h \
23 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h \
24 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h \
25 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h \
26 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h \
27 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h \
28 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h \
29 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h \
30 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h \
31 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h \
32 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h \
33 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h \
34 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h \
35 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h \
36 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h \
37 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h \
38 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h \
39 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h \
40 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/tables.h
41 |
42 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h:
43 |
44 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h:
45 |
46 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h:
47 |
48 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h:
49 |
50 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h:
51 |
52 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h:
53 |
54 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h:
55 |
56 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h:
57 |
58 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h:
59 |
60 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h:
61 |
62 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h:
63 |
64 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h:
65 |
66 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h:
67 |
68 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h:
69 |
70 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h:
71 |
72 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h:
73 |
74 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h:
75 |
76 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h:
77 |
78 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h:
79 |
80 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h:
81 |
82 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h:
83 |
84 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h:
85 |
86 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h:
87 |
88 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h:
89 |
90 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h:
91 |
92 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h:
93 |
94 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h:
95 |
96 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h:
97 |
98 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h:
99 |
100 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h:
101 |
102 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h:
103 |
104 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h:
105 |
106 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h:
107 |
108 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h:
109 |
110 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h:
111 |
112 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h:
113 |
114 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h:
115 |
116 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/tables.h:
117 |
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/takehiro.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/takehiro.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/util.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/util.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/util.o.d:
--------------------------------------------------------------------------------
1 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/obj/local/armeabi/objs/mp3lame/./libmp3lame/util.o: \
2 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/util.c \
3 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h \
4 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h \
5 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h \
6 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h \
7 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h \
8 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h \
9 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h \
10 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h \
11 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h \
12 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h \
13 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h \
14 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h \
15 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h \
16 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h \
17 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h \
18 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h \
19 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h \
20 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h \
21 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h \
22 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h \
23 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h \
24 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h \
25 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h \
26 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h \
27 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h \
28 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h \
29 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h \
30 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h \
31 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h \
32 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h \
33 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h \
34 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h \
35 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h \
36 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h \
37 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h \
38 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h \
39 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h \
40 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/encoder.h \
41 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/util.h \
42 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/l3side.h \
43 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/id3tag.h \
44 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame_global_flags.h \
45 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/tables.h
46 |
47 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h:
48 |
49 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h:
50 |
51 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h:
52 |
53 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h:
54 |
55 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h:
56 |
57 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h:
58 |
59 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h:
60 |
61 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h:
62 |
63 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h:
64 |
65 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h:
66 |
67 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h:
68 |
69 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h:
70 |
71 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h:
72 |
73 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h:
74 |
75 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h:
76 |
77 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h:
78 |
79 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h:
80 |
81 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h:
82 |
83 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h:
84 |
85 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h:
86 |
87 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h:
88 |
89 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h:
90 |
91 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h:
92 |
93 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h:
94 |
95 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h:
96 |
97 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h:
98 |
99 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h:
100 |
101 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h:
102 |
103 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h:
104 |
105 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h:
106 |
107 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h:
108 |
109 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h:
110 |
111 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h:
112 |
113 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h:
114 |
115 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h:
116 |
117 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h:
118 |
119 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h:
120 |
121 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/encoder.h:
122 |
123 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/util.h:
124 |
125 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/l3side.h:
126 |
127 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/id3tag.h:
128 |
129 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame_global_flags.h:
130 |
131 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/tables.h:
132 |
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/vbrquantize.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/vbrquantize.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/version.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/libmp3lame/version.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/libmp3lame/version.o.d:
--------------------------------------------------------------------------------
1 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/obj/local/armeabi/objs/mp3lame/./libmp3lame/version.o: \
2 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.c \
3 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h \
4 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h \
5 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h \
6 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h \
7 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h \
8 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h \
9 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h \
10 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h \
11 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h \
12 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h \
13 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h \
14 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h \
15 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h \
16 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h \
17 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h \
18 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h \
19 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h \
20 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h \
21 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h \
22 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h \
23 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h \
24 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h \
25 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h \
26 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h \
27 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h \
28 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h \
29 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h \
30 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h \
31 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h \
32 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h \
33 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h \
34 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h \
35 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h \
36 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h \
37 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h \
38 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h \
39 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h
40 |
41 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h:
42 |
43 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h:
44 |
45 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h:
46 |
47 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h:
48 |
49 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h:
50 |
51 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h:
52 |
53 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h:
54 |
55 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h:
56 |
57 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h:
58 |
59 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h:
60 |
61 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h:
62 |
63 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h:
64 |
65 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h:
66 |
67 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h:
68 |
69 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h:
70 |
71 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h:
72 |
73 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h:
74 |
75 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h:
76 |
77 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/machine.h:
78 |
79 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/version.h:
80 |
81 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/assert.h:
82 |
83 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/math.h:
84 |
85 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/limits.h:
86 |
87 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/limits.h:
88 |
89 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/limits.h:
90 |
91 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/internal_types.h:
92 |
93 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/limits.h:
94 |
95 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/syslimits.h:
96 |
97 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/page.h:
98 |
99 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/ctype.h:
100 |
101 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/stat.h:
102 |
103 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/time.h:
104 |
105 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/time.h:
106 |
107 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stat.h:
108 |
109 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/endian.h:
110 |
111 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/endian.h:
112 |
113 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/endian.h:
114 |
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/wrapper.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/obj/local/armeabi/objs/mp3lame/wrapper.o
--------------------------------------------------------------------------------
/obj/local/armeabi/objs/mp3lame/wrapper.o.d:
--------------------------------------------------------------------------------
1 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/obj/local/armeabi/objs/mp3lame/./wrapper.o: \
2 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./wrapper.c \
3 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h \
4 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h \
5 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h \
6 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h \
7 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h \
8 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h \
9 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h \
10 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h \
11 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h \
12 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h \
13 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h \
14 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h \
15 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h \
16 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h \
17 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h \
18 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h \
19 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h \
20 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdlib.h \
21 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/string.h \
22 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/malloc.h \
23 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/alloca.h \
24 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/strings.h \
25 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/memory.h \
26 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/jni.h \
27 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/log.h \
28 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h
29 |
30 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdio.h:
31 |
32 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs.h:
33 |
34 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/cdefs_elf.h:
35 |
36 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/api-level.h:
37 |
38 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/types.h:
39 |
40 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdint.h:
41 |
42 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_types.h:
43 |
44 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/_types.h:
45 |
46 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/_wchar_limits.h:
47 |
48 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/posix_types.h:
49 |
50 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/stddef.h:
51 |
52 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/compiler.h:
53 |
54 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/posix_types.h:
55 |
56 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/asm/types.h:
57 |
58 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/linux/types.h:
59 |
60 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/machine/kernel.h:
61 |
62 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/sys/sysmacros.h:
63 |
64 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/stdlib.h:
65 |
66 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/string.h:
67 |
68 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/malloc.h:
69 |
70 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/alloca.h:
71 |
72 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/strings.h:
73 |
74 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/memory.h:
75 |
76 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/jni.h:
77 |
78 | /Users/JustinZhang/Documents/adt-bundle-mac-x86_64-20130917/android-ndk-r9d/platforms/android-9/arch-arm/usr/include/android/log.h:
79 |
80 | /Users/JustinZhang/Downloads/FancyCoverFlow-master/RecordDemo/jni/./libmp3lame/lame.h:
81 |
--------------------------------------------------------------------------------
/out/production/RecordDemo/RecordDemo.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/RecordDemo.apk
--------------------------------------------------------------------------------
/out/production/RecordDemo/RecordDemo.unaligned.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/RecordDemo.unaligned.apk
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/BuildConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/BuildConfig.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/ConvertActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/ConvertActivity.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/LameActivity$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/LameActivity$1.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/LameActivity$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/LameActivity$2.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/LameActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/LameActivity.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/Mp3Conveter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/Mp3Conveter.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/MyAudioRecorder$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/MyAudioRecorder$1.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/MyAudioRecorder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/MyAudioRecorder.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/R$attr.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/R$id.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/R$id.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/R$layout.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/R$layout.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/R$string.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/R$string.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/R.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/RecordManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/out/production/RecordDemo/com/zc/RecordDemo/RecordManager.class
--------------------------------------------------------------------------------
/out/production/RecordDemo/com/zc/RecordDemo/web/record.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-10
15 |
--------------------------------------------------------------------------------
/res/layout/activity_lame.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/res/layout/convert_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
13 |
14 |
19 |
24 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | RecordDemo
4 |
5 |
--------------------------------------------------------------------------------
/src/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/src/.DS_Store
--------------------------------------------------------------------------------
/src/com/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/src/com/.DS_Store
--------------------------------------------------------------------------------
/src/com/zc/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/src/com/zc/.DS_Store
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/src/com/zc/RecordDemo/.DS_Store
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/ConvertActivity.java:
--------------------------------------------------------------------------------
1 | package com.zc.RecordDemo;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 | import android.util.Log;
6 | import android.view.View;
7 |
8 | /**
9 | * 7/3/14 2:42 PM
10 | * Created by JustinZhang.
11 | */
12 | public class ConvertActivity extends Activity implements View.OnClickListener {
13 |
14 | private static final String TAG = "ConvertActivity";
15 | MyAudioRecorder recorder;
16 | @Override
17 | protected void onCreate(Bundle savedInstanceState) {
18 | super.onCreate(savedInstanceState);
19 | Log.e(TAG, "onCreate");
20 | setContentView(R.layout.convert_layout);
21 | recorder = new MyAudioRecorder();
22 | findViewById(R.id.stop_record).setOnClickListener(this);
23 | findViewById(R.id.pause).setOnClickListener(this);
24 | findViewById(R.id.record).setOnClickListener(this);
25 | findViewById(R.id.restart).setOnClickListener(this);
26 |
27 | }
28 |
29 | @Override
30 | protected void onPause() {
31 | super.onPause();
32 | Log.e(TAG,"onPause");
33 | recorder.release();
34 | }
35 |
36 | @Override
37 | protected void onResume() {
38 | super.onResume();
39 | Log.e(TAG,"ON RESUMME");
40 | recorder.prepare();
41 | }
42 |
43 | @Override
44 | protected void onDestroy() {
45 | super.onDestroy();
46 | Log.e(TAG, "onDestroy");
47 | }
48 |
49 | @Override
50 | public void onClick(View v) {
51 | switch (v.getId()){
52 | case R.id.pause:
53 | recorder.pauseRecording();
54 | break;
55 | case R.id.record:
56 | recorder.startRecording();
57 | break;
58 | case R.id.stop_record:
59 | recorder.stopRecording();
60 | break;
61 | case R.id.restart:
62 | recorder.restartRecording();
63 | break;
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/LameActivity.java:
--------------------------------------------------------------------------------
1 | package com.zc.RecordDemo;
2 |
3 | import java.io.BufferedOutputStream;
4 | import java.io.DataOutputStream;
5 | import java.io.File;
6 | import java.io.FileOutputStream;
7 | import java.io.IOException;
8 |
9 | import android.app.Activity;
10 | import android.media.AudioFormat;
11 | import android.media.AudioRecord;
12 | import android.media.MediaRecorder;
13 | import android.os.Bundle;
14 | import android.os.Environment;
15 | import android.text.format.Time;
16 | import android.view.Menu;
17 | import android.view.View;
18 | import android.widget.Button;
19 | import android.widget.Toast;
20 |
21 | public class LameActivity extends Activity {
22 |
23 | private native void initEncoder(int numChannels, int sampleRate, int bitRate, int mode, int quality);
24 |
25 | private native void destroyEncoder();
26 |
27 | private native int encodeFile(String sourcePath, String targetPath);
28 |
29 | public static final int NUM_CHANNELS = 1;
30 | public static final int SAMPLE_RATE = 8000;
31 | public static final int BITRATE = 128;
32 | public static final int MODE = 1;
33 | public static final int QUALITY = 2;
34 | private AudioRecord mRecorder;
35 | private short[] mBuffer;
36 | private final String startRecordingLabel = "Start recording";
37 | private final String stopRecordingLabel = "Stop recording";
38 | private boolean mIsRecording = false;
39 | private File mRawFile;
40 | private File mEncodedFile;
41 |
42 | @Override
43 | public void onCreate(Bundle savedInstanceState) {
44 | super.onCreate(savedInstanceState);
45 | setContentView(R.layout.activity_lame);
46 |
47 | initRecorder();
48 |
49 | final Button button = (Button) findViewById(R.id.button);
50 | button.setText(startRecordingLabel);
51 |
52 | button.setOnClickListener(new View.OnClickListener() {
53 | @Override
54 | public void onClick(final View v) {
55 | if (!mIsRecording) {
56 | button.setText(stopRecordingLabel);
57 | mIsRecording = true;
58 | mRecorder.startRecording();
59 | mRawFile = getFile("raw");
60 | startBufferedWrite(mRawFile);
61 | } else {
62 | button.setText(startRecordingLabel);
63 | mIsRecording = false;
64 | mRecorder.stop();
65 | mEncodedFile = getFile("mp3");
66 | int result = encodeFile(mRawFile.getAbsolutePath(), mEncodedFile.getAbsolutePath());
67 | if (result == 0) {
68 | Toast.makeText(LameActivity.this, "Encoded to " + mEncodedFile.getName(), Toast.LENGTH_SHORT)
69 | .show();
70 | }
71 | }
72 | }
73 | });
74 | }
75 |
76 |
77 | @Override
78 | public void onDestroy() {
79 | mRecorder.release();
80 | destroyEncoder();
81 | super.onDestroy();
82 | }
83 |
84 | private void initRecorder() {
85 | int bufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO,
86 | AudioFormat.ENCODING_PCM_8BIT);
87 | mBuffer = new short[bufferSize];
88 | mRecorder = new AudioRecord(MediaRecorder.AudioSource.MIC, SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO,
89 | AudioFormat.ENCODING_PCM_8BIT, bufferSize);
90 | }
91 |
92 | private void startBufferedWrite(final File file) {
93 | new Thread(new Runnable() {
94 | @Override
95 | public void run() {
96 | DataOutputStream output = null;
97 | try {
98 | output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file)));
99 | while (mIsRecording) {
100 | int readSize = mRecorder.read(mBuffer, 0, mBuffer.length);
101 | for (int i = 0; i < readSize; i++) {
102 | output.writeShort(mBuffer[i]);
103 | }
104 | }
105 | } catch (IOException e) {
106 | Toast.makeText(LameActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
107 | } finally {
108 | if (output != null) {
109 | try {
110 | output.flush();
111 | } catch (IOException e) {
112 | Toast.makeText(LameActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
113 | } finally {
114 | try {
115 | output.close();
116 | } catch (IOException e) {
117 | Toast.makeText(LameActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
118 | }
119 | }
120 | }
121 | }
122 | }
123 | }).start();
124 | }
125 |
126 | private File getFile(final String suffix) {
127 | Time time = new Time();
128 | time.setToNow();
129 | return new File(Environment.getExternalStorageDirectory(), time.format("%Y%m%d%H%M%S") + "." + suffix);
130 | }
131 | }
132 |
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/Mp3Conveter.java:
--------------------------------------------------------------------------------
1 | package com.zc.RecordDemo;
2 |
3 | /**
4 | * 7/4/14 1:20 PM
5 | * Created by JustinZhang.
6 | */
7 | public class Mp3Conveter {
8 | public static final int NUM_CHANNELS = 1;
9 | public static final int SAMPLE_RATE = 16000;
10 | public static final int BITRATE = 8;
11 | public static final int MODE = 1;
12 | public static final int QUALITY = 5;
13 |
14 | public native void initEncoder(int numChannels, int sampleRate, int bitRate, int mode, int quality);
15 |
16 | public native void destroyEncoder();
17 |
18 | public native void encodeFile(String sourcePath, String targetPath);
19 |
20 | static {
21 | System.loadLibrary("mp3lame");
22 | }
23 |
24 | public Mp3Conveter() {
25 |
26 | initEncoder(NUM_CHANNELS, SAMPLE_RATE, BITRATE, MODE, QUALITY);
27 |
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/MyAudioRecorder.java:
--------------------------------------------------------------------------------
1 | package com.zc.RecordDemo;
2 |
3 | import android.media.AudioFormat;
4 | import android.media.AudioRecord;
5 | import android.media.MediaRecorder;
6 | import android.os.Environment;
7 | import android.text.format.Time;
8 | import android.util.Log;
9 |
10 | import java.io.*;
11 |
12 | /**
13 | * 7/1/14 11:00 AM
14 | * Created by JustinZhang.
15 | */
16 | public class MyAudioRecorder {
17 |
18 | private static final String TAG = "MyAudioRecorder";
19 | private AudioRecord mRecorder = null;
20 | //private MediaPlayer mPlayer = null;
21 |
22 | public static final int SAMPLE_RATE = 16000;
23 |
24 | private Mp3Conveter mConveter;
25 | private short[] mBuffer;
26 | private boolean mIsRecording = false;
27 | private File mRawFile;
28 | private File mEncodedFile;
29 |
30 |
31 | public void prepare(){
32 | int bufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO,
33 | AudioFormat.ENCODING_PCM_16BIT);
34 | mBuffer = new short[bufferSize];
35 | mRecorder = new AudioRecord(MediaRecorder.AudioSource.MIC, SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO,
36 | AudioFormat.ENCODING_PCM_16BIT, bufferSize);
37 | mConveter = new Mp3Conveter();
38 | }
39 |
40 | /**
41 | * 开始录音
42 | */
43 | public void startRecording() {
44 |
45 | if(mIsRecording){
46 | return;
47 | }
48 |
49 | Log.e(TAG, "startRcording");
50 | if (mRecorder == null) {
51 | Log.e(TAG,"mRocorder is nul this should not happen");
52 | return;
53 | }
54 | mIsRecording = true;
55 | mRecorder.startRecording();
56 | mRawFile = getFile("raw");
57 | startBufferedWrite(mRawFile);
58 | }
59 |
60 | private void startBufferedWrite(final File file) {
61 | new Thread(new Runnable() {
62 | @Override
63 | public void run() {
64 | DataOutputStream output = null;
65 | try {
66 | output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file)));
67 | while (mIsRecording) {
68 |
69 | if(mIsPause){
70 | continue;
71 | }
72 |
73 | int readSize = mRecorder.read(mBuffer, 0, mBuffer.length);
74 | for (int i = 0; i < readSize; i++) {
75 | output.writeShort(mBuffer[i]);
76 | }
77 | }
78 | } catch (IOException e) {
79 | e.printStackTrace();
80 | } finally {
81 | if (output != null) {
82 | try {
83 | output.flush();
84 | } catch (IOException e) {
85 | e.printStackTrace();
86 | } finally {
87 | try {
88 | output.close();
89 | } catch (IOException e) {
90 | e.printStackTrace();
91 | }
92 | }
93 | }
94 | }
95 | }
96 | }).start();
97 | }
98 |
99 | private boolean mIsPause=false;
100 |
101 | public void pauseRecording(){
102 | mIsPause = true;
103 | }
104 |
105 | public void restartRecording(){
106 | mIsPause = false;
107 | }
108 |
109 |
110 | public void stopRecording() {
111 | Log.e(TAG, "stopRecording");
112 | if (mRecorder == null) {
113 | return;
114 | }
115 | if(!mIsRecording){
116 | return;
117 | }
118 | mRecorder.stop();
119 | mIsPause = false;
120 | mIsRecording = false;
121 | mEncodedFile = getFile("mp3");
122 | mConveter.encodeFile(mRawFile.getAbsolutePath(), mEncodedFile.getAbsolutePath());
123 | }
124 |
125 | /*
126 | public void startPlaying() {
127 | Log.e(TAG, "startPlayingstartPlaying");
128 | if (mPlayer != null) {
129 | return;
130 | }
131 | mPlayer = new MediaPlayer();
132 | try {
133 | Log.e("DDD", "DATA SOURCE: " + mEncodedFile.getAbsolutePath());
134 | mPlayer.setDataSource(mEncodedFile.getAbsolutePath());
135 | mPlayer.prepare();
136 | mPlayer.start();
137 | mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
138 | @Override
139 | public void onCompletion(MediaPlayer mp) {
140 | mPlayer.release();
141 | mPlayer = null;
142 | }
143 | });
144 | } catch (IOException e) {
145 | Log.e(TAG, e.toString() + "\nprepare() failed");
146 | }
147 | }
148 | */
149 |
150 | /*
151 | public void stopPlaying() {
152 | Log.e(TAG, "stopPlaying");
153 | if (mPlayer != null) {
154 | mPlayer.release();
155 | mPlayer = null;
156 | }
157 | }
158 | */
159 |
160 | public void release() {
161 | /*
162 | Log.e(TAG, "release");
163 | if (mPlayer != null) {
164 | mPlayer.stop();
165 | mPlayer.release();
166 | mPlayer = null;
167 | }
168 | */
169 | if (mRecorder != null) {
170 | mRecorder.stop();
171 | mRecorder.release();
172 | mIsPause = false;
173 | mIsRecording = false;
174 | }
175 |
176 | if(mConveter!=null)
177 | mConveter.destroyEncoder();
178 | }
179 |
180 | private File getFile(final String suffix) {
181 | Time time = new Time();
182 | time.setToNow();
183 | File f= new File(Environment.getExternalStorageDirectory(), time.format("%Y%m%d%H%M%S") + "." + suffix);
184 | Log.e(TAG,"file address:"+f.getAbsolutePath());
185 | return f;
186 | }
187 | }
188 |
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/RecordManager.java:
--------------------------------------------------------------------------------
1 | package com.zc.RecordDemo;
2 |
3 | import android.media.MediaRecorder;
4 | import android.os.Environment;
5 |
6 | /**
7 | * 7/4/14 12:19 PM
8 | * Created by JustinZhang.
9 | */
10 | public class RecordManager {
11 |
12 | private MediaRecorder mRecorder = null;
13 | private String filePath = null;
14 |
15 | public static final int NUM_CHANNELS = 1;
16 | public static final int SAMPLE_RATE = 8000;
17 | public static final int BITRATE = 16;
18 | public static final int MODE = 1;
19 | public static final int QUALITY = 2;
20 |
21 | public RecordManager() {
22 | mRecorder = new MediaRecorder();
23 | mRecorder.setAudioChannels(NUM_CHANNELS);
24 | mRecorder.setAudioSamplingRate(SAMPLE_RATE);
25 | mRecorder.setAudioEncodingBitRate(BITRATE);
26 | mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
27 | filePath = Environment.getExternalStorageDirectory()+"/audio.3pg";
28 |
29 |
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/web/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oszc/android_lame_lib/caea03cd6964be90329d814c9be36fd3054613da/src/com/zc/RecordDemo/web/.DS_Store
--------------------------------------------------------------------------------
/src/com/zc/RecordDemo/web/record.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------