changeset 27702:b6a499f72725

Invert logic for the single-pass in swScale() functions. Instead of having a firstTime variable defaulting to 1, have a warnedAlready defaulting to 0. While this should make no difference in code speed at runtime, it allows to aggregate the four bytes of that variable with clip_table in .bss section, rather than issuing a .data section just for that. As it is, libswscale require no .data section but .data.rel.ro (that can be mitigated by prelinking), so the change might actually save one page of memory at runtime (per process).
author flameeyes
date Thu, 09 Oct 2008 11:10:30 +0000
parents 5916162c1bd3
children 3815517f49d4
files libswscale/swscale_template.c
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libswscale/swscale_template.c	Thu Oct 09 08:36:04 2008 +0000
+++ b/libswscale/swscale_template.c	Thu Oct 09 11:10:30 2008 +0000
@@ -2964,12 +2964,12 @@
 
     if (dstStride[0]%8 !=0 || dstStride[1]%8 !=0 || dstStride[2]%8 !=0)
     {
-        static int firstTime=1; //FIXME move this into the context perhaps
-        if (flags & SWS_PRINT_INFO && firstTime)
+        static int warnedAlready=0; //FIXME move this into the context perhaps
+        if (flags & SWS_PRINT_INFO && !warnedAlready)
         {
             av_log(c, AV_LOG_WARNING, "Warning: dstStride is not aligned!\n"
                    "         ->cannot do aligned memory accesses anymore\n");
-            firstTime=0;
+            warnedAlready=1;
         }
     }