[FFmpeg-cvslog] vorbis: simplify the inner loop in setup_classifs

Luca Barbato git at videolan.org
Mon May 20 11:52:08 CEST 2013


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Sun May 19 18:59:13 2013 +0200| [ddf1b4a2f8a680126eb611428e4f47e6e5b8c6c0] | committer: Luca Barbato

vorbis: simplify the inner loop in setup_classifs

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ddf1b4a2f8a680126eb611428e4f47e6e5b8c6c0
---

 libavcodec/vorbisdec.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
index 718f760..caf36eb 100644
--- a/libavcodec/vorbisdec.c
+++ b/libavcodec/vorbisdec.c
@@ -1321,11 +1321,11 @@ static av_always_inline int setup_classifs(vorbis_context *vc,
 
             assert(vr->classifications > 1 && temp <= 65536); //needed for inverse[]
 
-            for (i = 0; i < c_p_c; ++i) {
+            for (i = partition_count + c_p_c - 1; i >= partition_count; i--) {
                 temp2 = (((uint64_t)temp) * inverse_class) >> 32;
-                if (partition_count + c_p_c - 1 - i < vr->ptns_to_read)
-                    vr->classifs[p + partition_count + c_p_c - 1 - i] =
-                        temp - temp2 * vr->classifications;
+
+                if (i < vr->ptns_to_read)
+                    vr->classifs[p + i] = temp - temp2 * vr->classifications;
                 temp = temp2;
             }
         }



More information about the ffmpeg-cvslog mailing list