avcodec/utvideodec: Factor multiply out of inner loop
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 27 Jun 2017 19:47:35 +0000 (21:47 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 28 Jun 2017 12:08:21 +0000 (14:08 +0200)
0.5% faster loop

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/utvideodec.c

index 22da8cd..40c1277 100644 (file)
@@ -195,7 +195,8 @@ static int decode_plane10(UtvideoContext *c, int plane_no,
 
         prev = 0x200;
         for (j = sstart; j < send; j++) {
-            for (i = 0; i < width * step; i += step) {
+            int ws = width * step;
+            for (i = 0; i < ws; i += step) {
                 pix = get_vlc2(&gb, vlc.table, VLC_BITS, 3);
                 if (pix < 0) {
                     av_log(c->avctx, AV_LOG_ERROR, "Decoding error\n");
@@ -299,7 +300,8 @@ static int decode_plane(UtvideoContext *c, int plane_no,
 
         prev = 0x80;
         for (j = sstart; j < send; j++) {
-            for (i = 0; i < width * step; i += step) {
+            int ws = width * step;
+            for (i = 0; i < ws; i += step) {
                 pix = get_vlc2(&gb, vlc.table, VLC_BITS, 3);
                 if (pix < 0) {
                     av_log(c->avctx, AV_LOG_ERROR, "Decoding error\n");