Date: Sunday, June 10, 2012 @ 11:21:11
  Author: jgc
Revision: 161380

Update to 3.10.5, add patch to fix compilation with ffmpeg 0.11 and fixes some 
missing includes with gcc 4.7

Added:
  opal/trunk/opal-ffmpeg.patch
Modified:
  opal/trunk/PKGBUILD

-------------------+
 PKGBUILD          |   12 +--
 opal-ffmpeg.patch |  194 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 201 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2012-06-10 13:19:01 UTC (rev 161379)
+++ PKGBUILD    2012-06-10 15:21:11 UTC (rev 161380)
@@ -2,20 +2,22 @@
 # Maintainer: Jan de Groot <j...@archlinux.org>
 # Contributor: Tom K <t...@runbox.com>
 pkgname=opal
-pkgver=3.10.2
-pkgrel=4
+pkgver=3.10.5
+pkgrel=1
 pkgdesc="Open Phone Abstraction Library"
 arch=(i686 x86_64)
-url="http://www.ekiga.org";
+url="http://www.opalvoip.org";
 license=('GPL')
 depends=('ptlib' 'libtheora' 'x264' 'speex')
 makedepends=('ffmpeg')
 options=(!makeflags)
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('8e227978263c07502b2bc4c9de0e71be1b95d673fe858bfd907910adfb2eb205')
+source=(http://downloads.sourceforge.net/sourceforge/opalvoip/$pkgname-$pkgver.tar.bz2
+        opal-ffmpeg.patch)
+md5sums=('22b0d716ed1cbc935245539e0bbab38f' '53bb06a376fb57a306522bfa6a573217')
 
 build() {
   cd "${srcdir}/opal-${pkgver}"
+  patch -Np1 -i "${srcdir}/opal-ffmpeg.patch"
   CXXFLAGS="$CXXFLAGS -fpermissive" \
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
   make

Added: opal-ffmpeg.patch
===================================================================
--- opal-ffmpeg.patch                           (rev 0)
+++ opal-ffmpeg.patch   2012-06-10 15:21:11 UTC (rev 161380)
@@ -0,0 +1,194 @@
+diff -ru opal-3.10.5/plugins/video/H.263-1998/h263-1998.cxx 
opal-3.10.5.patched/plugins/video/H.263-1998/h263-1998.cxx
+--- opal-3.10.5/plugins/video/H.263-1998/h263-1998.cxx 2012-04-26 
06:56:01.000000000 +0200
++++ opal-3.10.5.patched/plugins/video/H.263-1998/h263-1998.cxx 2012-06-10 
16:39:35.447021150 +0200
+@@ -51,6 +51,7 @@
+ #endif
+ 
+ #include "h263-1998.h"
++#include <libavutil/opt.h>
+ #include <limits>
+ #include <iomanip>
+ #include <stdio.h>
+@@ -324,9 +325,9 @@
+     // Level 2+ 
+     // works with eyeBeam, signaled via  non-standard "D"
+     if (atoi(value) == 1)
+-      m_context->flags |= CODEC_FLAG_H263P_UMV; 
++      av_opt_set_int(m_context->priv_data, "umv", 1, 0);
+     else
+-      m_context->flags &= ~CODEC_FLAG_H263P_UMV; 
++      av_opt_set_int(m_context->priv_data, "umv", 0, 0);
+     return;
+   }
+ 
+@@ -335,9 +336,9 @@
+     // Annex F: Advanced Prediction Mode
+     // does not work with eyeBeam
+     if (atoi(value) == 1)
+-      m_context->flags |= CODEC_FLAG_OBMC; 
++      av_opt_set_int(m_context->priv_data, "obmc", 1, 0);
+     else
+-      m_context->flags &= ~CODEC_FLAG_OBMC; 
++      av_opt_set_int(m_context->priv_data, "obmc", 0, 0);
+     return;
+   }
+ #endif
+@@ -367,9 +368,9 @@
+     // Annex K: Slice Structure
+     // does not work with eyeBeam
+     if (atoi(value) != 0)
+-      m_context->flags |= CODEC_FLAG_H263P_SLICE_STRUCT; 
++      av_opt_set_int(m_context->priv_data, "structured_slices", 1, 0);
+     else
+-      m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; 
++      av_opt_set_int(m_context->priv_data, "structured_slices", 0, 0);
+     return;
+   }
+ 
+@@ -377,9 +378,9 @@
+     // Annex S: Alternative INTER VLC mode
+     // does not work with eyeBeam
+     if (atoi(value) == 1)
+-      m_context->flags |= CODEC_FLAG_H263P_AIV; 
++      av_opt_set_int(m_context->priv_data, "aiv", 1, 0);
+     else
+-      m_context->flags &= ~CODEC_FLAG_H263P_AIV; 
++      av_opt_set_int(m_context->priv_data, "aiv", 0, 0);
+     return;
+   }
+ }
+@@ -445,15 +446,6 @@
+   PTRACE(5, m_prefix, "qmax set to " << m_context->qmax);
+   PTRACE(5, m_prefix, "payload size set to " << m_context->rtp_payload_size);
+ 
+-  #define CODEC_TRACER_FLAG(tracer, flag) \
+-    PTRACE(4, m_prefix, #flag " is " << ((m_context->flags & flag) ? 
"enabled" : "disabled"));
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_UMV);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_OBMC);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_AC_PRED);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_SLICE_STRUCT)
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_LOOP_FILTER);
+-  CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_AIV);
+-
+   return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0;
+ }
+ 
+@@ -516,7 +508,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);
+-    m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? 
FF_I_TYPE : AV_PICTURE_TYPE_NONE;
++    m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? 
AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE;
+ 
+     /*
+     m_inputFrame->pts = 
(int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE;
+@@ -598,13 +590,13 @@
+   m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack;
+   m_context->opaque = this; // used to separate out packets from different 
encode threads
+ 
+-  m_context->flags &= ~CODEC_FLAG_H263P_UMV;
++  av_opt_set_int(m_context->priv_data, "umv", 0, 0);
+   m_context->flags &= ~CODEC_FLAG_4MV;
+ #if LIBAVCODEC_RTP_MODE
+   m_context->flags &= ~CODEC_FLAG_H263P_AIC;
+ #endif
+-  m_context->flags &= ~CODEC_FLAG_H263P_AIV;
+-  m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT;
++  av_opt_set_int(m_context->priv_data, "aiv", 0, 0);
++  av_opt_set_int(m_context->priv_data, "structured_slices", 0, 0);
+ 
+   return true;
+ }
+diff -ru opal-3.10.5/plugins/video/H.264/gpl/h264_helper.cxx 
opal-3.10.5.patched/plugins/video/H.264/gpl/h264_helper.cxx
+--- opal-3.10.5/plugins/video/H.264/gpl/h264_helper.cxx        2012-04-26 
06:56:00.000000000 +0200
++++ opal-3.10.5.patched/plugins/video/H.264/gpl/h264_helper.cxx        
2012-06-10 16:49:11.210568639 +0200
+@@ -25,6 +25,7 @@
+ #include <fstream>
+ #include <stdlib.h> 
+ #include <sys/stat.h>
++#include <unistd.h>
+ 
+ 
+ #ifndef PLUGINCODEC_TRACING
+diff -ru opal-3.10.5/plugins/video/H.264/h264-x264.cxx 
opal-3.10.5.patched/plugins/video/H.264/h264-x264.cxx
+--- opal-3.10.5/plugins/video/H.264/h264-x264.cxx      2012-04-26 
06:56:00.000000000 +0200
++++ opal-3.10.5.patched/plugins/video/H.264/h264-x264.cxx      2012-06-10 
17:04:19.695646950 +0200
+@@ -1035,13 +1035,10 @@
+         return false;
+ 
+       m_context->workaround_bugs = FF_BUG_AUTODETECT;
+-      m_context->error_recognition = FF_ER_AGGRESSIVE;
+       m_context->idct_algo = FF_IDCT_H264;
+       m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
+       m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE;
+-      m_context->flags2 = CODEC_FLAG2_BRDO |
+-                          CODEC_FLAG2_MEMC_ONLY |
+-                          CODEC_FLAG2_DROP_FRAME_TIMECODE |
++      m_context->flags2 = CODEC_FLAG2_DROP_FRAME_TIMECODE |
+                           CODEC_FLAG2_SKIP_RD |
+                           CODEC_FLAG2_CHUNKS;
+ 
+diff -ru opal-3.10.5/plugins/video/H.264/shared/x264wrap.cxx 
opal-3.10.5.patched/plugins/video/H.264/shared/x264wrap.cxx
+--- opal-3.10.5/plugins/video/H.264/shared/x264wrap.cxx        2012-04-26 
06:56:00.000000000 +0200
++++ opal-3.10.5.patched/plugins/video/H.264/shared/x264wrap.cxx        
2012-06-10 17:04:46.012171051 +0200
+@@ -33,6 +33,7 @@
+ 
+ #include <codec/opalplugin.hpp>
+ #include <stdio.h>
++#include <unistd.h>
+ 
+ 
+ #if defined(X264_LICENSED) || defined(GPL_HELPER_APP)
+diff -ru opal-3.10.5/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 
opal-3.10.5.patched/plugins/video/MPEG4-ffmpeg/mpeg4.cxx
+--- opal-3.10.5/plugins/video/MPEG4-ffmpeg/mpeg4.cxx   2012-04-26 
06:56:02.000000000 +0200
++++ opal-3.10.5.patched/plugins/video/MPEG4-ffmpeg/mpeg4.cxx   2012-06-10 
16:46:33.498089705 +0200
+@@ -101,8 +101,10 @@
+ #include <libavutil/bswap.h>
+ #include <libavcodec/mpegvideo.h>
+ 
++
+ #else /* LIBAVCODEC_HAVE_SOURCE_DIR */
+ #include LIBAVCODEC_HEADER
++#include <libavutil/opt.h>
+ #endif /* LIBAVCODEC_HAVE_SOURCE_DIR */
+ }
+ 
+@@ -589,17 +591,17 @@
+     m_avpicture->quality = m_videoQMin;
+ 
+ #ifdef USE_ORIG
+-    m_avcontext->flags |= CODEC_FLAG_PART;   // data partitioning
++    av_opt_set_int(m_avcontext->priv_data, "data_partitionin", 1, 0);
+     m_avcontext->flags |= CODEC_FLAG_4MV;    // 4 motion vectors
+ #else
+     m_avcontext->max_b_frames=0; /*don't use b frames*/
+     m_avcontext->flags|=CODEC_FLAG_AC_PRED;
+-    m_avcontext->flags|=CODEC_FLAG_H263P_UMV;
++    av_opt_set_int(m_avcontext->priv_data, "umv", 1, 0);
+     /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces 
profile_level to advanced simple profile */
+     m_avcontext->flags|=CODEC_FLAG_4MV;
+     m_avcontext->flags|=CODEC_FLAG_GMC;
+     m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER;
+-    m_avcontext->flags|=CODEC_FLAG_H263P_SLICE_STRUCT;
++    av_opt_set_int(m_avcontext->priv_data, "structured_slices", 1, 0);
+ #endif
+     m_avcontext->opaque = this;              // for use in RTP callback
+ }
+@@ -804,7 +806,7 @@
+         // Should the next frame be an I-Frame?
+         if ((flags & PluginCodec_CoderForceIFrame) || (m_frameNum == 0))
+         {
+-            m_avpicture->pict_type = FF_I_TYPE;
++            m_avpicture->pict_type = AV_PICTURE_TYPE_I;
+         }
+         else // No IFrame requested, let avcodec decide what to do
+         {
+@@ -1325,7 +1327,7 @@
+ 
+ void MPEG4DecoderContext::SetStaticDecodingParams() {
+     m_avcontext->flags |= CODEC_FLAG_4MV; 
+-    m_avcontext->flags |= CODEC_FLAG_PART;
++    av_opt_set_int(m_avcontext->priv_data, "data_partitionin", 1, 0);
+     m_avcontext->workaround_bugs = 0; // no workaround for buggy 
implementations
+ }
+ 

Reply via email to