ports/118237: Ports: multimedia/ffmpeg fix configure option and add supports
Tatsuki Makino
tatsuki_makino at hotmail.com
Sat Nov 24 19:50:02 UTC 2007
>Number: 118237
>Category: ports
>Synopsis: Ports: multimedia/ffmpeg fix configure option and add supports
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Nov 24 19:50:02 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Tatsuki Makino
>Release: FreeBSD 6.3-PRERELEASE i386
>Organization:
>Environment:
FreeBSD FreeBSD-C2D.DHCP.test 6.3-PRERELEASE FreeBSD 6.3-PRERELEASE #0: Sat Nov 24 00:52:17 JST 2007 root at FreeBSD-C2D.DHCP.test:/usr/obj/usr/src/sys/SMP i386
>Description:
1. Add --cpu configure argument.
2. Add miscellaneous for bktr glab.
3. Add libamr_nb and libamr_wb support.
4. Add USE_GCC=4.2
>How-To-Repeat:
1. No problems. but disabled cmov and fast_cmov support on my machine
2. No problems. but I want to fix the video format to NTSC-J without environment variable.
3. No problems. but I want to do laziness. :-)
4.
ffmpeg -i ~/input.mpg -f mpeg -y ~/output.mpg
FFmpeg version SVN-r10657, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --cc (snip, without --disable-mmx)
(snip)
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. You may try recompiling using gcc >= 4.2.
Do not report crashes to FFmpeg developers.
>Fix:
Patch attached with submission follows:
--- Makefile.orig 2007-10-09 19:38:24.000000000 +0000
+++ Makefile 2007-11-24 19:09:00.000000000 +0000
@@ -63,6 +63,12 @@
MAN1+= ffmpeg.1 ffserver.1
.endif
+.if ${OSVERSION} < 700042
+. ifdef WITH_GCC42
+USE_GCC= 4.2
+. endif
+.endif
+
.ifdef(WITH_OPTIMIZED_CFLAGS)
CFLAGS:= ${CFLAGS:N-O*} -O3 -ffast-math -fomit-frame-pointer
.else
@@ -70,6 +76,17 @@
DEBUG_FLAGS+= -O2
.endif
+.ifdef WITH_CPU
+. if ${WITH_CPU:L} == "yes" || ${WITH_CPU:L} == "true"
+CONFIGURE_ARGS+= --cpu=${CPUTYPE}
+. else
+# CPUTYPE of i386+core2 matchine falls into prescott.
+CONFIGURE_ARGS+= --cpu=${WITH_CPU}
+. endif
+.elifdef CPUTYPE
+CONFIGURE_ARGS+= --cpu=${CPUTYPE}
+.endif
+
## a52
.if !defined(WITHOUT_LIBA52) && !defined(WITHOUT_A52)
LIB_DEPENDS+= a52.0:${PORTSDIR}/audio/liba52
@@ -191,6 +208,31 @@
CONFIGURE_ARGS+= --enable-libxvid
.endif
+## bktr
+.ifdef WITHOUT_BKTR
+CONFIGURE_ARGS+= --disable-demuxer=bktr
+.else
+. ifdef WITH_BKTR_VIDEO_FORMAT
+FFMPEG_CFLAGS+= -DVIDEO_FORMAT=${WITH_BKTR_VIDEO_FORMAT}
+. endif
+.endif
+
+## libamr-nb, libamr-wb
+.ifndef WITH_LIBAMR_NB && WITH_LIBAMR_WB \
+ && !exists(${LOCALBASE}/lib/libamrnb.so) \
+ && !exists(${LOCALBASE}/lib/libamrwb.so)
+CONFIGURE_ARGS+= --disable-muxer=amr \
+ --disable-demuxer=amr
+.endif
+.ifdef WITH_LIBAMR_NB || exists(${LOCALBASE}/lib/libamrnb.so)
+LIB_DEPENDS+= amrnb.3:${PORTSDIR}/audio/libamrnb
+CONFIGURE_ARGS+= --enable-libamr-nb
+.endif
+.ifdef WITH_LIBAMR_WB || exists(${LOCALBASE}/lib/libamrwb.so)
+LIB_DEPENDS+= amrwb.3:${PORTSDIR}/audio/libamrwb
+CONFIGURE_ARGS+= --enable-libamr-wb
+.endif
+
pre-everything::
.ifndef(WITHOUT_A52)
@${ECHO_MSG} 'You can disable liba52 support by defining WITHOUT_LIBA52'
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list