* remaining part of John Ryland's patch
authorZdenek Kabelac <kabi@informatics.muni.cz>
Fri, 22 Nov 2002 07:24:28 +0000 (07:24 +0000)
committerZdenek Kabelac <kabi@informatics.muni.cz>
Fri, 22 Nov 2002 07:24:28 +0000 (07:24 +0000)
Originally committed as revision 1267 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/dsputil.c
libavcodec/mpegvideo.c

index 5952d92..a8e060b 100644 (file)
@@ -1322,7 +1322,7 @@ void ff_block_permute(INT16 *block, UINT8 *permutation, const UINT8 *scantable,
     INT16 temp[64];
     
     if(last<=0) return;
-    if(permutation[1]==1) return; //FIXME its ok but not clean and might fail for some perms
+    //if(permutation[1]==1) return; //FIXME its ok but not clean and might fail for some perms
 
     for(i=0; i<=last; i++){
         const int j= scantable[i];
index 7f21f33..5e67ebd 100644 (file)
@@ -3074,7 +3074,8 @@ static int dct_quantize_c(MpegEncContext *s,
     *overflow= s->max_qcoeff < max; //overflow might have happend
     
     /* we need this permutation so that we correct the IDCT, we only permute the !=0 elements */
-    ff_block_permute(block, s->idct_permutation, scantable, last_non_zero);
+    if (s->idct_permutation_type != FF_NO_IDCT_PERM)
+       ff_block_permute(block, s->idct_permutation, scantable, last_non_zero);
 
     return last_non_zero;
 }