diff options
Diffstat (limited to 'package/ffmpeg/Makefile')
-rw-r--r-- | package/ffmpeg/Makefile | 125 |
1 files changed, 104 insertions, 21 deletions
diff --git a/package/ffmpeg/Makefile b/package/ffmpeg/Makefile index 266102769..aabe94394 100644 --- a/package/ffmpeg/Makefile +++ b/package/ffmpeg/Makefile @@ -4,32 +4,86 @@ include ${TOPDIR}/rules.mk PKG_NAME:= ffmpeg -PKG_VERSION:= 0.6.1 -PKG_RELEASE:= 1 -PKG_MD5SUM:= 4f5d732d25eedfb072251b5314ba2093 +PKG_VERSION:= 0.8.3 +PKG_RELEASE:= 2 +PKG_MD5SUM:= 556870ccfd6c9c0426c7dd86dd5beb62 PKG_DESCR:= record, convert and stream audio & video PKG_SECTION:= libs -PKG_DEPENDS:= libfaad2 -PKG_BUILDDEP:= faad2 +PKG_FDEPENDS:= libpthread PKG_URL:= http://www.ffmpeg.org/ PKG_SITES:= http://www.ffmpeg.org/releases/ PKG_ARCH_DEPENDS:= !cris -PKG_SUBPKGS:= FFMPEG FFPLAY +PKG_SUBPKGS:= LIBFFMPEG FFPLAY FFSERVER FFPROBE FFMPEG PKGSD_FFPLAY:= ffmpeg based video player PKGSC_FFPLAY:= multimedia -PKGSS_FFPLAY:= libsdl libpthread ffmpeg +PKGSS_FFPLAY:= libsdl libpthread libffmpeg PKGSB_FFPLAY:= sdl +PKGSD_FFMPEG:= ffmpeg video converter +PKGSC_FFMPEG:= multimedia +PKGSD_FFSERVER:= streaming server +PKGSC_FFSERVER:= multimedia +PKGSD_FFPROBE:= simple multimedia stream analyzer +PKGSC_FFPROBE:= multimedia + +PKG_FLAVOURS_LIBFFMPEG:= WITH_AAC WITH_MP3 WITH_VP8 WITH_THEORA +PKG_FLAVOURS_LIBFFMPEG+= WITH_XVID WITH_VORBIS + +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 +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 + +PKGFD_WITH_THEORA:= with Theora encoding support +PKGFS_WITH_THEORA:= libtheora +PKGFB_WITH_THEORA:= libtheora +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y) +PKG_FDEPENDS+= libtheora +endif + +PKGFD_WITH_XVID:= with Xvid encoding support +PKGFS_WITH_XVID:= libxvid +PKGFB_WITH_XVID:= xvidcore +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y) +PKG_FDEPENDS+= libxvid +endif + +PKGFD_WITH_VORBIS:= with Vorbis encoding support +PKGFS_WITH_VORBIS:= libvorbisenc +PKGFB_WITH_VORBIS:= libvorbis +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VORBIS),y) +PKG_FDEPENDS+= libvorbisenc +endif DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2 include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,FFMPEG,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(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},${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)) +TARGET_CFLAGS:= $(subst Os,O2,$(TARGET_CFLAGS)) ifeq ($(ADK_TARGET_CPU_WITH_MMX),y) CONFIGURE_CPU_OPTS:= --enable-mmx @@ -53,7 +107,6 @@ CONFIGURE_ARGS:= --prefix=/usr \ --arch=${CPU_ARCH} \ --enable-cross-compile \ --sysroot=${STAGING_TARGET_DIR} \ - --source-path=${WRKSRC} \ --cross-prefix=${TARGET_CROSS} \ --cc='$(TARGET_CC)' \ --host-cc=$(CC_FOR_BUILD) \ @@ -63,26 +116,56 @@ CONFIGURE_ARGS:= --prefix=/usr \ --disable-stripping \ --enable-shared \ --enable-static \ - --disable-ffmpeg \ - --disable-ffserver \ - --enable-ffplay \ --enable-gpl \ --enable-swscale \ --enable-postproc \ - --enable-libfaad \ ${CONFIGURE_CPU_OPTS} -post-install: - ${INSTALL_DIR} ${IDIR_FFMPEG}/usr/lib - ${CP} ${WRKINST}/usr/lib/libavdevice.so* ${IDIR_FFMPEG}/usr/lib - ${CP} ${WRKINST}/usr/lib/libavformat.so* ${IDIR_FFMPEG}/usr/lib - ${CP} ${WRKINST}/usr/lib/libavcodec.so* ${IDIR_FFMPEG}/usr/lib - ${CP} ${WRKINST}/usr/lib/libavutil.so* ${IDIR_FFMPEG}/usr/lib - ${CP} ${WRKINST}/usr/lib/libpostproc.so* ${IDIR_FFMPEG}/usr/lib - ${CP} ${WRKINST}/usr/lib/libswscale.so* ${IDIR_FFMPEG}/usr/lib +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_AAC),y) +CONFIGURE_ARGS+= --enable-nonfree --enable-libfaac +endif +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_MP3),y) +CONFIGURE_ARGS+= --enable-libmp3lame +endif +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VP8),y) +CONFIGURE_ARGS+= --enable-libvpx +endif +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_THEORA),y) +CONFIGURE_ARGS+= --enable-libtheora +endif +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_XVID),y) +CONFIGURE_ARGS+= --enable-libxvid +endif +ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_VORBIS),y) +CONFIGURE_ARGS+= --enable-libvorbis +endif + +libffmpeg-install: + ${INSTALL_DIR} ${IDIR_LIBFFMPEG}/usr/lib + ${CP} ${WRKINST}/usr/lib/libavdevice.so* ${IDIR_LIBFFMPEG}/usr/lib + ${CP} ${WRKINST}/usr/lib/libavformat.so* ${IDIR_LIBFFMPEG}/usr/lib + ${CP} ${WRKINST}/usr/lib/libavfilter.so* ${IDIR_LIBFFMPEG}/usr/lib + ${CP} ${WRKINST}/usr/lib/libavcodec.so* ${IDIR_LIBFFMPEG}/usr/lib + ${CP} ${WRKINST}/usr/lib/libavutil.so* ${IDIR_LIBFFMPEG}/usr/lib + ${CP} ${WRKINST}/usr/lib/libpostproc.so* ${IDIR_LIBFFMPEG}/usr/lib + ${CP} ${WRKINST}/usr/lib/libswscale.so* ${IDIR_LIBFFMPEG}/usr/lib ffplay-install: ${INSTALL_DIR} ${IDIR_FFPLAY}/usr/bin ${INSTALL_BIN} ${WRKINST}/usr/bin/ffplay ${IDIR_FFPLAY}/usr/bin +ffmpeg-install: + ${INSTALL_DIR} ${IDIR_FFMPEG}/usr/bin + ${INSTALL_BIN} ${WRKINST}/usr/bin/ffmpeg ${IDIR_FFMPEG}/usr/bin + +ffserver-install: + ${INSTALL_DIR} ${IDIR_FFSERVER}/etc + $(INSTALL_DATA) $(WRKBUILD)/doc/ffserver.conf ${IDIR_FFSERVER}/etc + ${INSTALL_DIR} ${IDIR_FFSERVER}/usr/bin + ${INSTALL_BIN} ${WRKINST}/usr/bin/ffserver ${IDIR_FFSERVER}/usr/bin + +ffprobe-install: + ${INSTALL_DIR} ${IDIR_FFPROBE}/usr/bin + ${INSTALL_BIN} ${WRKINST}/usr/bin/ffprobe ${IDIR_FFPROBE}/usr/bin + include ${TOPDIR}/mk/pkg-bottom.mk |