1 --- freerdp-1.0.2/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c.orig 2013-01-02 22:46:59.000000000 +0100
2 +++ freerdp-1.0.2/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c 2013-09-26 18:29:52.693695785 +0200
7 - enum CodecID codec_id;
8 + enum AVCodecID codec_id;
9 AVCodecContext* codec_context;
14 TSMFFFmpegDecoder* mdecoder = (TSMFFFmpegDecoder*) decoder;
16 - mdecoder->codec_context = avcodec_alloc_context();
17 + mdecoder->codec_context = avcodec_alloc_context3(NULL);
18 if (!mdecoder->codec_context)
20 DEBUG_WARN("avcodec_alloc_context failed.");
22 mdecoder->codec_context->channels = media_type->Channels;
23 mdecoder->codec_context->block_align = media_type->BlockAlign;
25 -#ifdef AV_CPU_FLAG_SSE2
26 - mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2;
28 -#if LIBAVCODEC_VERSION_MAJOR < 53
29 - mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMXEXT;
31 - mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMX2;
40 TSMFFFmpegDecoder* mdecoder = (TSMFFFmpegDecoder*) decoder;
42 - if (avcodec_open(mdecoder->codec_context, mdecoder->codec) < 0)
43 + if (avcodec_open2(mdecoder->codec_context, mdecoder->codec, NULL) < 0)
45 DEBUG_WARN("avcodec_open failed.");
50 if (mdecoder->decoded_size_max == 0)
51 - mdecoder->decoded_size_max = AVCODEC_MAX_AUDIO_FRAME_SIZE + 16;
52 + mdecoder->decoded_size_max = 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */ + 16;
53 mdecoder->decoded_data = xzalloc(mdecoder->decoded_size_max);
54 /* align the memory for SSE2 needs */
55 dst = (uint8*) (((uintptr_t)mdecoder->decoded_data + 15) & ~ 0x0F);
59 /* Ensure enough space for decoding */
60 - if (mdecoder->decoded_size_max - mdecoder->decoded_size < AVCODEC_MAX_AUDIO_FRAME_SIZE)
61 + if (mdecoder->decoded_size_max - mdecoder->decoded_size < 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */)
63 mdecoder->decoded_size_max = mdecoder->decoded_size_max * 2 + 16;
64 mdecoder->decoded_data = xrealloc(mdecoder->decoded_data, mdecoder->decoded_size_max);
70 avcodec_register_all();