add flac package (thanks to David Collet)
SVN-Revision: 2158
This commit is contained in:
parent
03d2ceba42
commit
869c74e8d5
@ -146,6 +146,7 @@ source "package/libdnet/Config.in"
|
||||
source "package/libelf/Config.in"
|
||||
source "package/libevent/Config.in"
|
||||
source "package/expat/Config.in" # libexpat
|
||||
source "package/flac/Config.in" # libflac
|
||||
source "package/freetype/Config.in" # libfreetype
|
||||
source "package/libgcrypt/Config.in"
|
||||
source "package/libgd/Config.in"
|
||||
|
@ -37,6 +37,7 @@ package-$(BR2_PACKAGE_EBTABLES) += ebtables
|
||||
package-$(BR2_PACKAGE_ETHER_WAKE) += ether-wake
|
||||
package-$(BR2_COMPILE_EXPAT) += expat
|
||||
package-$(BR2_PACKAGE_EZIPUPDATE) += ez-ipupdate
|
||||
package-$(BR2_COMPILE_FLAC) += flac
|
||||
package-$(BR2_PACKAGE_FPING) += fping
|
||||
package-$(BR2_PACKAGE_FPROBE) += fprobe
|
||||
package-$(BR2_PACKAGE_FPROBE_ULOG) += fprobe-ulog
|
||||
|
14
openwrt/package/flac/Config.in
Normal file
14
openwrt/package/flac/Config.in
Normal file
@ -0,0 +1,14 @@
|
||||
config BR2_COMPILE_FLAC
|
||||
bool
|
||||
default n
|
||||
depends BR2_PACKAGE_LIBFLAC
|
||||
|
||||
config BR2_PACKAGE_LIBFLAC
|
||||
tristate "libflac - Free Lossless Audio Codec library"
|
||||
default m if CONFIG_DEVEL
|
||||
select BR2_COMPILE_FLAC
|
||||
help
|
||||
Free Lossless Audio Codec library
|
||||
|
||||
http://flac.sourceforge.net/
|
||||
|
60
openwrt/package/flac/Makefile
Normal file
60
openwrt/package/flac/Makefile
Normal file
@ -0,0 +1,60 @@
|
||||
# $Id$
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=flac
|
||||
PKG_VERSION:=1.1.2
|
||||
PKG_RELEASE:=1
|
||||
PKG_MD5SUM:=2bfc127cdda02834d0491ab531a20960
|
||||
|
||||
PKG_SOURCE_URL:=@SF/flac
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_CAT:=zcat
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
|
||||
|
||||
include $(TOPDIR)/package/rules.mk
|
||||
|
||||
$(eval $(call PKG_template,LIBFLAC,libflac,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
|
||||
|
||||
$(PKG_BUILD_DIR)/.configured:
|
||||
touch $@
|
||||
|
||||
$(PKG_BUILD_DIR)/.built:
|
||||
rm -rf $(PKG_INSTALL_DIR)
|
||||
mkdir -p $(PKG_INSTALL_DIR)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) -f Makefile.lite \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
libFLAC
|
||||
touch $@
|
||||
|
||||
$(IPKG_LIBFLAC):
|
||||
install -m0755 -d $(IDIR_LIBFLAC)/usr/lib
|
||||
cp -fpR $(PKG_BUILD_DIR)/obj/release/lib/libFLAC.so $(IDIR_LIBFLAC)/usr/lib/
|
||||
$(RSTRIP) $(IDIR_LIBFLAC)
|
||||
$(IPKG_BUILD) $(IDIR_LIBFLAC) $(PACKAGE_DIR)
|
||||
|
||||
$(STAGING_DIR)/usr/lib/libFLAC.so: $(PKG_BUILD_DIR)/.built
|
||||
mkdir -p $(STAGING_DIR)/usr/include
|
||||
cp -fpR $(PKG_BUILD_DIR)/include/FLAC $(STAGING_DIR)/usr/include/
|
||||
mkdir -p $(STAGING_DIR)/usr/lib
|
||||
cp -fpR $(PKG_BUILD_DIR)/obj/release/lib/libFLAC.a $(STAGING_DIR)/usr/lib/
|
||||
cp -fpR $(PKG_BUILD_DIR)/obj/release/lib/libFLAC.so $(STAGING_DIR)/usr/lib/
|
||||
touch $@
|
||||
|
||||
install-dev: $(STAGING_DIR)/usr/lib/libFLAC.so
|
||||
|
||||
uninstall-dev:
|
||||
rm -rf \
|
||||
$(STAGING_DIR)/usr/include/FLAC \
|
||||
$(STAGING_DIR)/usr/lib/libFLAC.a \
|
||||
$(STAGING_DIR)/usr/lib/libFLAC.so \
|
||||
|
||||
compile: install-dev
|
||||
clean: uninstall-dev
|
||||
|
||||
mostlyclean:
|
||||
-$(MAKE) -C $(PKG_BUILD_DIR) clean
|
||||
rm -f $(PKG_BUILD_DIR)/.built
|
||||
|
8
openwrt/package/flac/ipkg/libflac.control
Normal file
8
openwrt/package/flac/ipkg/libflac.control
Normal file
@ -0,0 +1,8 @@
|
||||
Package: libflac
|
||||
Priority: optional
|
||||
Section: libs
|
||||
Version: [TBDL]
|
||||
Architecture: [TBDL]
|
||||
Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>, David Collett <daveco@users.sourceforge.net>
|
||||
Source: buildroot internal
|
||||
Description: Free Lossless Audio Codec library
|
280
openwrt/package/flac/patches/no_encoder.patch
Normal file
280
openwrt/package/flac/patches/no_encoder.patch
Normal file
@ -0,0 +1,280 @@
|
||||
diff -ru flac-1.1.2.OLD/build/lib.mk flac-1.1.2.NEW/build/lib.mk
|
||||
--- flac-1.1.2.OLD/build/lib.mk 2005-01-25 15:10:47.000000000 +1100
|
||||
+++ flac-1.1.2.NEW/build/lib.mk 2005-10-16 10:10:43.000000000 +1000
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
debug : CFLAGS = -g -O0 -DDEBUG $(CONFIG_CFLAGS) $(DEBUG_CFLAGS) -Wall -W -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
|
||||
valgrind: CFLAGS = -g -O0 -DDEBUG $(CONFIG_CFLAGS) $(DEBUG_CFLAGS) -DFLAC__VALGRIND_TESTING -Wall -W -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
|
||||
-release : CFLAGS = -O3 -fomit-frame-pointer -funroll-loops -finline-functions -DNDEBUG $(CONFIG_CFLAGS) $(RELEASE_CFLAGS) -Wall -W -Winline -DFLaC__INLINE=__inline__ -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
|
||||
+release : CFLAGS = -Os -pipe -mips32 -mtune=mips32 -fomit-frame-pointer -funroll-loops -finline-functions -DNDEBUG $(CONFIG_CFLAGS) $(RELEASE_CFLAGS) -Wall -W -Winline -DFLaC__INLINE=__inline__ -DVERSION=$(VERSION) $(DEFINES) $(INCLUDES)
|
||||
|
||||
LFLAGS = -L$(LIBPATH)
|
||||
|
||||
diff -ru flac-1.1.2.OLD/src/libFLAC/lpc.c flac-1.1.2.NEW/src/libFLAC/lpc.c
|
||||
--- flac-1.1.2.OLD/src/libFLAC/lpc.c 2005-01-26 15:31:36.000000000 +1100
|
||||
+++ flac-1.1.2.NEW/src/libFLAC/lpc.c 2005-10-16 10:44:58.000000000 +1000
|
||||
@@ -293,6 +293,209 @@
|
||||
|
||||
void FLAC__lpc_restore_signal(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[])
|
||||
{
|
||||
+ register const FLAC__int32 *qlp0 = &qlp_coeff[(order-1)];
|
||||
+ register FLAC__int32 sum;
|
||||
+ register const FLAC__int32 *history, *qlp;
|
||||
+
|
||||
+ history = &data[(-order)];
|
||||
+
|
||||
+ switch (order) {
|
||||
+ case 12:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ + (qlp0[-5] * history[5])
|
||||
+ + (qlp0[-6] * history[6])
|
||||
+ + (qlp0[-7] * history[7])
|
||||
+ + (qlp0[-8] * history[8])
|
||||
+ + (qlp0[-9] * history[9])
|
||||
+ + (qlp0[-10] * history[10])
|
||||
+ + (qlp0[-11] * history[11])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 11:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ + (qlp0[-5] * history[5])
|
||||
+ + (qlp0[-6] * history[6])
|
||||
+ + (qlp0[-7] * history[7])
|
||||
+ + (qlp0[-8] * history[8])
|
||||
+ + (qlp0[-9] * history[9])
|
||||
+ + (qlp0[-10] * history[10])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 10:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ + (qlp0[-5] * history[5])
|
||||
+ + (qlp0[-6] * history[6])
|
||||
+ + (qlp0[-7] * history[7])
|
||||
+ + (qlp0[-8] * history[8])
|
||||
+ + (qlp0[-9] * history[9])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 9:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ + (qlp0[-5] * history[5])
|
||||
+ + (qlp0[-6] * history[6])
|
||||
+ + (qlp0[-7] * history[7])
|
||||
+ + (qlp0[-8] * history[8])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 8:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ + (qlp0[-5] * history[5])
|
||||
+ + (qlp0[-6] * history[6])
|
||||
+ + (qlp0[-7] * history[7])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 7:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ + (qlp0[-5] * history[5])
|
||||
+ + (qlp0[-6] * history[6])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 6:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ + (qlp0[-5] * history[5])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 5:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ + (qlp0[-4] * history[4])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 4:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ + (qlp0[-3] * history[3])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 3:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ + (qlp0[-2] * history[2])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 2:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * history[0])
|
||||
+ + (qlp0[-1] * history[1])
|
||||
+ ;
|
||||
+ ++history;
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ case 1:
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ sum = (qlp0[0] * (*(history++)));
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ default:
|
||||
+ {
|
||||
+ /* handle everything else: (order > 12)
|
||||
+ * with Duff's Device to reduce jumps */
|
||||
+ const unsigned n0 = (order + 7)/8;
|
||||
+ const int tmp = 0 - order - 1;
|
||||
+ register const FLAC__int32 *qlpd = &qlp_coeff[order];
|
||||
+ for( ; data_len != 0; --data_len) {
|
||||
+ register unsigned n = n0;
|
||||
+ sum = 0;
|
||||
+ qlp = qlpd;
|
||||
+ history = &data[tmp];
|
||||
+
|
||||
+ switch(order%8) {
|
||||
+ case 0: do {
|
||||
+ sum += (*(--qlp)) * (*(++history));
|
||||
+ case 7: sum += (*(--qlp)) * (*(++history));
|
||||
+ case 6: sum += (*(--qlp)) * (*(++history));
|
||||
+ case 5: sum += (*(--qlp)) * (*(++history));
|
||||
+ case 4: sum += (*(--qlp)) * (*(++history));
|
||||
+ case 3: sum += (*(--qlp)) * (*(++history));
|
||||
+ case 2: sum += (*(--qlp)) * (*(++history));
|
||||
+ case 1: sum += (*(--qlp)) * (*(++history));
|
||||
+ } while (--n);
|
||||
+ }
|
||||
+
|
||||
+ *(data++) = *(residual++) + (sum >> lp_quantization);
|
||||
+ }
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#if 0
|
||||
+void FLAC__lpc_restore_signal_orig(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[])
|
||||
+{
|
||||
#ifdef FLAC__OVERFLOW_DETECT
|
||||
FLAC__int64 sumo;
|
||||
#endif
|
||||
@@ -339,6 +542,7 @@
|
||||
}
|
||||
*/
|
||||
}
|
||||
+#endif /* 0 */
|
||||
|
||||
void FLAC__lpc_restore_signal_wide(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[])
|
||||
{
|
||||
diff -ru flac-1.1.2.OLD/src/libFLAC/Makefile.lite flac-1.1.2.NEW/src/libFLAC/Makefile.lite
|
||||
--- flac-1.1.2.OLD/src/libFLAC/Makefile.lite 2005-01-27 11:08:35.000000000 +1100
|
||||
+++ flac-1.1.2.NEW/src/libFLAC/Makefile.lite 2005-10-16 10:13:29.000000000 +1000
|
||||
@@ -41,7 +41,7 @@
|
||||
ifeq ($(SOLARIS_BUILD),yes)
|
||||
DEFINES = -DFLAC__NO_ASM -DFLAC__ALIGN_MALLOC_DATA
|
||||
else
|
||||
-DEFINES = -DFLAC__CPU_IA32 -DFLAC__USE_3DNOW -DFLAC__HAS_NASM -DFLAC__ALIGN_MALLOC_DATA
|
||||
+DEFINES = -DFLAC__CPU_UNKNOWN -DFLAC__NO_ASM -DFLAC__ALIGN_MALLOC_DATA -DFLAC__INTEGER_ONLY_LIBRARY
|
||||
endif
|
||||
endif
|
||||
INCLUDES = -I./include -I$(topdir)/include
|
||||
@@ -50,14 +50,6 @@
|
||||
ifeq ($(DARWIN_BUILD),yes)
|
||||
SRCS_S = \
|
||||
ppc/as/lpc_asm.s
|
||||
-else
|
||||
-ifeq ($(SOLARIS_BUILD),yes)
|
||||
-else
|
||||
-SRCS_NASM = \
|
||||
- ia32/cpu_asm.nasm \
|
||||
- ia32/fixed_asm.nasm \
|
||||
- ia32/lpc_asm.nasm
|
||||
-endif
|
||||
endif
|
||||
|
||||
SRCS_C = \
|
||||
@@ -66,7 +58,6 @@
|
||||
cpu.c \
|
||||
crc.c \
|
||||
file_decoder.c \
|
||||
- file_encoder.c \
|
||||
fixed.c \
|
||||
float.c \
|
||||
format.c \
|
||||
@@ -76,10 +67,7 @@
|
||||
metadata_iterators.c \
|
||||
metadata_object.c \
|
||||
seekable_stream_decoder.c \
|
||||
- seekable_stream_encoder.c \
|
||||
- stream_decoder.c \
|
||||
- stream_encoder.c \
|
||||
- stream_encoder_framing.c
|
||||
+ stream_decoder.c
|
||||
|
||||
include $(topdir)/build/lib.mk
|
||||
|
Loading…
Reference in New Issue
Block a user