Update FFmpeg to 20110408 snapshot.

- Enable WebM encoding.
- Stop stripping the shared libraries which explains why I was
   seeing no symbol table with the shared libraries.
- Build all of FFmpeg with -fomit-frame-pointer on i386 instead of
   hacking the various Makefile's and having to add more files as
   further updates are made. Use default CFLAGS (-O2) on i386 now too
   instead of overriding with -O.
- Remove the UINT64_C hack.
- Update HOMEPAGE to use the ffmpeg.org domain.
- Various other cleaning up and fixes for the port.

From Brad, ok dcoppa@
This commit is contained in:
sthen 2011-04-12 22:59:07 +00:00
parent 63823c9382
commit d6629d69dc
20 changed files with 114 additions and 604 deletions

View File

@ -1,24 +1,22 @@
# $OpenBSD: Makefile,v 1.69 2011/03/29 20:01:43 edd Exp $
# $OpenBSD: Makefile,v 1.70 2011/04/12 22:59:07 sthen Exp $
COMMENT= audio/video converter and streamer with bktr(4) support
COMMENT= audio/video converter and streamer
V= 20110306
V= 20110408
DISTNAME= ffmpeg-git-${V}
PKGNAME= ffmpeg-${V}
CATEGORIES= graphics multimedia
#MASTER_SITES= http://comstyle.com/source/ \
# http://gormsby.com/downloads/
MASTER_SITES= http://theunixzoo.co.uk/distfiles/
MASTER_SITES= http://comstyle.com/source/
SHARED_LIBS= avcodec 15.0 \
SHARED_LIBS= avcodec 15.1 \
avdevice 4.0 \
avfilter 2.0 \
avformat 14.0 \
avutil 8.0 \
avfilter 2.1 \
avformat 14.1 \
avutil 8.1 \
postproc 14.0 \
swscale 3.0
swscale 3.1
HOMEPAGE= http://ffmpeg.mplayerhq.hu/
HOMEPAGE= http://ffmpeg.org/
MAINTAINER= Brad Smith <brad@comstyle.com>
@ -32,8 +30,8 @@ MODULES= gcc3
MODGCC3_ARCHES= sparc
WANTLIB= SDL X11 Xext Xfixes bz2 c faac gsm m mp3lame ogg \
orc-0.4 pthread schroedinger-1.0>=2 sndio speex theora \
theoradec theoraenc vorbis vorbisenc x264 z
orc-0.4 pthread schroedinger-1.0>=2 sndio speex \
theoradec theoraenc vorbis vorbisenc vpx x264 z
BUILD_DEPENDS= textproc/texi2html
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
@ -47,21 +45,12 @@ LIB_DEPENDS= archivers/bzip2 \
audio/gsm \
devel/sdl \
multimedia/libtheora \
multimedia/libvpx \
multimedia/schroedinger>=1.0.10 \
multimedia/x264
# does not compile with asm, we suspect binutils
.if ${MACHINE_ARCH:Mpowerpc}
CONFIGURE_ARGS += --disable-asm
.endif
.if ${MACHINE_ARCH:Marm}
# uses ARM EABI
CONFIGURE_ARGS+= --arch=generic
.endif
# inter-library dependencies for the current configuration
LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -lfaac -lgsm -lm -lmp3lame -logg -lorc-0.4 -lschroedinger-1.0 -lspeex -ltheora -lvorbis -lvorbisenc -lx264 -lz -pthread -Wl,-rpath,${LOCALBASE}/lib
LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -lfaac -lgsm -lm -lmp3lame -logg -lorc-0.4 -lschroedinger-1.0 -lspeex -ltheoradec -ltheoraenc -lvorbis -lvorbisenc -lvpx -lx264 -lz -pthread -Wl,-rpath,${LOCALBASE}/lib
LIBavdevice_EXTRALIBS=-L${X11BASE}/lib -lX11 -lXext -lXfixes -lm -lsndio -Wl,-rpath,${LOCALBASE}/lib -Wl,-rpath,${X11BASE}/lib
LIBavfilter_EXTRALIBS=-lm
LIBavformat_EXTRALIBS=-L${LOCALBASE}/lib -lbz2 -lm -Wl,-rpath,${LOCALBASE}/lib
@ -72,10 +61,19 @@ LIBswscale_EXTRALIBS=-lm
# configure wants a directory it can execute files in
WRKTMP= ${WRKDIR}/tmp
.if ${MACHINE_ARCH:Marm}
# uses ARM EABI
FFMPEG_ARCH= generic
.else
FFMPEG_ARCH= ${MACHINE_ARCH}
.endif
USE_GMAKE= Yes
CONFIGURE_STYLE= simple
CONFIGURE_ARGS+= ${CONFIGURE_SHARED} \
--arch=${FFMPEG_ARCH} \
--cc=${CC} \
--disable-altivec \
--disable-armv5te \
--disable-armv6 \
--disable-armv6t2 \
@ -95,10 +93,10 @@ CONFIGURE_ARGS+= ${CONFIGURE_SHARED} \
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-nonfree \
--enable-postproc \
--enable-pthreads \
--enable-runtime-cpudetect \
--enable-x11grab \
--extra-cflags="-I${LOCALBASE}/include -I${X11BASE}/include" \
@ -127,13 +125,12 @@ MAKE_ENV= V=1
MAKE_FLAGS= ${VERSION_FLAGS} \
LIBavcodec_EXTRALIBS="-lavutil ${LIBavcodec_EXTRALIBS}" \
LIBavdevice_EXTRALIBS="-lavcodec -lavformat -lavutil ${LIBavdevice_EXTRALIBS}" \
LIBavfilter_EXTRALIBS="-lavcodec -lavutil -lswscale ${LIBavfilter_EXTRALIBS}" \
LIBavdevice_EXTRALIBS="-lavformat -lavcodec -lavutil ${LIBavdevice_EXTRALIBS}" \
LIBavfilter_EXTRALIBS="-lavformat -lavcodec -lavutil -lswscale ${LIBavfilter_EXTRALIBS}" \
LIBavformat_EXTRALIBS="-lavcodec -lavutil ${LIBavformat_EXTRALIBS}" \
LIBavutil_EXTRALIBS="${LIBavutil_EXTRALIBS}" \
LIBpostproc_EXTRALIBS="-lavutil ${LIBpostproc_EXTRALIBS}" \
LIBswscale_EXTRALIBS="-lavutil ${LIBswscale_EXTRALIBS}"
FAKE_FLAGS= ${VERSION_FLAGS} \
LDCONFIG=true
@ -146,15 +143,7 @@ ALL_TARGET= all tools/qt-faststart
#REGRESS_TARGET= codectest
NO_REGRESS= Yes
HTML_DOCS= developer faq ffmpeg ffplay ffprobe ffserver \
general libavfilter
# When you are rolling your distfile, you need to get the version string
# from 'git describe --always' *before* you remove the .git directory.
MAKE_ENV += OBSD_VSTR=git-f4f4e12
post-extract:
@cp -f ${FILESDIR}/sndio_* ${WRKSRC}/libavdevice
HTML_DOCS= developer faq ffmpeg ffplay ffprobe ffserver general libavfilter
pre-configure:
@mkdir -p ${WRKTMP}

View File

@ -1,5 +1,5 @@
MD5 (ffmpeg-git-20110306.tar.gz) = sfTm9NP2uKSM6gBhiuAfoA==
RMD160 (ffmpeg-git-20110306.tar.gz) = ec7bfWXTeMQKDoHSTmnDQWZ/0Pk=
SHA1 (ffmpeg-git-20110306.tar.gz) = s6wHaPwZFMZRaaT+/LP+HiNaSCk=
SHA256 (ffmpeg-git-20110306.tar.gz) = Av5pUZYm1q+shteP/tHYeHgF98bB3whT20zIyq1x5L8=
SIZE (ffmpeg-git-20110306.tar.gz) = 4865660
MD5 (ffmpeg-git-20110408.tar.gz) = GV9WibAtytLHopbOtxeYDg==
RMD160 (ffmpeg-git-20110408.tar.gz) = pBoxhqc3fGEyRXfR4nY4gjeYTzc=
SHA1 (ffmpeg-git-20110408.tar.gz) = BgAK18qwlKSQraWfyPIPkLQMGA0=
SHA256 (ffmpeg-git-20110408.tar.gz) = zUR/dToHGxzUHzR/Tas/hYBxwFlPSG8QcN1KBSvfns4=
SIZE (ffmpeg-git-20110408.tar.gz) = 5138571

View File

@ -1,112 +0,0 @@
/*
* sndio play and grab interface
* Copyright (c) 2010 Jacob Meuser
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <sndio.h>
#include "libavformat/avformat.h"
#include "sndio_common.h"
static void movecb(void *addr, int delta)
{
AudioData *s = addr;
s->hwpos += delta * s->channels * s->bps;
}
av_cold int ff_sndio_open(AVFormatContext *s1, int is_output,
const char *audio_device)
{
AudioData *s = s1->priv_data;
struct sio_hdl *hdl = NULL;
struct sio_par par;
hdl = sio_open(audio_device, is_output ? SIO_PLAY : SIO_REC, 0);
if (!hdl) {
av_log(s1, AV_LOG_ERROR, "Could not open sndio device\n");
return AVERROR(EIO);
}
sio_initpar(&par);
par.bits = 16;
par.sig = 1;
par.le = SIO_LE_NATIVE;
if (is_output)
par.pchan = s->channels;
else
par.rchan = s->channels;
par.rate = s->sample_rate;
if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
av_log(s1, AV_LOG_ERROR, "Impossible to set sndio parameters\n");
goto fail;
}
if (par.bits != 16 || par.sig != 1 || par.le != SIO_LE_NATIVE ||
(is_output && (par.pchan != s->channels)) ||
(!is_output && (par.rchan != s->channels)) ||
(par.rate != s->sample_rate)) {
av_log(s1, AV_LOG_ERROR, "Could not set appropriate sndio parameters\n");
goto fail;
}
s->buffer_size = par.round * par.bps *
(is_output ? par.pchan : par.rchan);
s->buffer = av_malloc(s->buffer_size);
if (!s->buffer) {
av_log(s1, AV_LOG_ERROR, "Could not allocate buffer\n");
goto fail;
}
s->codec_id = par.le ? CODEC_ID_PCM_S16LE : CODEC_ID_PCM_S16BE;
s->channels = is_output ? par.pchan : par.rchan;
s->sample_rate = par.rate;
s->bps = par.bps;
sio_onmove(hdl, movecb, s);
if (!sio_start(hdl)) {
av_log(s1, AV_LOG_ERROR, "Could not start sndio\n");
goto fail;
}
s->hdl = hdl;
return 0;
fail:
if (s->buffer)
av_free(s->buffer);
if (hdl)
sio_close(hdl);
return AVERROR(EIO);
}
int ff_sndio_close(AudioData *s)
{
if (s->buffer)
av_free(s->buffer);
if (s->hdl)
sio_close(s->hdl);
return 0;
}

View File

@ -1,44 +0,0 @@
/*
* sndio play and grab interface
* Copyright (c) 2010 Jacob Meuser
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVDEVICE_SNDIO_COMMON_H
#define AVDEVICE_SNDIO_COMMON_H
#include <sndio.h>
#include "config.h"
#include "libavformat/avformat.h"
typedef struct {
struct sio_hdl *hdl;
int sample_rate;
int channels;
int bps;
enum CodecID codec_id;
int buffer_size;
uint8_t *buffer;
int buffer_ptr;
long long hwpos, softpos;
} AudioData;
int ff_sndio_open(AVFormatContext *, int, const char *);
int ff_sndio_close(AudioData *);
#endif /* AVDEVICE_SNDIO_COMMON_H */

View File

@ -1,105 +0,0 @@
/*
* sndio play and grab interface
* Copyright (c) 2010 Jacob Meuser
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <sndio.h>
#include "libavformat/avformat.h"
#include "sndio_common.h"
static av_cold int audio_read_header(AVFormatContext *s1,
AVFormatParameters *ap)
{
AudioData *s = s1->priv_data;
AVStream *st;
int ret;
if (ap->sample_rate <= 0 || ap->channels <= 0)
return AVERROR(EINVAL);
st = av_new_stream(s1, 0);
if (!st)
return AVERROR(ENOMEM);
s->sample_rate = ap->sample_rate;
s->channels = ap->channels;
ret = ff_sndio_open(s1, 0, s1->filename);
if (ret < 0)
return AVERROR(EIO);
/* take real parameters */
st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
st->codec->codec_id = s->codec_id;
st->codec->sample_rate = s->sample_rate;
st->codec->channels = s->channels;
av_set_pts_info(st, 64, 1, 1000000); /* 64 bits pts in us */
return 0;
}
static int audio_read_packet(AVFormatContext *s1, AVPacket *pkt)
{
AudioData *s = s1->priv_data;
int ret;
int64_t cur_time, bdelay;
if ((ret = av_new_packet(pkt, s->buffer_size)) < 0)
return ret;
ret = sio_read(s->hdl, pkt->data, pkt->size);
if (ret == 0 || sio_eof(s->hdl)) {
av_free_packet(pkt);
pkt->size = 0;
return AVERROR_EOF;
}
pkt->size = ret;
s->softpos += ret;
/* compute pts of the start of the packet */
cur_time = av_gettime();
bdelay = ret + s->hwpos - s->softpos;
/* convert to wanted units */
pkt->pts = cur_time - ((bdelay * 1000000) /
(s->bps * s->channels * s->sample_rate));
return 0;
}
static av_cold int audio_read_close(AVFormatContext *s1)
{
AudioData *s = s1->priv_data;
ff_sndio_close(s);
return 0;
}
AVInputFormat ff_sndio_demuxer = {
.name = "sndio",
.long_name = NULL_IF_CONFIG_SMALL("sndio audio capture"),
.priv_data_size = sizeof(AudioData),
.read_header = audio_read_header,
.read_packet = audio_read_packet,
.read_close = audio_read_close,
.flags = AVFMT_NOFILE,
};

View File

@ -1,91 +0,0 @@
/*
* sndio play and grab interface
* Copyright (c) 2010 Jacob Meuser
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <sndio.h>
#include "libavformat/avformat.h"
#include "sndio_common.h"
static av_cold int audio_write_header(AVFormatContext *s1)
{
AudioData *s = s1->priv_data;
AVStream *st;
int ret;
st = s1->streams[0];
s->sample_rate = st->codec->sample_rate;
s->channels = st->codec->channels;
ret = ff_sndio_open(s1, 1, s1->filename);
if (ret < 0)
return AVERROR(EIO);
else
return 0;
}
static int audio_write_packet(AVFormatContext *s1, AVPacket *pkt)
{
AudioData *s = s1->priv_data;
int len, ret;
int size = pkt->size;
uint8_t *buf= pkt->data;
while (size > 0) {
len = s->buffer_size - s->buffer_ptr;
if (len > size)
len = size;
memcpy(s->buffer + s->buffer_ptr, buf, len);
buf += len;
size -= len;
s->buffer_ptr += len;
if (s->buffer_ptr >= s->buffer_size) {
ret = sio_write(s->hdl, s->buffer, s->buffer_size);
if (ret == 0 || sio_eof(s->hdl))
return AVERROR(EIO);
s->softpos += ret;
s->buffer_ptr = 0;
}
}
return 0;
}
static int audio_write_trailer(AVFormatContext *s1)
{
AudioData *s = s1->priv_data;
ff_sndio_close(s);
return 0;
}
AVOutputFormat ff_sndio_muxer = {
.name = "sndio",
.long_name = NULL_IF_CONFIG_SMALL("sndio audio playback"),
.priv_data_size = sizeof(AudioData),
/* XXX: we make the assumption that the soundcard accepts this format */
/* XXX: find better solution with "preinit" method, needed also in
other formats */
.audio_codec = AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE),
.video_codec = CODEC_ID_NONE,
.write_header = audio_write_header,
.write_packet = audio_write_packet,
.write_trailer = audio_write_trailer,
.flags = AVFMT_NOFILE,
};

View File

@ -1,15 +0,0 @@
$OpenBSD: patch-Makefile,v 1.8 2011/03/29 20:01:43 edd Exp $
--- Makefile.orig Wed Mar 23 20:34:51 2011
+++ Makefile Wed Mar 23 20:37:24 2011
@@ -104,8 +104,9 @@ SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
.version: M=@
version.h .version:
- $(M)$(VERSION_SH) $(SRC_PATH) version.h $(EXTRA_VERSION)
- $(Q)touch .version
+# $(M)$(VERSION_SH) $(SRC_PATH) version.h $(EXTRA_VERSION)
+# $(Q)touch .version
+ echo "#define FFMPEG_VERSION \"${OBSD_VSTR}\"" > ${SRC_PATH}/version.h
# force version.sh to run whenever version might have changed
-include .version

View File

@ -1,35 +1,15 @@
$OpenBSD: patch-configure,v 1.25 2011/03/29 20:01:43 edd Exp $
--- configure.orig Sun Mar 6 15:03:48 2011
+++ configure Mon Mar 7 00:29:31 2011
@@ -1066,6 +1066,7 @@ HAVE_LIST="
setmode
socklen_t
soundcard_h
+ sndio_h
poll_h
setrlimit
strerror_r
@@ -1405,6 +1406,8 @@ jack_indev_deps="jack_jack_h"
libdc1394_indev_deps="libdc1394"
oss_indev_deps_any="soundcard_h sys_soundcard_h"
oss_outdev_deps_any="soundcard_h sys_soundcard_h"
+sndio_indev_deps="sndio_h"
+sndio_outdev_deps="sndio_h"
v4l_indev_deps="linux_videodev_h"
v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h"
vfwcap_indev_deps="capCreateCaptureWindow vfwcap_defines"
@@ -1589,6 +1592,10 @@ cpu="generic"
target_os_default=$(tolower $(uname -s))
host_os=$target_os_default
+if test "$target_os_default" = "openbsd"; then
+ arch_default=$(arch -s)
+fi
+
# configurable options
enable avcodec
enable avdevice
@@ -2335,6 +2342,7 @@ case $target_os in
$OpenBSD: patch-configure,v 1.26 2011/04/12 22:59:07 sthen Exp $
--- configure.orig Wed Apr 6 17:29:22 2011
+++ configure Fri Apr 8 16:46:29 2011
@@ -1087,7 +1087,6 @@ HAVE_LIST="
lzo1x_999_compress
machine_ioctl_bt848_h
machine_ioctl_meteor_h
- malloc_h
MapViewOfFile
memalign
mkstemp
@@ -2389,6 +2388,7 @@ case $target_os in
enable pic
disable symver
SHFLAGS='-shared'
@ -37,41 +17,52 @@ $OpenBSD: patch-configure,v 1.25 2011/03/29 20:01:43 edd Exp $
oss_indev_extralibs="-lossaudio"
oss_outdev_extralibs="-lossaudio"
;;
@@ -2822,7 +2830,7 @@ enabled libdirac && add_cflags $(pkg-config --cflags
require libdirac libdirac_decoder/dirac_parser.h dirac_decoder_init $(pkg-config --libs dirac) &&
require libdirac libdirac_encoder/dirac_encoder.h dirac_encoder_init $(pkg-config --libs dirac)
@@ -2556,7 +2556,7 @@ die_license_disabled version3 libopencore_amrwb
enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; }
-disabled optimizations || check_cflags -fomit-frame-pointer
+enabled x86_32 && check_cflags -fomit-frame-pointer
enable_pic() {
enable pic
@@ -2751,8 +2751,6 @@ if enabled asm; then
$nogas "GNU assembler not found, install gas-preprocessor"
fi
-check_ldflags -Wl,--as-needed
-
if check_func dlopen; then
ldl=
elif check_func dlopen -ldl; then
@@ -2885,7 +2883,7 @@ enabled libdirac && require_pkg_config dirac
"dirac_decoder_init dirac_encoder_init"
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
enabled libfreetype && add_cflags $(pkg-config --cflags freetype2) && require libfreetype ft2build.h FT_Init_FreeType -lfreetype
-enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm
+enabled libgsm && require libgsm gsm.h gsm_create -lgsm
enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame
enabled libnut && require libnut libnut.h nut_demuxer_init -lnut
enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
@@ -2890,11 +2898,14 @@ check_header dev/ic/bt8xx.h
check_header sys/soundcard.h
check_header soundcard.h
+check_header sndio.h
enabled_any alsa_indev alsa_outdev && check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound
enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack
+enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio
+
enabled x11grab &&
check_header X11/Xlib.h &&
check_header X11/extensions/XShm.h &&
@@ -2930,9 +2941,6 @@ enabled extra_warnings && check_cflags -Winline
@@ -2997,8 +2995,6 @@ enabled extra_warnings && check_cflags -Winline
# add some linker flags
check_ldflags -Wl,--warn-common
-check_ldflags -Wl,--as-needed
-check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
-test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic
echo "X{};" > $TMPV
if test_ldflags -Wl,--version-script,$TMPV; then
@@ -3368,8 +3376,7 @@ Version: $version
@@ -3355,7 +3351,7 @@ EOF
test -n "$malloc_prefix" &&
echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH
-if enabled small || disabled optimizations; then
+if enabled small; then
echo "#undef av_always_inline" >> $TMPH
if enabled small; then
echo "#define av_always_inline inline" >> $TMPH
@@ -3438,8 +3434,7 @@ Version: $version
Requires: $(enabled shared || echo $requires)
Requires.private: $(enabled shared && echo $requires)
Conflicts:
@ -81,7 +72,7 @@ $OpenBSD: patch-configure,v 1.25 2011/03/29 20:01:43 edd Exp $
Cflags: -I\${includedir}
EOF
cat <<EOF > $name/$name-uninstalled.pc
@@ -3388,10 +3395,10 @@ Cflags: -I\${includedir}
@@ -3458,10 +3453,10 @@ Cflags: -I\${includedir}
EOF
}
@ -93,9 +84,9 @@ $OpenBSD: patch-configure,v 1.25 2011/03/29 20:01:43 edd Exp $
-pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION"
-pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
+pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" "$LIBavutil_EXTRALIBS"
+pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$LIBavcodec_EXTRALIBS"
+pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$LIBavformat_EXTRALIBS" "libavcodec = $LIBAVCODEC_VERSION"
+pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$LIBavdevice_EXTRALIBS" "libavformat = $LIBAVFORMAT_VERSION"
+pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$LIBavfilter_EXTRALIBS"
+pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION" "$LIBpostproc_EXTRALIBS"
+pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBswscale_EXTRALIBS" "libavutil = $LIBAVUTIL_VERSION"
+pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$LIBavcodec_EXTRALIBS" "libavutil"
+pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$LIBavformat_EXTRALIBS" "libavcodec libavutil"
+pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$LIBavdevice_EXTRALIBS" "libavformat libavcodec libavutil"
+pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$LIBavfilter_EXTRALIBS" "libavformat libavcodec libavutil libswscale"
+pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION" "$LIBpostproc_EXTRALIBS" "libavutil"
+pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBswscale_EXTRALIBS" "libavutil"

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-ffplay_c,v 1.3 2011/03/29 20:01:43 edd Exp $
--- ffplay.c.orig Sun Mar 6 23:03:48 2011
+++ ffplay.c Sun Mar 6 23:54:06 2011
@@ -2198,7 +2198,7 @@ static int stream_component_open(VideoState *is, int s
$OpenBSD: patch-ffplay_c,v 1.4 2011/04/12 22:59:07 sthen Exp $
--- ffplay.c.orig Fri Apr 8 16:05:20 2011
+++ ffplay.c Fri Apr 8 16:12:46 2011
@@ -2211,7 +2211,7 @@ static int stream_component_open(VideoState *is, int s
AVFormatContext *ic = is->ic;
AVCodecContext *avctx;
AVCodec *codec;
@ -10,7 +10,7 @@ $OpenBSD: patch-ffplay_c,v 1.3 2011/03/29 20:01:43 edd Exp $
if (stream_index < 0 || stream_index >= ic->nb_streams)
return -1;
@@ -2243,11 +2243,11 @@ static int stream_component_open(VideoState *is, int s
@@ -2256,11 +2256,11 @@ static int stream_component_open(VideoState *is, int s
wanted_spec.samples = SDL_AUDIO_BUFFER_SIZE;
wanted_spec.callback = sdl_audio_callback;
wanted_spec.userdata = is;

View File

@ -1,29 +0,0 @@
$OpenBSD: patch-libavcodec_Makefile,v 1.19 2011/03/29 20:01:43 edd Exp $
--- libavcodec/Makefile.orig Sun Mar 6 23:03:48 2011
+++ libavcodec/Makefile Mon Mar 7 00:17:28 2011
@@ -667,6 +667,25 @@ CLEANFILES = sin_tables.c cos_tables.c *_tables.h *_ta
include $(SUBDIR)../subdir.mak
+ifdef ARCH_X86_32
+ifeq (,$(findstring -O,$(CFLAGS)))
+libavcodec/x86/cavsdsp_mmx.o: CFLAGS += -O
+libavcodec/x86/dsputil_mmx.o: CFLAGS += -O
+libavcodec/x86/mpegvideo_mmx.o: CFLAGS += -O
+libavcodec/x86/snowdsp_mmx.o: CFLAGS += -O
+libavcodec/x86/vc1dsp_mmx.o: CFLAGS += -O
+libavcodec/x86/vp3dsp_mmx.o: CFLAGS += -O
+libavcodec/x86/mpegaudiodec_mmx.o: CFLAGS += -O
+endif
+libavcodec/x86/cavsdsp_mmx.o: CFLAGS += -fomit-frame-pointer
+libavcodec/x86/dsputil_mmx.o: CFLAGS += -fomit-frame-pointer
+libavcodec/x86/mpegvideo_mmx.o: CFLAGS += -fomit-frame-pointer
+libavcodec/x86/snowdsp_mmx.o: CFLAGS += -fomit-frame-pointer
+libavcodec/x86/vc1dsp_mmx.o: CFLAGS += -fomit-frame-pointer
+libavcodec/x86/vp3dsp_mmx.o: CFLAGS += -fomit-frame-pointer
+libavcodec/x86/mpegaudiodec_mmx.o: CFLAGS += -fomit-frame-pointer
+endif
+
$(SUBDIR)dct-test$(EXESUF): $(SUBDIR)dctref.o
$(SUBDIR)cos_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-libavdevice_Makefile,v 1.5 2011/03/29 20:01:43 edd Exp $
--- libavdevice/Makefile.orig Sun Mar 6 23:03:49 2011
+++ libavdevice/Makefile Sun Mar 6 23:42:07 2011
@@ -17,6 +17,8 @@ OBJS-$(CONFIG_DV1394_INDEV) += dv1394.o
OBJS-$(CONFIG_JACK_INDEV) += jack_audio.o
OBJS-$(CONFIG_OSS_INDEV) += oss_audio.o
OBJS-$(CONFIG_OSS_OUTDEV) += oss_audio.o
+OBJS-$(CONFIG_SNDIO_INDEV) += sndio_common.o sndio_dec.o
+OBJS-$(CONFIG_SNDIO_OUTDEV) += sndio_common.o sndio_enc.o
OBJS-$(CONFIG_V4L2_INDEV) += v4l2.o
OBJS-$(CONFIG_V4L_INDEV) += v4l.o
OBJS-$(CONFIG_VFWCAP_INDEV) += vfwcap.o
@@ -26,5 +28,6 @@ OBJS-$(CONFIG_X11_GRAB_DEVICE_INDEV) += x11grab.o
OBJS-$(CONFIG_LIBDC1394_INDEV) += libdc1394.o
SKIPHEADERS-$(HAVE_ALSA_ASOUNDLIB_H) += alsa-audio.h
+SKIPHEADERS-$(HAVE_SNDIO_H) += sndio_common.h
include $(SUBDIR)../subdir.mak

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-libavdevice_alldevices_c,v 1.2 2011/03/29 20:01:43 edd Exp $
--- libavdevice/alldevices.c.orig Sun Mar 6 23:03:49 2011
+++ libavdevice/alldevices.c Sun Mar 6 23:42:07 2011
@@ -44,6 +44,7 @@ void avdevice_register_all(void)
REGISTER_INDEV (DV1394, dv1394);
REGISTER_INDEV (JACK, jack);
REGISTER_INOUTDEV (OSS, oss);
+ REGISTER_INOUTDEV (SNDIO, sndio);
REGISTER_INDEV (V4L2, v4l2);
REGISTER_INDEV (V4L, v4l);
REGISTER_INDEV (VFWCAP, vfwcap);

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-libavfilter_Makefile,v 1.1 2011/03/29 20:01:43 edd Exp $
--- libavfilter/Makefile.orig Mon Mar 7 00:18:12 2011
+++ libavfilter/Makefile Mon Mar 7 00:18:28 2011
@@ -62,3 +62,10 @@ OBJS-$(CONFIG_NULLSINK_FILTER) += vsink_
DIRS = x86
include $(SUBDIR)../subdir.mak
+
+ifdef ARCH_X86_32
+ifeq (,$(findstring -O,$(CFLAGS)))
+libavfilter/x86/gradfun.o: CFLAGS += -O
+endif
+libavfilter/x86/gradfun.o: CFLAGS += -fomit-frame-pointer
+endif

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-libavutil_common_h,v 1.3 2011/03/29 20:01:43 edd Exp $
--- libavutil/common.h.orig Sun Mar 6 23:03:50 2011
+++ libavutil/common.h Sun Mar 6 23:45:11 2011
@@ -43,6 +43,10 @@
# define AV_NE(be, le) (le)
#endif
+#ifndef UINT64_C
+#define UINT64_C(_c) __CONCAT(_c, ULL)
+#endif
+
//rounded division & shift
#define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
/* assume b>0 */

View File

@ -1,11 +1,11 @@
$OpenBSD: patch-libavutil_ppc_cpu_c,v 1.1 2011/03/29 20:01:43 edd Exp $
--- libavutil/ppc/cpu.c.orig Tue Mar 29 19:11:32 2011
+++ libavutil/ppc/cpu.c Tue Mar 29 19:11:55 2011
$OpenBSD: patch-libavutil_ppc_cpu_c,v 1.2 2011/04/12 22:59:07 sthen Exp $
--- libavutil/ppc/cpu.c.orig Mon Mar 28 19:23:17 2011
+++ libavutil/ppc/cpu.c Sat Apr 2 01:04:37 2011
@@ -20,6 +20,7 @@
#undef _POSIX_C_SOURCE
#include <sys/sysctl.h>
#elif defined(__OpenBSD__)
+#define _BSD_SOURCE
+#undef _POSIX_C_SOURCE
#include <sys/param.h>
#include <sys/sysctl.h>
#include <machine/cpu.h>

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-libpostproc_Makefile,v 1.6 2010/05/26 21:38:52 jakemsr Exp $
--- libpostproc/Makefile.orig Tue May 11 16:20:53 2010
+++ libpostproc/Makefile Mon May 17 17:58:55 2010
@@ -8,3 +8,10 @@ HEADERS = postprocess.h
OBJS = postprocess.o
include $(SUBDIR)../subdir.mak
+
+ifdef ARCH_X86_32
+ifeq (,$(findstring -O,$(CFLAGS)))
+libpostproc/postprocess.o: CFLAGS += -O
+endif
+libpostproc/postprocess.o: CFLAGS += -fomit-frame-pointer
+endif

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-libswscale_Makefile,v 1.4 2010/05/26 21:38:52 jakemsr Exp $
--- libswscale/Makefile.orig Tue May 11 16:21:03 2010
+++ libswscale/Makefile Mon May 17 17:58:39 2010
@@ -20,3 +20,14 @@ TESTPROGS = colorspace swscale
DIRS = bfin mlib ppc sparc x86
include $(SUBDIR)../subdir.mak
+
+ifdef ARCH_X86_32
+ifeq (,$(findstring -O,$(CFLAGS)))
+libswscale/rgb2rgb.o: CFLAGS += -O
+libswscale/swscale.o: CFLAGS += -O
+libswscale/x86/yuv2rgb_mmx.o: CFLAGS += -O
+endif
+libswscale/rgb2rgb.o: CFLAGS += -fomit-frame-pointer
+libswscale/swscale.o: CFLAGS += -fomit-frame-pointer
+libswscale/x86/yuv2rgb_mmx.o: CFLAGS += -fomit-frame-pointer
+endif

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-subdir_mak,v 1.2 2010/05/26 21:38:52 jakemsr Exp $
--- subdir.mak.orig Tue May 11 19:21:00 2010
+++ subdir.mak Wed May 12 19:51:20 2010
$OpenBSD: patch-subdir_mak,v 1.3 2011/04/12 22:59:07 sthen Exp $
--- subdir.mak.orig Mon Mar 28 19:23:17 2011
+++ subdir.mak Fri Apr 1 16:00:06 2011
@@ -41,7 +41,7 @@ $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
$(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SUBDIR)lib$(NAME).ver
@ -10,10 +10,11 @@ $OpenBSD: patch-subdir_mak,v 1.2 2010/05/26 21:38:52 jakemsr Exp $
$(SLIB_EXTRA_CMD)
ifdef SUBDIR
@@ -61,10 +61,6 @@ install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
@@ -60,11 +60,6 @@ distclean:: clean
install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
$(Q)mkdir -p "$(SHLIBDIR)"
$$(INSTALL) -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
$$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
- $$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
- $(Q)cd "$(SHLIBDIR)" && \
- $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
- $(Q)cd "$(SHLIBDIR)" && \

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-version_sh,v 1.6 2011/04/12 22:59:07 sthen Exp $
--- version.sh.orig Mon Mar 28 22:46:40 2011
+++ version.sh Mon Mar 28 22:48:02 2011
@@ -1,5 +1,8 @@
#!/bin/sh
+revision=$(cd "$1" && cat snapshot_version 2> /dev/null)
+test "$revision" && revision=git-$revision
+
# check for git short hash
if ! test "$revision"; then
revision=$(cd "$1" && git describe --tags --match N 2> /dev/null)

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.18 2011/03/29 20:01:43 edd Exp $
@comment $OpenBSD: PLIST,v 1.19 2011/04/12 22:59:07 sthen Exp $
%%SHARED%%
@bin bin/ffmpeg
@bin bin/ffplay
@ -12,6 +12,7 @@ include/libavcodec/dxva2.h
include/libavcodec/opt.h
include/libavcodec/vaapi.h
include/libavcodec/vdpau.h
include/libavcodec/version.h
include/libavcodec/xvmc.h
include/libavdevice/
include/libavdevice/avdevice.h
@ -24,6 +25,7 @@ include/libavformat/avio.h
include/libavformat/version.h
include/libavutil/
include/libavutil/adler32.h
include/libavutil/aes.h
include/libavutil/attributes.h
include/libavutil/audioconvert.h
include/libavutil/avassert.h
@ -55,6 +57,7 @@ include/libavutil/pixfmt.h
include/libavutil/random_seed.h
include/libavutil/rational.h
include/libavutil/samplefmt.h
include/libavutil/sha.h
include/libavutil/sha1.h
include/libpostproc/
include/libpostproc/postprocess.h