# HG changeset patch # User kabi # Date 1037949868 0 # Node ID 34943cb0c2fbd0c42361ac37923a8ca74e44acd8 # Parent d326091dae9fca7d02a0a0e0e56978e18417aa25 * remaining part of John Ryland's patch diff -r d326091dae9f -r 34943cb0c2fb dsputil.c --- a/dsputil.c Wed Nov 20 15:18:11 2002 +0000 +++ b/dsputil.c Fri Nov 22 07:24:28 2002 +0000 @@ -1322,7 +1322,7 @@ 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]; diff -r d326091dae9f -r 34943cb0c2fb mpegvideo.c --- a/mpegvideo.c Wed Nov 20 15:18:11 2002 +0000 +++ b/mpegvideo.c Fri Nov 22 07:24:28 2002 +0000 @@ -3074,7 +3074,8 @@ *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; }