[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20751] trunk/lib/windows/ffmpeg: FFmpeg: win32 DLL update.

Benoit Bolsee benoit.bolsee at online.be
Tue Jun 9 13:53:37 CEST 2009


Revision: 20751
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20751
Author:   ben2610
Date:     2009-06-09 13:53:37 +0200 (Tue, 09 Jun 2009)

Log Message:
-----------
FFmpeg: win32 DLL update. Applied new patches from extern/ffmpeg/patches: ffmpeg_work_around_dv_crash.patch and ffmpeg_work_around_ac3_sse2_crash.patch.

Modified Paths:
--------------
    trunk/lib/windows/ffmpeg/lib/avcodec-52.dll
    trunk/lib/windows/ffmpeg/lib/avcodec-52.lib
    trunk/lib/windows/ffmpeg/lib/avdevice-52.dll
    trunk/lib/windows/ffmpeg/lib/avdevice-52.lib
    trunk/lib/windows/ffmpeg/lib/avformat-52.dll
    trunk/lib/windows/ffmpeg/lib/avformat-52.lib
    trunk/lib/windows/ffmpeg/lib/avutil-50.dll
    trunk/lib/windows/ffmpeg/lib/swscale-0.dll

Added Paths:
-----------
    trunk/lib/windows/ffmpeg/ffmpeg_work_around_ac3_sse2_crash.patch
    trunk/lib/windows/ffmpeg/ffmpeg_work_around_dv_crash.patch

Added: trunk/lib/windows/ffmpeg/ffmpeg_work_around_ac3_sse2_crash.patch
===================================================================
--- trunk/lib/windows/ffmpeg/ffmpeg_work_around_ac3_sse2_crash.patch	                        (rev 0)
+++ trunk/lib/windows/ffmpeg/ffmpeg_work_around_ac3_sse2_crash.patch	2009-06-09 11:53:37 UTC (rev 20751)
@@ -0,0 +1,18 @@
+Index: libavcodec/x86/dsputil_mmx.c
+===================================================================
+--- libavcodec/x86/dsputil_mmx.c	(revision 20545)
++++ libavcodec/x86/dsputil_mmx.c	(working copy)
+@@ -3000,7 +3000,12 @@
+         if(mm_flags & FF_MM_SSE2){
+             c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_sse2;
+             c->float_to_int16 = float_to_int16_sse2;
+-            c->float_to_int16_interleave = float_to_int16_interleave_sse2;
++	    /*  
++		Blender quick fix: segfaults with AC3-files. Please remove,
++		if you find out why. Probably alignment issue? (Peter Schlaile)
++
++		c->float_to_int16_interleave = float_to_int16_interleave_sse2; 
++	    */
+             c->add_int16 = add_int16_sse2;
+             c->sub_int16 = sub_int16_sse2;
+             c->scalarproduct_int16 = scalarproduct_int16_sse2;

Added: trunk/lib/windows/ffmpeg/ffmpeg_work_around_dv_crash.patch
===================================================================
--- trunk/lib/windows/ffmpeg/ffmpeg_work_around_dv_crash.patch	                        (rev 0)
+++ trunk/lib/windows/ffmpeg/ffmpeg_work_around_dv_crash.patch	2009-06-09 11:53:37 UTC (rev 20751)
@@ -0,0 +1,40 @@
+Index: libavformat/dv.c
+===================================================================
+--- libavformat/dv.c	(revision 20714)
++++ libavformat/dv.c	(working copy)
+@@ -380,9 +380,12 @@
+ 
+ void dv_offset_reset(DVDemuxContext *c, int64_t frame_offset)
+ {
++    // FIXME: sys may be wrong if last dv_read_packet() failed (buffer is junk)
++    const DVprofile* sys = dv_codec_profile(c->vst->codec);
++
+     c->frames= frame_offset;
+     if (c->ach)
+-        c->abytes= av_rescale_q(c->frames, c->sys->time_base,
++        c->abytes= av_rescale_q(c->frames, sys->time_base,
+                                 (AVRational){8, c->ast[0]->codec->bit_rate});
+     c->audio_pkt[0].size = c->audio_pkt[1].size = 0;
+     c->audio_pkt[2].size = c->audio_pkt[3].size = 0;
+@@ -460,9 +463,20 @@
+     RawDVContext *r   = s->priv_data;
+     DVDemuxContext *c = r->dv_demux;
+     int64_t offset    = dv_frame_offset(s, c, timestamp, flags);
++    // FIXME: sys may be wrong if last dv_read_packet() failed (buffer is junk)
++    const DVprofile* sys = dv_codec_profile(c->vst->codec);
+ 
+-    dv_offset_reset(c, offset / c->sys->frame_size);
++    if (!c->sys) {
++        av_log(s, AV_LOG_ERROR, 
++	       "dv_read_seek: c->sys == NULL, "
++	       "frame_size=%d, offset=%lld, "
++	       "restoring c->sys using c->vst->codec.\n", 
++	       sys->frame_size, offset);
++	c->sys = sys;
++    }
+ 
++    dv_offset_reset(c, offset / sys->frame_size);
++
+     offset = url_fseek(s->pb, offset, SEEK_SET);
+     return (offset < 0) ? offset : 0;
+ }

Modified: trunk/lib/windows/ffmpeg/lib/avcodec-52.dll
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/ffmpeg/lib/avcodec-52.lib
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/ffmpeg/lib/avdevice-52.dll
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/ffmpeg/lib/avdevice-52.lib
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/ffmpeg/lib/avformat-52.dll
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/ffmpeg/lib/avformat-52.lib
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/ffmpeg/lib/avutil-50.dll
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/ffmpeg/lib/swscale-0.dll
===================================================================
(Binary files differ)





More information about the Bf-blender-cvs mailing list