summaryrefslogtreecommitdiff
path: root/extra/opal/opal-ffmpeg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/opal/opal-ffmpeg.patch')
-rw-r--r--extra/opal/opal-ffmpeg.patch185
1 files changed, 101 insertions, 84 deletions
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"