<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">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 &lt;libavutil/opt.h&gt;
 #include &lt;limits&gt;
 #include &lt;iomanip&gt;
 #include &lt;stdio.h&gt;
@@ -324,9 +325,9 @@
     // Level 2+
     // works with eyeBeam, signaled via  non-standard "D"
     if (atoi(value) == 1)
-      m_context-&gt;flags |= CODEC_FLAG_H263P_UMV; 
+      av_opt_set_int(m_context-&gt;priv_data, "umv", 1, 0);
     else
-      m_context-&gt;flags &amp;= ~CODEC_FLAG_H263P_UMV; 
+      av_opt_set_int(m_context-&gt;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-&gt;flags |= CODEC_FLAG_OBMC; 
+      av_opt_set_int(m_context-&gt;priv_data, "obmc", 1, 0);
     else
-      m_context-&gt;flags &amp;= ~CODEC_FLAG_OBMC; 
+      av_opt_set_int(m_context-&gt;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-&gt;flags |= CODEC_FLAG_H263P_SLICE_STRUCT; 
+      av_opt_set_int(m_context-&gt;priv_data, "structured_slices", 1, 0);
     else
-      m_context-&gt;flags &amp;= ~CODEC_FLAG_H263P_SLICE_STRUCT; 
+      av_opt_set_int(m_context-&gt;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-&gt;flags |= CODEC_FLAG_H263P_AIV; 
+      av_opt_set_int(m_context-&gt;priv_data, "aiv", 1, 0);
     else
-      m_context-&gt;flags &amp;= ~CODEC_FLAG_H263P_AIV; 
+      av_opt_set_int(m_context-&gt;priv_data, "aiv", 0, 0);
     return;
   }
 }
@@ -445,15 +446,6 @@
   PTRACE(5, m_prefix, "qmax set to " &lt;&lt; m_context-&gt;qmax);
   PTRACE(5, m_prefix, "payload size set to " &lt;&lt; m_context-&gt;rtp_payload_size);

-  #define CODEC_TRACER_FLAG(tracer, flag) \
-    PTRACE(4, m_prefix, #flag " is " &lt;&lt; ((m_context-&gt;flags &amp; 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-&gt;data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header-&gt;width*header-&gt;height*3/2);
-    m_inputFrame-&gt;pict_type = (flags &amp; PluginCodec_CoderForceIFrame) ? FF_I_TYPE : AV_PICTURE_TYPE_NONE;
+    m_inputFrame-&gt;pict_type = (flags &amp; PluginCodec_CoderForceIFrame) ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE;

     /*
     m_inputFrame-&gt;pts = (int64_t)srcRTP.GetTimestamp()*m_context-&gt;time_base.den/m_context-&gt;time_base.num/VIDEO_CLOCKRATE;
@@ -598,13 +590,13 @@
   m_context-&gt;rtp_callback = &amp;H263_RFC2190_EncoderContext::RTPCallBack;
   m_context-&gt;opaque = this; // used to separate out packets from different encode threads

-  m_context-&gt;flags &amp;= ~CODEC_FLAG_H263P_UMV;
+  av_opt_set_int(m_context-&gt;priv_data, "umv", 0, 0);
   m_context-&gt;flags &amp;= ~CODEC_FLAG_4MV;
 #if LIBAVCODEC_RTP_MODE
   m_context-&gt;flags &amp;= ~CODEC_FLAG_H263P_AIC;
 #endif
-  m_context-&gt;flags &amp;= ~CODEC_FLAG_H263P_AIV;
-  m_context-&gt;flags &amp;= ~CODEC_FLAG_H263P_SLICE_STRUCT;
+  av_opt_set_int(m_context-&gt;priv_data, "aiv", 0, 0);
+  av_opt_set_int(m_context-&gt;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 &lt;fstream&gt;
 #include &lt;stdlib.h&gt;
 #include &lt;sys/stat.h&gt;
+#include &lt;unistd.h&gt;


 #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-&gt;workaround_bugs = FF_BUG_AUTODETECT;
-      m_context-&gt;error_recognition = FF_ER_AGGRESSIVE;
       m_context-&gt;idct_algo = FF_IDCT_H264;
       m_context-&gt;error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
       m_context-&gt;flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE;
-      m_context-&gt;flags2 = CODEC_FLAG2_BRDO |
-                          CODEC_FLAG2_MEMC_ONLY |
-                          CODEC_FLAG2_DROP_FRAME_TIMECODE |
+      m_context-&gt;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 &lt;codec/opalplugin.hpp&gt;
 #include &lt;stdio.h&gt;
+#include &lt;unistd.h&gt;


 #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 &lt;libavutil/bswap.h&gt;
 #include &lt;libavcodec/mpegvideo.h&gt;

+
 #else /* LIBAVCODEC_HAVE_SOURCE_DIR */
 #include LIBAVCODEC_HEADER
+#include &lt;libavutil/opt.h&gt;
 #endif /* LIBAVCODEC_HAVE_SOURCE_DIR */
 }

@@ -589,17 +591,17 @@
     m_avpicture-&gt;quality = m_videoQMin;

 #ifdef USE_ORIG
-    m_avcontext-&gt;flags |= CODEC_FLAG_PART;   // data partitioning
+    av_opt_set_int(m_avcontext-&gt;priv_data, "data_partitionin", 1, 0);
     m_avcontext-&gt;flags |= CODEC_FLAG_4MV;    // 4 motion vectors
 #else
     m_avcontext-&gt;max_b_frames=0; /*don't use b frames*/
     m_avcontext-&gt;flags|=CODEC_FLAG_AC_PRED;
-    m_avcontext-&gt;flags|=CODEC_FLAG_H263P_UMV;
+    av_opt_set_int(m_avcontext-&gt;priv_data, "umv", 1, 0);
     /*c-&gt;flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */
     m_avcontext-&gt;flags|=CODEC_FLAG_4MV;
     m_avcontext-&gt;flags|=CODEC_FLAG_GMC;
     m_avcontext-&gt;flags|=CODEC_FLAG_LOOP_FILTER;
-    m_avcontext-&gt;flags|=CODEC_FLAG_H263P_SLICE_STRUCT;
+    av_opt_set_int(m_avcontext-&gt;priv_data, "structured_slices", 1, 0);
 #endif
     m_avcontext-&gt;opaque = this;              // for use in RTP callback
 }
@@ -804,7 +806,7 @@
         // Should the next frame be an I-Frame?
         if ((flags &amp; PluginCodec_CoderForceIFrame) || (m_frameNum == 0))
         {
-            m_avpicture-&gt;pict_type = FF_I_TYPE;
+            m_avpicture-&gt;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-&gt;flags |= CODEC_FLAG_4MV; 
-    m_avcontext-&gt;flags |= CODEC_FLAG_PART;
+    av_opt_set_int(m_avcontext-&gt;priv_data, "data_partitionin", 1, 0);
     m_avcontext-&gt;workaround_bugs = 0; // no workaround for buggy implementations
 }
</pre></body></html>