Changeset 809 for branches

Show
Ignore:
Timestamp:
02/15/08 14:33:05 (5 months ago)
Author:
astrange
Message:

ffmpeg doesn't check for altivec presence before setting h263 idcts; fix this. closes #314

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/perian-1.1/ffmpeg-patch

    r780 r809  
    1 diff -ru ffmpeg/libavcodec/dsputil.c ffmpeg-/libavcodec/dsputil.c 
    2 --- ffmpeg/libavcodec/dsputil.c 2008-01-20 15:05:32.000000000 -0500 
    3 +++ ffmpeg-/libavcodec/dsputil.c        2008-01-20 17:09:12.000000000 -0500 
     1diff -ruN ffmpeg/libavcodec/dsputil.c ffmpeg-/libavcodec/dsputil.c 
     2--- ffmpeg/libavcodec/dsputil.c 2008-02-15 15:13:00.000000000 -0500 
     3+++ ffmpeg-/libavcodec/dsputil.c        2008-02-15 15:15:51.000000000 -0500 
    44@@ -1440,6 +1440,7 @@ 
    55     \ 
     
    9292  
    9393 #define op_avg(a, b) a = (((a)+(((b) + 32)>>6)+1)>>1) 
    94 diff -ru ffmpeg/libavcodec/i386/dsputil_h264_template_mmx.c ffmpeg-/libavcodec/i386/dsputil_h264_template_mmx.c 
    95 --- ffmpeg/libavcodec/i386/dsputil_h264_template_mmx.c  2008-01-20 15:05:31.000000000 -0500 
    96 +++ ffmpeg-/libavcodec/i386/dsputil_h264_template_mmx.c 2008-01-20 17:08:31.000000000 -0500 
     94diff -ruN ffmpeg/libavcodec/i386/dsputil_h264_template_mmx.c ffmpeg-/libavcodec/i386/dsputil_h264_template_mmx.c 
     95--- ffmpeg/libavcodec/i386/dsputil_h264_template_mmx.c  2008-02-15 15:12:38.000000000 -0500 
     96+++ ffmpeg-/libavcodec/i386/dsputil_h264_template_mmx.c 2008-02-15 15:15:51.000000000 -0500 
    9797@@ -182,14 +182,26 @@ 
    9898     } 
     
    133133 } 
    134134  
    135 diff -ru ffmpeg/libavcodec/i386/dsputil_mmx.c ffmpeg-/libavcodec/i386/dsputil_mmx.c 
    136 --- ffmpeg/libavcodec/i386/dsputil_mmx.c        2008-01-20 15:05:31.000000000 -0500 
    137 +++ ffmpeg-/libavcodec/i386/dsputil_mmx.c       2008-01-20 17:03:15.000000000 -0500 
     135diff -ruN ffmpeg/libavcodec/i386/dsputil_mmx.c ffmpeg-/libavcodec/i386/dsputil_mmx.c 
     136--- ffmpeg/libavcodec/i386/dsputil_mmx.c        2008-02-15 15:12:38.000000000 -0500 
     137+++ ffmpeg-/libavcodec/i386/dsputil_mmx.c       2008-02-15 15:15:51.000000000 -0500 
    138138@@ -1918,7 +1918,7 @@ 
    139139  
     
    386386          "r"(data+n2), "r"(data+len-2-n2)\ 
    387387     ); 
    388 diff -ru ffmpeg/libavcodec/i386/h264dsp_mmx.c ffmpeg-/libavcodec/i386/h264dsp_mmx.c 
    389 --- ffmpeg/libavcodec/i386/h264dsp_mmx.c        2008-01-20 15:05:31.000000000 -0500 
    390 +++ ffmpeg-/libavcodec/i386/h264dsp_mmx.c       2008-01-20 17:03:15.000000000 -0500 
     388diff -ruN ffmpeg/libavcodec/i386/h264dsp_mmx.c ffmpeg-/libavcodec/i386/h264dsp_mmx.c 
     389--- ffmpeg/libavcodec/i386/h264dsp_mmx.c        2008-02-15 15:12:38.000000000 -0500 
     390+++ ffmpeg-/libavcodec/i386/h264dsp_mmx.c       2008-02-15 15:15:51.000000000 -0500 
    391391@@ -341,21 +341,21 @@ 
    392392 // in: mm0=p1 mm1=p0 mm2=q0 mm3=q1 mm7=(tc&mask) 
     
    448448 } 
    449449  
    450 diff -ru ffmpeg/libavcodec/i386/motion_est_mmx.c ffmpeg-/libavcodec/i386/motion_est_mmx.c 
    451 --- ffmpeg/libavcodec/i386/motion_est_mmx.c     2008-01-20 15:05:31.000000000 -0500 
    452 +++ ffmpeg-/libavcodec/i386/motion_est_mmx.c    2008-01-20 17:03:15.000000000 -0500 
     450diff -ruN ffmpeg/libavcodec/i386/motion_est_mmx.c ffmpeg-/libavcodec/i386/motion_est_mmx.c 
     451--- ffmpeg/libavcodec/i386/motion_est_mmx.c     2008-02-15 15:12:38.000000000 -0500 
     452+++ ffmpeg-/libavcodec/i386/motion_est_mmx.c    2008-02-15 15:15:51.000000000 -0500 
    453453@@ -167,7 +167,7 @@ 
    454454 static inline void sad8_4_mmx2(uint8_t *blk1, uint8_t *blk2, int stride, int h) 
     
    487487 } 
    488488  
    489 diff -ru ffmpeg/libavcodec/i386/simple_idct_mmx.c ffmpeg-/libavcodec/i386/simple_idct_mmx.c 
    490 --- ffmpeg/libavcodec/i386/simple_idct_mmx.c    2008-01-20 15:05:31.000000000 -0500 
    491 +++ ffmpeg-/libavcodec/i386/simple_idct_mmx.c   2008-01-20 17:03:15.000000000 -0500 
     489diff -ruN ffmpeg/libavcodec/i386/simple_idct_mmx.c ffmpeg-/libavcodec/i386/simple_idct_mmx.c 
     490--- ffmpeg/libavcodec/i386/simple_idct_mmx.c    2008-02-15 15:12:38.000000000 -0500 
     491+++ ffmpeg-/libavcodec/i386/simple_idct_mmx.c   2008-02-15 15:15:51.000000000 -0500 
    492492@@ -363,7 +363,7 @@ 
    493493         "movq " #src4 ", %%mm1          \n\t" /* R6     R2      r6      r2 */\ 
     
    535535         ); 
    536536 } 
     537diff -ruN ffmpeg/libavcodec/ppc/mpegvideo_altivec.c ffmpeg-/libavcodec/ppc/mpegvideo_altivec.c 
     538--- ffmpeg/libavcodec/ppc/mpegvideo_altivec.c   2008-02-15 15:12:50.000000000 -0500 
     539+++ ffmpeg-/libavcodec/ppc/mpegvideo_altivec.c  2008-02-15 15:16:25.000000000 -0500 
     540@@ -610,7 +610,7 @@ 
     541 { 
     542     if (s->avctx->lowres==0) 
     543     { 
     544-        if ((s->avctx->idct_algo == FF_IDCT_AUTO) || 
     545+        if ((mm_flags & MM_ALTIVEC && s->avctx->idct_algo == FF_IDCT_AUTO) || 
     546                 (s->avctx->idct_algo == FF_IDCT_ALTIVEC)) 
     547         { 
     548             s->dsp.idct_put = idct_put_altivec; 
     549@@ -636,7 +636,7 @@ 
     550     } 
     551  
     552  
     553-    if ((s->avctx->dct_algo == FF_DCT_AUTO) || 
     554+    if ((mm_flags & MM_ALTIVEC && s->avctx->dct_algo == FF_DCT_AUTO) || 
     555             (s->avctx->dct_algo == FF_DCT_ALTIVEC)) 
     556     { 
     557 #if 0 /* seems to cause trouble under some circumstances */