]> git.pld-linux.org Git - packages/freerdp.git/blobdiff - freerdp-ffmpeg.patch
Revert "- up to 2.0 devel version (git snapshot) due to problems with compatibility...
[packages/freerdp.git] / freerdp-ffmpeg.patch
diff --git a/freerdp-ffmpeg.patch b/freerdp-ffmpeg.patch
new file mode 100644 (file)
index 0000000..ebf0c2d
--- /dev/null
@@ -0,0 +1,72 @@
+--- freerdp-1.0.2/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c.orig      2013-01-02 22:46:59.000000000 +0100
++++ freerdp-1.0.2/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c   2013-09-26 18:29:52.693695785 +0200
+@@ -39,7 +39,7 @@
+       ITSMFDecoder iface;
+       int media_type;
+-      enum CodecID codec_id;
++      enum AVCodecID codec_id;
+       AVCodecContext* codec_context;
+       AVCodec* codec;
+       AVFrame* frame;
+@@ -54,7 +54,7 @@
+ {
+       TSMFFFmpegDecoder* mdecoder = (TSMFFFmpegDecoder*) decoder;
+-      mdecoder->codec_context = avcodec_alloc_context();
++      mdecoder->codec_context = avcodec_alloc_context3(NULL);
+       if (!mdecoder->codec_context)
+       {
+               DEBUG_WARN("avcodec_alloc_context failed.");
+@@ -88,16 +88,6 @@
+       mdecoder->codec_context->channels = media_type->Channels;
+       mdecoder->codec_context->block_align = media_type->BlockAlign;
+-#ifdef AV_CPU_FLAG_SSE2
+-      mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2;
+-#else
+-#if LIBAVCODEC_VERSION_MAJOR < 53
+-      mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMXEXT;
+-#else
+-      mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMX2;
+-#endif
+-#endif
+-
+       return true;
+ }
+@@ -174,7 +164,7 @@
+ {
+       TSMFFFmpegDecoder* mdecoder = (TSMFFFmpegDecoder*) decoder;
+-      if (avcodec_open(mdecoder->codec_context, mdecoder->codec) < 0)
++      if (avcodec_open2(mdecoder->codec_context, mdecoder->codec, NULL) < 0)
+       {
+               DEBUG_WARN("avcodec_open failed.");
+               return false;
+@@ -337,7 +327,7 @@
+ #endif
+       if (mdecoder->decoded_size_max == 0)
+-              mdecoder->decoded_size_max = AVCODEC_MAX_AUDIO_FRAME_SIZE + 16;
++              mdecoder->decoded_size_max = 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */ + 16;
+       mdecoder->decoded_data = xzalloc(mdecoder->decoded_size_max);
+       /* align the memory for SSE2 needs */
+       dst = (uint8*) (((uintptr_t)mdecoder->decoded_data + 15) & ~ 0x0F);
+@@ -348,7 +338,7 @@
+       while (src_size > 0)
+       {
+               /* Ensure enough space for decoding */
+-              if (mdecoder->decoded_size_max - mdecoder->decoded_size < AVCODEC_MAX_AUDIO_FRAME_SIZE)
++              if (mdecoder->decoded_size_max - mdecoder->decoded_size < 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */)
+               {
+                       mdecoder->decoded_size_max = mdecoder->decoded_size_max * 2 + 16;
+                       mdecoder->decoded_data = xrealloc(mdecoder->decoded_data, mdecoder->decoded_size_max);
+@@ -499,7 +489,6 @@
+       if (!initialized)
+       {
+-              avcodec_init();
+               avcodec_register_all();
+               initialized = true;
+       }
This page took 0.178557 seconds and 4 git commands to generate.