summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-09-17 19:30:48 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-09-17 19:30:48 +0200
commit3d6df5473607ae6ba0542285582cfec0f5196d38 (patch)
tree2363296962be517e95b7907626ef58b31cf7d551
parentbd2f41ee73b6c681b1c16d9aeb15bb5a67ad4e73 (diff)
add support for VP8 codec
-rw-r--r--package/ffmpeg/Makefile26
-rw-r--r--package/libvpx/Makefile41
-rw-r--r--package/libvpx/patches/patch-build_make_Makefile24
-rw-r--r--package/libvpx/patches/patch-build_make_configure_sh11
-rw-r--r--package/libvpx/patches/patch-vp8_common_arm_bilinearfilter_arm_c15
-rw-r--r--package/libvpx/patches/patch-vp8_vp8cx_arm_mk11
6 files changed, 121 insertions, 7 deletions
diff --git a/package/ffmpeg/Makefile b/package/ffmpeg/Makefile
index 781dcd329..debea9675 100644
--- a/package/ffmpeg/Makefile
+++ b/package/ffmpeg/Makefile
@@ -21,19 +21,21 @@ PKGSC_FFPLAY:= multimedia
PKGSS_FFPLAY:= libsdl libpthread libffmpeg
PKGSB_FFPLAY:= sdl
PKGSD_FFMPEG:= ffmpeg video converter
-PKGSD_FFMPEG:= multimedia
+PKGSC_FFMPEG:= multimedia
PKGSD_FFSERVER:= streaming server
-PKGSD_FFSERVER:= multimedia
+PKGSC_FFSERVER:= multimedia
PKGSD_FFPROBE:= simple multimedia stream analyzer
-PKGSD_FFPROBE:= multimedia
+PKGSC_FFPROBE:= multimedia
+
+PKG_FLAVOURS_LIBFFMPEG:= WITH_AAC WITH_MP3 WITH_VP8
-PKG_FLAVOURS_LIBFFMPEG:= WITH_AAC WITH_MP3
PKGFD_WITH_AAC:= with AAC encoding support
PKGFS_WITH_AAC:= libfaac
PKGFB_WITH_AAC:= faac
ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y)
PKG_FDEPENDS+= libfaac
endif
+
PKGFD_WITH_MP3:= with MP3 encoding support
PKGFS_WITH_MP3:= libmp3lame
PKGFB_WITH_MP3:= lame
@@ -41,14 +43,21 @@ ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
PKG_FDEPENDS+= libmp3lame
endif
+PKGFD_WITH_VP8:= with VP8 encoding support
+PKGFS_WITH_VP8:= libvpx
+PKGFB_WITH_VP8:= libvpx
+ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y)
+PKG_FDEPENDS+= libvpx
+endif
+
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBFFMPEG,libffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_FDEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,FFMPEG,ffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFMPEG},${PKGSD_FFMPEG}))
-$(eval $(call PKG_template,FFSERVER,ffserver,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFSERVER},${PKGSD_FFSERVER}))
-$(eval $(call PKG_template,FFPROBE,ffprobe,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFPROBE},${PKGSD_FFPROBE}))
+$(eval $(call PKG_template,FFMPEG,ffmpeg,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFMPEG},${PKGSC_FFMPEG}))
+$(eval $(call PKG_template,FFSERVER,ffserver,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFSERVER},${PKGSC_FFSERVER}))
+$(eval $(call PKG_template,FFPROBE,ffprobe,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_FFPROBE},${PKGSC_FFPROBE}))
$(eval $(call PKG_template,FFPLAY,ffplay,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_FFPLAY},${PKGSD_FFPLAY},${PKGSC_FFPLAY}))
TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
@@ -96,6 +105,9 @@ endif
ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
CONFIGURE_ARGS+= --enable-libmp3lame
endif
+ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y)
+CONFIGURE_ARGS+= --enable-libvpx
+endif
libffmpeg-install:
${INSTALL_DIR} ${IDIR_LIBFFMPEG}/usr/lib
diff --git a/package/libvpx/Makefile b/package/libvpx/Makefile
new file mode 100644
index 000000000..d7344ed87
--- /dev/null
+++ b/package/libvpx/Makefile
@@ -0,0 +1,41 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= libvpx
+PKG_VERSION:= 0.9.7
+PKG_RELEASE:= 1
+PKG_MD5SUM:= bd888cffde8d9c3061c7fd719b0cd4ce
+PKG_DESCR:= VP8 codec library
+PKG_SECTION:= libs
+PKG_URL:= http://www.webmproject.org/about/
+PKG_SITES:= http://webm.googlecode.com/files/
+
+PKG_SYSTEM_DEPENDS:= sharp-zaurus
+
+DISTFILES:= ${PKG_NAME}-v${PKG_VERSION}-p1.tar.bz2
+WRKDIST= $(WRKDIR)/${PKG_NAME}-v${PKG_VERSION}-p1
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBVPX,libvpx,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:= minimal
+ifeq ($(ADK_TARGET_SYSTEM_SHARP_ZAURUS),y)
+CONFIGURE_ARGS+= --target=armv5te-linux-gcc
+endif
+CONFIGURE_ARGS+= --prefix=/usr \
+ --disable-install-docs \
+ --disable-install-bins \
+ --enable-install-libs \
+ --disable-examples \
+ --enable-shared
+ALL_TARGET:=
+
+libvpx-install:
+ $(INSTALL_DIR) $(IDIR_LIBVPX)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libvpx.so* \
+ $(IDIR_LIBVPX)/usr/lib
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/libvpx/patches/patch-build_make_Makefile b/package/libvpx/patches/patch-build_make_Makefile
new file mode 100644
index 000000000..e1a6d5fa8
--- /dev/null
+++ b/package/libvpx/patches/patch-build_make_Makefile
@@ -0,0 +1,24 @@
+--- libvpx-v0.9.7-p1.orig/build/make/Makefile 2011-08-15 23:02:45.000000000 +0200
++++ libvpx-v0.9.7-p1/build/make/Makefile 2011-09-17 18:03:25.467990966 +0200
+@@ -193,8 +193,8 @@ endif
+ define linker_template
+ $(1): $(filter-out -%,$(2))
+ $(1):
+- $(if $(quiet),@echo " [LD] $$@")
+- $(qexec)$$(LD) $$(strip $$(INTERNAL_LDFLAGS) $$(LDFLAGS) -o $$@ $(2) $(3) $$(extralibs))
++ $(if $(quiet),@echo " [CC] $$@")
++ $(qexec)$$(CC) $$(strip $$(INTERNAL_LDFLAGS) $$(LDFLAGS) -o $$@ $(2) $(3) $$(extralibs))
+ endef
+ # make-3.80 has a bug with expanding large input strings to the eval function,
+ # which was triggered in some cases by the following component of
+@@ -227,8 +227,8 @@ define so_template
+ #
+ # This needs further abstraction for dealing with non-GNU linkers.
+ $(1):
+- $(if $(quiet),@echo " [LD] $$@")
+- $(qexec)$$(LD) -shared $$(LDFLAGS) \
++ $(if $(quiet),@echo " [CC] $$@")
++ $(qexec)$$(CC) -shared $$(LDFLAGS) \
+ -Wl,--no-undefined -Wl,-soname,$$(SONAME) \
+ -Wl,--version-script,$$(SO_VERSION_SCRIPT) -o $$@ \
+ $$(filter %.o,$$?) $$(extralibs)
diff --git a/package/libvpx/patches/patch-build_make_configure_sh b/package/libvpx/patches/patch-build_make_configure_sh
new file mode 100644
index 000000000..42ab9785a
--- /dev/null
+++ b/package/libvpx/patches/patch-build_make_configure_sh
@@ -0,0 +1,11 @@
+--- libvpx-v0.9.7-p1.orig/build/make/configure.sh 2011-08-15 23:02:45.000000000 +0200
++++ libvpx-v0.9.7-p1/build/make/configure.sh 2011-09-17 17:48:07.667986440 +0200
+@@ -287,7 +287,7 @@ check_cpp() {
+ check_ld() {
+ log check_ld "$@"
+ check_cc $@ \
+- && check_cmd ${LD} ${LDFLAGS} "$@" -o ${TMP_X} ${TMP_O} ${extralibs}
++ && check_cmd ${CC} ${LDFLAGS} "$@" -o ${TMP_X} ${TMP_O} ${extralibs}
+ }
+
+ check_header(){
diff --git a/package/libvpx/patches/patch-vp8_common_arm_bilinearfilter_arm_c b/package/libvpx/patches/patch-vp8_common_arm_bilinearfilter_arm_c
new file mode 100644
index 000000000..1a5757a9a
--- /dev/null
+++ b/package/libvpx/patches/patch-vp8_common_arm_bilinearfilter_arm_c
@@ -0,0 +1,15 @@
+--- libvpx-v0.9.7-p1.orig/vp8/common/arm/bilinearfilter_arm.c 2011-08-15 23:02:45.000000000 +0200
++++ libvpx-v0.9.7-p1/vp8/common/arm/bilinearfilter_arm.c 2011-09-17 18:14:27.977994106 +0200
+@@ -29,10 +29,10 @@ void vp8_filter_block2d_bil_armv6
+ unsigned short FData[36*16]; /* Temp data buffer used in filtering */
+
+ /* First filter 1-D horizontally... */
+- vp8_filter_block2d_bil_first_pass_armv6(src_ptr, FData, src_pitch, Height + 1, Width, HFilter);
++ //vp8_filter_block2d_bil_first_pass_armv6(src_ptr, FData, src_pitch, Height + 1, Width, HFilter);
+
+ /* then 1-D vertically... */
+- vp8_filter_block2d_bil_second_pass_armv6(FData, dst_ptr, dst_pitch, Height, Width, VFilter);
++ //vp8_filter_block2d_bil_second_pass_armv6(FData, dst_ptr, dst_pitch, Height, Width, VFilter);
+ }
+
+
diff --git a/package/libvpx/patches/patch-vp8_vp8cx_arm_mk b/package/libvpx/patches/patch-vp8_vp8cx_arm_mk
new file mode 100644
index 000000000..9c170c84f
--- /dev/null
+++ b/package/libvpx/patches/patch-vp8_vp8cx_arm_mk
@@ -0,0 +1,11 @@
+--- libvpx-v0.9.7-p1.orig/vp8/vp8cx_arm.mk 2011-08-15 23:02:45.000000000 +0200
++++ libvpx-v0.9.7-p1/vp8/vp8cx_arm.mk 2011-09-17 18:09:12.317990227 +0200
+@@ -18,7 +18,7 @@ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/
+ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/dct_arm.c
+ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/dct_arm.h
+ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/encodemb_arm.h
+-VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/picklpf_arm.c
++VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/picklpf_arm.c
+ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/quantize_arm.c
+ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/quantize_arm.h
+ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/variance_arm.c