summaryrefslogtreecommitdiff
path: root/packages/ffmpeg/ffmpeg_git.bb
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-07-09 11:03:53 +0000
committerKoen Kooi <koen@openembedded.org>2008-07-09 11:03:53 +0000
commit0ab76ac762d6064c44e0e948dd25a1e467c94055 (patch)
treebecaced1e7b5c1703904eccc1eb927ae950b46f8 /packages/ffmpeg/ffmpeg_git.bb
parent09fb5fd7e22434f0a36a1588d8eca6e419e59786 (diff)
ffmpeg: move SRCREV to recipe so people can build the git version with optimizations for NEON
Diffstat (limited to 'packages/ffmpeg/ffmpeg_git.bb')
-rw-r--r--packages/ffmpeg/ffmpeg_git.bb132
1 files changed, 132 insertions, 0 deletions
diff --git a/packages/ffmpeg/ffmpeg_git.bb b/packages/ffmpeg/ffmpeg_git.bb
new file mode 100644
index 0000000000..c287b86623
--- /dev/null
+++ b/packages/ffmpeg/ffmpeg_git.bb
@@ -0,0 +1,132 @@
+require ffmpeg.inc
+
+DEPENDS += "libgsm"
+
+PV = "0.4.9+${PR}+gitr${SRCREV}"
+PR = "r9"
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_armv7a = "1"
+
+FFBRANCH_arm = "arm-neon"
+FFBRANCH ?= "master"
+
+SRCREV = "1e8300e71f79963eacdad6b180d9a12c4f56318d"
+SRCREV_arm = "4cc48b756abd09baa7b31909ebbc0c09be2c8e5a"
+SRC_URI = "git://git.mansr.com/ffmpeg.mru;protocol=git;branch=${FFBRANCH} \
+"
+
+S = "${WORKDIR}/git"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -ftree-vectorize -fomit-frame-pointer -O4 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
+EXTRA_FFCONF ?= ""
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --enable-pthreads \
+ --disable-stripping \
+ --enable-gpl \
+ --enable-nonfree \
+ --enable-postproc \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ --prefix=${prefix} \
+ \
+ --enable-x11grab \
+ --enable-libfaac \
+ --enable-libfaad \
+ --enable-libfaadbin \
+ --enable-libgsm \
+ --enable-libmp3lame \
+ --enable-swscale \
+ --arch=${TARGET_ARCH} \
+ --enable-cross-compile \
+ --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ --enable-hardcoded-tables \
+ ${EXTRA_FFCONF} \
+"
+
+do_configure() {
+ cd ${S} ; git clone git://git.mplayerhq.hu/libswscale || true
+ mkdir -p ${B}
+ cd ${B}
+ ${S}/configure ${EXTRA_OECONF}
+ sed -i -e s:Os:O4:g ${B}/config.h
+}
+
+do_stage() {
+ for lib in libavcodec libavdevice libavformat \
+ libavutil libpostproc libswscale
+ do
+ oe_libinstall -a -so -C $lib $lib ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/$lib
+ done
+
+ install -d ${STAGING_INCDIR}/ffmpeg
+
+ install -m 0644 ${S}/libavcodec/avcodec.h ${STAGING_INCDIR}/ffmpeg/avcodec.h
+ install -m 0644 ${S}/libavcodec/opt.h ${STAGING_INCDIR}/ffmpeg/opt.h
+ install -m 0644 ${S}/libavcodec/avcodec.h ${STAGING_INCDIR}/libavcodec/avcodec.h
+ install -m 0644 ${S}/libavcodec/opt.h ${STAGING_INCDIR}/libavcodec/opt.h
+
+ install -m 0644 ${S}/libavdevice/avdevice.h ${STAGING_INCDIR}/ffmpeg/avdevice.h
+
+ for h in avformat.h avio.h rtp.h rtsp.h rtspcodes.h
+ do
+ install -m 0644 ${S}/libavformat/$h ${STAGING_INCDIR}/ffmpeg/$h
+ done
+
+ for h in adler32.h avstring.h avutil.h base64.h bswap.h \
+ common.h crc.h fifo.h integer.h intfloat_readwrite.h \
+ log.h lzo.h mathematics.h md5.h mem.h random.h \
+ rational.h sha1.h
+ do
+ install -m 0644 ${S}/libavutil/$h ${STAGING_INCDIR}/ffmpeg/$h
+ install -m 0644 ${S}/libavutil/$h ${STAGING_INCDIR}/libavutil/$h
+ done
+
+ install -m 0644 ${S}/libswscale/swscale.h ${STAGING_INCDIR}/ffmpeg/swscale.h
+ install -m 0644 ${S}/libswscale/rgb2rgb.h ${STAGING_INCDIR}/ffmpeg/rgb2rgb.h
+
+ install -d ${STAGING_INCDIR}/libpostproc
+ install -d ${STAGING_INCDIR}/postproc
+ install -m 0644 ${S}/libpostproc/postprocess.h ${STAGING_INCDIR}/libpostproc/postprocess.h
+ install -m 0644 ${S}/libpostproc/postprocess.h ${STAGING_INCDIR}/postproc/postprocess.h
+}
+
+PACKAGES += "libavcodec libavcodec-dev libavcodec-dbg \
+ libavdevice libavdevice-dev libavdevice-dbg \
+ libavformat libavformat-dev libavformat-dbg \
+ libavutil libavutil-dev libavutil-dbg \
+ libpostproc libpostproc-dev libpostproc-dbg \
+ libswscale libswscale-dev libswscale-dbg"
+
+FILES_${PN}-dev = "${includedir}"
+FILES_libavcodec = "${libdir}/libavcodec*.so.*"
+FILES_libavcodec-dev = "${libdir}/libavcodec*.so ${libdir}/pkgconfig/libavcodec.pc ${libdir}/libavcodec*.a"
+FILES_libavcodec-dbg += "${libdir}/.debug/libavcodec*"
+
+FILES_libavdevice = "${libdir}/libavdevice*.so.*"
+FILES_libavdevice-dev = "${libdir}/libavdevice*.so ${libdir}/pkgconfig/libavdevice.pc ${libdir}/libavdevice*.a"
+FILES_libavdevice-dbg += "${libdir}/.debug/libavdevice*"
+
+FILES_libavformat = "${libdir}/libavformat*.so.*"
+FILES_libavformat-dev = "${libdir}/libavformat*.so ${libdir}/pkgconfig/libavformat.pc ${libdir}/libavformat*.a"
+FILES_libavformat-dbg += "${libdir}/.debug/libavformat*"
+
+FILES_libavutil = "${libdir}/libavutil*.so.*"
+FILES_libavutil-dev = "${libdir}/libavutil*.so ${libdir}/pkgconfig/libavutil.pc ${libdir}/libavutil*.a"
+FILES_libavutil-dbg += "${libdir}/.debug/libavutil*"
+
+FILES_libpostproc = "${libdir}/libpostproc*.so.*"
+FILES_libpostproc-dev = "${libdir}/libpostproc*.so ${libdir}/pkgconfig/libpostproc.pc ${libdir}/libpostproc*.a ${includedir}/postproc"
+FILES_libpostproc-dbg += "${libdir}/.debug/libpostproc*"
+
+FILES_libswscale = "${libdir}/libswscale*.so.*"
+FILES_libswscale-dev = "${libdir}/libswscale*.so ${libdir}/pkgconfig/libswscale.pc ${libdir}/libswscale*.a"
+FILES_libswscale-dbg += "${libdir}/.debug/libswscale*"