[FFmpeg-cvslog] r14250 - trunk/libavcodec/vorbis_dec.c

lorenm subversion
Wed Jul 16 01:01:15 CEST 2008


Author: lorenm
Date: Wed Jul 16 01:01:15 2008
New Revision: 14250

Log:
unroll another common case in vorbis_residue_decode


Modified:
   trunk/libavcodec/vorbis_dec.c

Modified: trunk/libavcodec/vorbis_dec.c
==============================================================================
--- trunk/libavcodec/vorbis_dec.c	(original)
+++ trunk/libavcodec/vorbis_dec.c	Wed Jul 16 01:01:15 2008
@@ -1330,6 +1330,14 @@ static int vorbis_residue_decode(vorbis_
                                         vec[voffs+k     ]+=codebook.codevectors[coffs  ];  // FPMATH
                                         vec[voffs+k+vlen]+=codebook.codevectors[coffs+1];  // FPMATH
                                     }
+                                } else if(dim==4) {
+                                    for(k=0;k<step;++k, voffs+=2) {
+                                        coffs=get_vlc2(gb, codebook.vlc.table, codebook.nb_bits, 3) * 4;
+                                        vec[voffs       ]+=codebook.codevectors[coffs  ];  // FPMATH
+                                        vec[voffs+1     ]+=codebook.codevectors[coffs+2];  // FPMATH
+                                        vec[voffs+vlen  ]+=codebook.codevectors[coffs+1];  // FPMATH
+                                        vec[voffs+vlen+1]+=codebook.codevectors[coffs+3];  // FPMATH
+                                    }
                                 } else
                                 for(k=0;k<step;++k) {
                                     coffs=get_vlc2(gb, codebook.vlc.table, codebook.nb_bits, 3) * dim;




More information about the ffmpeg-cvslog mailing list