diff options
Diffstat (limited to 'extra/opal')
-rw-r--r-- | extra/opal/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/opal/opal-ffmpeg.patch | 185 |
2 files changed, 104 insertions, 87 deletions
diff --git a/extra/opal/PKGBUILD b/extra/opal/PKGBUILD index 667368e08..d92f34628 100644 --- a/extra/opal/PKGBUILD +++ b/extra/opal/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 191906 2013-08-01 06:53:39Z bpiotrowski $ +# $Id: PKGBUILD 194345 2013-09-14 08:18:24Z bpiotrowski $ # Maintainer: Jan de Groot <jan@archlinux.org> # Contributor: Tom K <tomk@runbox.com> pkgname=opal pkgver=3.10.10 -pkgrel=2 +pkgrel=3 pkgdesc="Open Phone Abstraction Library" arch=(i686 x86_64) url="http://www.opalvoip.org" @@ -14,7 +14,7 @@ options=(!makeflags) source=(http://ftp.gnome.org/pub/GNOME/sources/opal/${pkgver%.*}/opal-$pkgver.tar.xz opal-ffmpeg.patch) sha256sums=('f208985003461b2743575eccac13ad890b3e5baac35b68ddef17162460aff864' - '0111eec3f7109a83f8cd4a87744ca050b3ca27482e9d31e3a1d50798f8cd88c1') + '83f60ecf692e004293ce9dbaae7d7eb64d9713d3bfb71a0e7b1a0d1f936794cd') build() { cd "${srcdir}/opal-${pkgver}" diff --git a/extra/opal/opal-ffmpeg.patch b/extra/opal/opal-ffmpeg.patch index e7671ee53..942a5a396 100644 --- a/extra/opal/opal-ffmpeg.patch +++ b/extra/opal/opal-ffmpeg.patch @@ -1,15 +1,39 @@ -diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/plugins/video/H.263-1998/h263-1998.cxx ---- opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx 2012-08-23 04:18:42.000000000 +0200 -+++ opal-3.10.7.patched/plugins/video/H.263-1998/h263-1998.cxx 2012-08-28 19:53:12.080918973 +0200 -@@ -48,6 +48,7 @@ +diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/Makefile.in opal-3.10.10/plugins/video/H.263-1998/Makefile.in +--- opal-3.10.10-orig/plugins/video/H.263-1998/Makefile.in 2013-02-20 03:18:03.000000000 +0100 ++++ opal-3.10.10/plugins/video/H.263-1998/Makefile.in 2013-09-10 21:43:11.091108557 +0200 +@@ -35,7 +35,7 @@ + $(COMMONDIR)/dyna.cxx + + CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) +-LIBS += @DL_LIBS@ ++LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ + + HAVE_LIBAVCODEC_RTP_MODE=@HAVE_LIBAVCODEC_RTP_MODE@ + ifeq ($(HAVE_LIBAVCODEC_RTP_MODE),yes) +diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10/plugins/video/H.263-1998/h263-1998.cxx +--- opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx 2013-02-20 03:18:03.000000000 +0100 ++++ opal-3.10.10/plugins/video/H.263-1998/h263-1998.cxx 2013-09-10 21:43:11.091108557 +0200 +@@ -48,6 +48,10 @@ #endif #include "h263-1998.h" ++extern "C" ++{ +#include <libavutil/opt.h> ++} #include <limits> #include <iomanip> #include <stdio.h> -@@ -317,9 +318,9 @@ +@@ -203,7 +207,7 @@ + PTRACE(4, m_prefix, "Encoder closed"); + } + +-bool H263_Base_EncoderContext::Init(CodecID codecId) ++bool H263_Base_EncoderContext::Init(AVCodecID codecId) + { + PTRACE(5, m_prefix, "Opening encoder"); + +@@ -317,9 +321,9 @@ // Level 2+ // works with eyeBeam, signaled via non-standard "D" if (atoi(value) == 1) @@ -21,7 +45,7 @@ diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/ return; } -@@ -328,9 +329,9 @@ +@@ -328,9 +332,9 @@ // Annex F: Advanced Prediction Mode // does not work with eyeBeam if (atoi(value) == 1) @@ -33,7 +57,7 @@ diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/ return; } #endif -@@ -360,9 +361,9 @@ +@@ -360,9 +364,9 @@ // Annex K: Slice Structure // does not work with eyeBeam if (atoi(value) != 0) @@ -45,7 +69,7 @@ diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/ return; } -@@ -370,9 +371,9 @@ +@@ -370,9 +374,9 @@ // Annex S: Alternative INTER VLC mode // does not work with eyeBeam if (atoi(value) == 1) @@ -57,7 +81,7 @@ diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/ return; } -@@ -450,15 +451,6 @@ +@@ -450,15 +454,6 @@ PTRACE(5, m_prefix, "qmax set to " << m_context->qmax); PTRACE(5, m_prefix, "payload size set to " << m_context->rtp_payload_size); @@ -73,7 +97,7 @@ diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/ return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0; } -@@ -521,7 +513,7 @@ +@@ -521,7 +516,7 @@ // Need to copy to local buffer to guarantee 16 byte alignment memcpy(m_inputFrame->data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header->width*header->height*3/2); @@ -82,7 +106,7 @@ diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/ /* m_inputFrame->pts = (int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE; -@@ -603,13 +595,13 @@ +@@ -603,13 +598,13 @@ m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack; m_context->opaque = this; // used to separate out packets from different encode threads @@ -99,10 +123,21 @@ diff -ru opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7.patched/ return true; } -Only in opal-3.10.7.patched/plugins/video/H.263-1998: h263-1998.cxx.orig -diff -ru opal-3.10.7/plugins/video/H.264/gpl/h264_helper.cxx opal-3.10.7.patched/plugins/video/H.264/gpl/h264_helper.cxx ---- opal-3.10.7/plugins/video/H.264/gpl/h264_helper.cxx 2012-08-23 04:18:41.000000000 +0200 -+++ opal-3.10.7.patched/plugins/video/H.264/gpl/h264_helper.cxx 2012-08-28 19:53:12.080918973 +0200 +diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.h opal-3.10.10/plugins/video/H.263-1998/h263-1998.h +--- opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.h 2013-02-20 03:18:03.000000000 +0100 ++++ opal-3.10.10/plugins/video/H.263-1998/h263-1998.h 2013-09-10 21:43:11.091108557 +0200 +@@ -115,7 +115,7 @@ + virtual ~H263_Base_EncoderContext(); + + virtual bool Init() = 0; +- virtual bool Init(CodecID codecId); ++ virtual bool Init(AVCodecID codecId); + + virtual bool SetOptions(const char * const * options); + virtual void SetOption(const char * option, const char * value); +diff -Naur opal-3.10.10-orig/plugins/video/H.264/gpl/h264_helper.cxx opal-3.10.10/plugins/video/H.264/gpl/h264_helper.cxx +--- opal-3.10.10-orig/plugins/video/H.264/gpl/h264_helper.cxx 2013-02-20 03:18:02.000000000 +0100 ++++ opal-3.10.10/plugins/video/H.264/gpl/h264_helper.cxx 2013-09-10 21:43:11.091108557 +0200 @@ -27,6 +27,7 @@ #include <fstream> #include <stdlib.h> @@ -111,11 +146,20 @@ diff -ru opal-3.10.7/plugins/video/H.264/gpl/h264_helper.cxx opal-3.10.7.patched #ifdef HAVE_UNISTD_H #include <unistd.h> -Only in opal-3.10.7.patched/plugins/video/H.264/gpl: h264_helper.cxx.orig -diff -ru opal-3.10.7/plugins/video/H.264/h264-x264.cxx opal-3.10.7.patched/plugins/video/H.264/h264-x264.cxx ---- opal-3.10.7/plugins/video/H.264/h264-x264.cxx 2012-08-23 04:18:41.000000000 +0200 -+++ opal-3.10.7.patched/plugins/video/H.264/h264-x264.cxx 2012-08-28 19:53:12.080918973 +0200 -@@ -1071,13 +1071,10 @@ +diff -Naur opal-3.10.10-orig/plugins/video/H.264/h264-x264.cxx opal-3.10.10/plugins/video/H.264/h264-x264.cxx +--- opal-3.10.10-orig/plugins/video/H.264/h264-x264.cxx 2013-02-20 03:18:02.000000000 +0100 ++++ opal-3.10.10/plugins/video/H.264/h264-x264.cxx 2013-09-10 21:43:11.091108557 +0200 +@@ -40,6 +40,9 @@ + #include "plugin-config.h" + #endif + ++#define FF_IDCT_H264 11 ++#define CODEC_FLAG2_SKIP_RD 0x00004000 ++ + #include <codec/opalplugin.hpp> + + #include "../common/ffmpeg.h" +@@ -1071,13 +1074,10 @@ return false; m_context->workaround_bugs = FF_BUG_AUTODETECT; @@ -130,10 +174,9 @@ diff -ru opal-3.10.7/plugins/video/H.264/h264-x264.cxx opal-3.10.7.patched/plugi CODEC_FLAG2_SKIP_RD | CODEC_FLAG2_CHUNKS; -Only in opal-3.10.7.patched/plugins/video/H.264: h264-x264.cxx.orig -diff -ru opal-3.10.7/plugins/video/H.264/shared/x264wrap.cxx opal-3.10.7.patched/plugins/video/H.264/shared/x264wrap.cxx ---- opal-3.10.7/plugins/video/H.264/shared/x264wrap.cxx 2012-08-23 04:18:41.000000000 +0200 -+++ opal-3.10.7.patched/plugins/video/H.264/shared/x264wrap.cxx 2012-08-28 19:53:12.084252306 +0200 +diff -Naur opal-3.10.10-orig/plugins/video/H.264/shared/x264wrap.cxx opal-3.10.10/plugins/video/H.264/shared/x264wrap.cxx +--- opal-3.10.10-orig/plugins/video/H.264/shared/x264wrap.cxx 2013-02-20 03:18:02.000000000 +0100 ++++ opal-3.10.10/plugins/video/H.264/shared/x264wrap.cxx 2013-09-10 21:43:11.091108557 +0200 @@ -33,6 +33,7 @@ #include <codec/opalplugin.hpp> @@ -142,10 +185,21 @@ diff -ru opal-3.10.7/plugins/video/H.264/shared/x264wrap.cxx opal-3.10.7.patched #ifdef HAVE_UNISTD_H #include <unistd.h> -Only in opal-3.10.7.patched/plugins/video/H.264/shared: x264wrap.cxx.orig -diff -ru opal-3.10.7/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.7.patched/plugins/video/MPEG4-ffmpeg/mpeg4.cxx ---- opal-3.10.7/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2012-08-23 04:18:44.000000000 +0200 -+++ opal-3.10.7.patched/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2012-08-28 19:54:35.460923804 +0200 +diff -Naur opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/Makefile.in opal-3.10.10/plugins/video/MPEG4-ffmpeg/Makefile.in +--- opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/Makefile.in 2013-02-20 03:18:07.000000000 +0100 ++++ opal-3.10.10/plugins/video/MPEG4-ffmpeg/Makefile.in 2013-09-10 21:43:49.101654132 +0200 +@@ -31,7 +31,7 @@ + SRCS := mpeg4.cxx $(COMMONDIR)/dyna.cxx + + CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) +-LIBS += @DL_LIBS@ ++LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ + + # Add LIBAVCODEC_SOURCE_DIR to the include path so we can #include <libavcodec/...h> + # Also add libavutil, so ffmpeg headers can #include "log.h". +diff -Naur opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.10/plugins/video/MPEG4-ffmpeg/mpeg4.cxx +--- opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-02-20 03:18:07.000000000 +0100 ++++ opal-3.10.10/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-09-10 21:43:11.091108557 +0200 @@ -103,6 +103,7 @@ #else /* LIBAVCODEC_HAVE_SOURCE_DIR */ @@ -193,10 +247,10 @@ diff -ru opal-3.10.7/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.7.patched/pl m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations } -diff -rupN a/plugins/video/common/dyna.cxx b/plugins/video/common/dyna.cxx ---- a/plugins/video/common/dyna.cxx 2013-02-20 02:18:05.000000000 +0000 -+++ b/plugins/video/common/dyna.cxx 2013-07-22 16:55:47.307946942 +0000 -@@ -210,7 +210,7 @@ static void logCallbackFFMPEG(void * avc +diff -Naur opal-3.10.10-orig/plugins/video/common/dyna.cxx opal-3.10.10/plugins/video/common/dyna.cxx +--- opal-3.10.10-orig/plugins/video/common/dyna.cxx 2013-02-20 03:18:05.000000000 +0100 ++++ opal-3.10.10/plugins/video/common/dyna.cxx 2013-09-10 21:43:11.091108557 +0200 +@@ -210,7 +210,7 @@ #endif @@ -205,7 +259,7 @@ diff -rupN a/plugins/video/common/dyna.cxx b/plugins/video/common/dyna.cxx { m_codec = codec; if (m_codec==CODEC_ID_H264) -@@ -348,12 +348,12 @@ bool FFMPEGLibrary::Load() +@@ -348,12 +348,12 @@ return true; } @@ -220,10 +274,10 @@ diff -rupN a/plugins/video/common/dyna.cxx b/plugins/video/common/dyna.cxx { WaitAndSignal m(processLock); -diff -rupN a/plugins/video/common/dyna.h b/plugins/video/common/dyna.h ---- a/plugins/video/common/dyna.h 2013-02-20 02:18:05.000000000 +0000 -+++ b/plugins/video/common/dyna.h 2013-07-22 16:55:47.191281134 +0000 -@@ -88,13 +88,13 @@ class DynaLink +diff -Naur opal-3.10.10-orig/plugins/video/common/dyna.h opal-3.10.10/plugins/video/common/dyna.h +--- opal-3.10.10-orig/plugins/video/common/dyna.h 2013-02-20 03:18:05.000000000 +0100 ++++ opal-3.10.10/plugins/video/common/dyna.h 2013-09-10 21:43:11.091108557 +0200 +@@ -88,13 +88,13 @@ class FFMPEGLibrary { public: @@ -240,7 +294,7 @@ diff -rupN a/plugins/video/common/dyna.h b/plugins/video/common/dyna.h AVCodecContext *AvcodecAllocContext(void); AVFrame *AvcodecAllocFrame(void); int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec); -@@ -117,15 +117,15 @@ class FFMPEGLibrary +@@ -117,15 +117,15 @@ DynaLink m_libAvcodec; DynaLink m_libAvutil; @@ -259,9 +313,9 @@ diff -rupN a/plugins/video/common/dyna.h b/plugins/video/common/dyna.h AVCodecContext *(*Favcodec_alloc_context)(void); AVFrame *(*Favcodec_alloc_frame)(void); int (*Favcodec_open)(AVCodecContext *ctx, AVCodec *codec); -diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/common/ffmpeg/libavcodec/avcodec.h ---- a/plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-02-20 02:18:04.000000000 +0000 -+++ b/plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-07-22 16:55:47.167947971 +0000 +diff -Naur opal-3.10.10-orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h opal-3.10.10/plugins/video/common/ffmpeg/libavcodec/avcodec.h +--- opal-3.10.10-orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-02-20 03:18:04.000000000 +0100 ++++ opal-3.10.10/plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-09-10 21:43:11.094441937 +0200 @@ -101,7 +101,7 @@ * 1. no value of a existing codec ID changes (that would break ABI), * 2. it is as close as possible to similar codecs. @@ -271,7 +325,7 @@ diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/co CODEC_ID_NONE, /* video codecs */ -@@ -1390,7 +1390,7 @@ typedef struct AVCodecContext { +@@ -1390,7 +1390,7 @@ char codec_name[32]; enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */ @@ -280,7 +334,7 @@ diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/co /** * fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). -@@ -2843,7 +2843,7 @@ typedef struct AVCodec { +@@ -2843,7 +2843,7 @@ */ const char *name; enum AVMediaType type; @@ -289,7 +343,7 @@ diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/co int priv_data_size; int (*init)(AVCodecContext *); int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data); -@@ -2898,7 +2898,7 @@ typedef struct AVHWAccel { +@@ -2898,7 +2898,7 @@ * * See CODEC_ID_xxx */ @@ -298,7 +352,7 @@ diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/co /** * Supported pixel format. -@@ -3402,10 +3402,10 @@ void avcodec_register(AVCodec *codec); +@@ -3402,10 +3402,10 @@ /** * Find a registered encoder with a matching codec ID. * @@ -311,7 +365,7 @@ diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/co /** * Find a registered encoder with the specified name. -@@ -3418,10 +3418,10 @@ AVCodec *avcodec_find_encoder_by_name(co +@@ -3418,10 +3418,10 @@ /** * Find a registered decoder with a matching codec ID. * @@ -324,7 +378,7 @@ diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/co /** * Find a registered decoder with the specified name. -@@ -3822,7 +3822,7 @@ char av_get_pict_type_char(int pict_type +@@ -3822,7 +3822,7 @@ * @param[in] codec_id the codec * @return Number of bits per sample or zero if unknown for the given codec. */ @@ -333,40 +387,3 @@ diff -rupN a/plugins/video/common/ffmpeg/libavcodec/avcodec.h b/plugins/video/co #if FF_API_OLD_SAMPLE_FMT /** -diff -rupN a/plugins/video/H.263-1998/h263-1998.cxx b/plugins/video/H.263-1998/h263-1998.cxx ---- a/plugins/video/H.263-1998/h263-1998.cxx 2013-02-20 02:18:03.000000000 +0000 -+++ b/plugins/video/H.263-1998/h263-1998.cxx 2013-07-22 16:55:47.314613571 +0000 -@@ -203,7 +203,7 @@ H263_Base_EncoderContext::~H263_Base_Enc - PTRACE(4, m_prefix, "Encoder closed"); - } - --bool H263_Base_EncoderContext::Init(CodecID codecId) -+bool H263_Base_EncoderContext::Init(AVCodecID codecId) - { - PTRACE(5, m_prefix, "Opening encoder"); - -diff -rupN a/plugins/video/H.263-1998/h263-1998.h b/plugins/video/H.263-1998/h263-1998.h ---- a/plugins/video/H.263-1998/h263-1998.h 2013-02-20 02:18:03.000000000 +0000 -+++ b/plugins/video/H.263-1998/h263-1998.h 2013-07-22 16:55:47.307946942 +0000 -@@ -115,7 +115,7 @@ class H263_Base_EncoderContext - virtual ~H263_Base_EncoderContext(); - - virtual bool Init() = 0; -- virtual bool Init(CodecID codecId); -+ virtual bool Init(AVCodecID codecId); - - virtual bool SetOptions(const char * const * options); - virtual void SetOption(const char * option, const char * value); -diff -rupN a/plugins/video/H.264/h264-x264.cxx b/plugins/video/H.264/h264-x264.cxx ---- a/plugins/video/H.264/h264-x264.cxx 2013-02-20 02:18:02.000000000 +0000 -+++ b/plugins/video/H.264/h264-x264.cxx 2013-07-22 17:05:35.383661843 +0000 -@@ -40,6 +40,9 @@ - #include "plugin-config.h" - #endif - -+#define FF_IDCT_H264 11 -+#define CODEC_FLAG2_SKIP_RD 0x00004000 -+ - #include <codec/opalplugin.hpp> - - #include "../common/ffmpeg.h" |