summaryrefslogtreecommitdiff
path: root/extra/opal
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-02 01:31:32 -0700
committerroot <root@rshg054.dnsready.net>2013-08-02 01:31:32 -0700
commitf7cd2a0a073da2373cd3f3c8e31515dd0b83b645 (patch)
treee28c5c379825afaf02a927a8f1d1b1fcb94c2362 /extra/opal
parent70ec180b1cca6eda5576597c2bfff9171f7815bf (diff)
Fri Aug 2 01:30:56 PDT 2013
Diffstat (limited to 'extra/opal')
-rw-r--r--extra/opal/PKGBUILD6
-rw-r--r--extra/opal/opal-ffmpeg.patch177
2 files changed, 180 insertions, 3 deletions
diff --git a/extra/opal/PKGBUILD b/extra/opal/PKGBUILD
index 42940e721..667368e08 100644
--- a/extra/opal/PKGBUILD
+++ b/extra/opal/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 178390 2013-02-21 05:35:59Z heftig $
+# $Id: PKGBUILD 191906 2013-08-01 06:53:39Z bpiotrowski $
# Maintainer: Jan de Groot <jan@archlinux.org>
# Contributor: Tom K <tomk@runbox.com>
pkgname=opal
pkgver=3.10.10
-pkgrel=1
+pkgrel=2
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'
- 'd81542907ace54015b7c69c275b0c67f449eeb252ba971ba6ca728a5e20db231')
+ '0111eec3f7109a83f8cd4a87744ca050b3ca27482e9d31e3a1d50798f8cd88c1')
build() {
cd "${srcdir}/opal-${pkgver}"
diff --git a/extra/opal/opal-ffmpeg.patch b/extra/opal/opal-ffmpeg.patch
index c40e1ddfb..e7671ee53 100644
--- a/extra/opal/opal-ffmpeg.patch
+++ b/extra/opal/opal-ffmpeg.patch
@@ -193,3 +193,180 @@ 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
+ #endif
+
+
+-FFMPEGLibrary::FFMPEGLibrary(CodecID codec)
++FFMPEGLibrary::FFMPEGLibrary(AVCodecID codec)
+ {
+ m_codec = codec;
+ if (m_codec==CODEC_ID_H264)
+@@ -348,12 +348,12 @@ bool FFMPEGLibrary::Load()
+ return true;
+ }
+
+-AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id)
++AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum AVCodecID id)
+ {
+ return Favcodec_find_encoder(id);
+ }
+
+-AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id)
++AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum AVCodecID id)
+ {
+ 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
+ class FFMPEGLibrary
+ {
+ public:
+- FFMPEGLibrary(CodecID codec);
++ FFMPEGLibrary(AVCodecID codec);
+ ~FFMPEGLibrary();
+
+ bool Load();
+
+- AVCodec *AvcodecFindEncoder(enum CodecID id);
+- AVCodec *AvcodecFindDecoder(enum CodecID id);
++ AVCodec *AvcodecFindEncoder(enum AVCodecID id);
++ AVCodec *AvcodecFindDecoder(enum AVCodecID id);
+ AVCodecContext *AvcodecAllocContext(void);
+ AVFrame *AvcodecAllocFrame(void);
+ int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec);
+@@ -117,15 +117,15 @@ class FFMPEGLibrary
+ DynaLink m_libAvcodec;
+ DynaLink m_libAvutil;
+
+- CodecID m_codec;
++ AVCodecID m_codec;
+ char m_codecString[32];
+
+ void (*Favcodec_init)(void);
+ void (*Fav_init_packet)(AVPacket *pkt);
+
+ void (*Favcodec_register_all)(void);
+- AVCodec *(*Favcodec_find_encoder)(enum CodecID id);
+- AVCodec *(*Favcodec_find_decoder)(enum CodecID id);
++ AVCodec *(*Favcodec_find_encoder)(enum AVCodecID id);
++ AVCodec *(*Favcodec_find_decoder)(enum AVCodecID id);
+ 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
+@@ -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.
+ */
+-enum CodecID {
++enum AVCodecID {
+ CODEC_ID_NONE,
+
+ /* video codecs */
+@@ -1390,7 +1390,7 @@ typedef struct AVCodecContext {
+
+ char codec_name[32];
+ enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */
+- enum CodecID codec_id; /* see CODEC_ID_xxx */
++ enum AVCodecID codec_id; /* see CODEC_ID_xxx */
+
+ /**
+ * fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
+@@ -2843,7 +2843,7 @@ typedef struct AVCodec {
+ */
+ const char *name;
+ enum AVMediaType type;
+- enum CodecID id;
++ enum AVCodecID id;
+ 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 {
+ *
+ * See CODEC_ID_xxx
+ */
+- enum CodecID id;
++ enum AVCodecID id;
+
+ /**
+ * Supported pixel format.
+@@ -3402,10 +3402,10 @@ void avcodec_register(AVCodec *codec);
+ /**
+ * Find a registered encoder with a matching codec ID.
+ *
+- * @param id CodecID of the requested encoder
++ * @param id AVCodecID of the requested encoder
+ * @return An encoder if one was found, NULL otherwise.
+ */
+-AVCodec *avcodec_find_encoder(enum CodecID id);
++AVCodec *avcodec_find_encoder(enum AVCodecID id);
+
+ /**
+ * Find a registered encoder with the specified name.
+@@ -3418,10 +3418,10 @@ AVCodec *avcodec_find_encoder_by_name(co
+ /**
+ * Find a registered decoder with a matching codec ID.
+ *
+- * @param id CodecID of the requested decoder
++ * @param id AVCodecID of the requested decoder
+ * @return A decoder if one was found, NULL otherwise.
+ */
+-AVCodec *avcodec_find_decoder(enum CodecID id);
++AVCodec *avcodec_find_decoder(enum AVCodecID id);
+
+ /**
+ * Find a registered decoder with the specified name.
+@@ -3822,7 +3822,7 @@ char av_get_pict_type_char(int pict_type
+ * @param[in] codec_id the codec
+ * @return Number of bits per sample or zero if unknown for the given codec.
+ */
+-int av_get_bits_per_sample(enum CodecID codec_id);
++int av_get_bits_per_sample(enum AVCodecID codec_id);
+
+ #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"