]> git.sesse.net Git - ffmpeg/blobdiff - libswscale/swscale.c
Remove ASSERT() macro. SoC Patch from Keiji Costantini
[ffmpeg] / libswscale / swscale.c
index 95ca40cebfbdcfa27b98cc362d5ae13221780886..faeab7b7c69a68702054a1c2e088176b52a45a9b 100644 (file)
@@ -38,7 +38,7 @@
 */
 
 /*
-tested special converters (most are tested actually but i didnt write it down ...)
+tested special converters (most are tested actually, but I did not write it down ...)
  YV12 -> BGR16
  YV12 -> YV12
  BGR15 -> BGR16
@@ -69,9 +69,9 @@ untested special converters
 #endif
 #include "swscale.h"
 #include "swscale_internal.h"
-#include "x86_cpu.h"
-#include "bswap.h"
 #include "rgb2rgb.h"
+#include "libavutil/x86_cpu.h"
+#include "libavutil/bswap.h"
 #include "libavcodec/opt.h"
 
 #undef MOVNTQ
@@ -88,12 +88,6 @@ untested special converters
 
 #define RET 0xC3 //near return opcode for X86
 
-#ifdef MP_DEBUG
-#define ASSERT(x) assert(x);
-#else
-#define ASSERT(x) ;
-#endif
-
 #ifdef M_PI
 #define PI M_PI
 #else
@@ -274,9 +268,9 @@ static const AVOption options[] = {
 #undef VE
 #undef DEFAULT
 
-static AVClass sws_context_class = { "SWScaler", sws_context_to_name, options };
+static const AVClass sws_context_class = { "SWScaler", sws_context_to_name, options };
 
-char *sws_format_name(enum PixelFormat format)
+const char *sws_format_name(enum PixelFormat format)
 {
     switch (format) {
         case PIX_FMT_YUV420P:
@@ -362,16 +356,6 @@ char *sws_format_name(enum PixelFormat format)
     }
 }
 
-#if defined(ARCH_X86) && defined (CONFIG_GPL)
-void in_asm_used_var_warning_killer()
-{
-    volatile int i= bF8+bFC+w10+
-    bm00001111+bm00000111+bm11111000+b16Mask+g16Mask+r16Mask+b15Mask+g15Mask+r15Mask+
-    ff_M24A+ff_M24B+ff_M24C+w02 + b5Dither+g5Dither+r5Dither+g6Dither+ff_dither4[0]+ff_dither8[0]+bm01010101;
-    if (i) i=0;
-}
-#endif
-
 static inline void yuv2yuvXinC(int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize,
                                int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize,
                                uint8_t *dest, uint8_t *uDest, uint8_t *vDest, int dstW, int chrDstW)
@@ -913,14 +897,12 @@ static inline void yuv2packedXinC(SwsContext *c, int16_t *lumFilter, int16_t **l
 #include "swscale_template.c"
 #endif
 
-#ifdef ARCH_POWERPC
 #ifdef COMPILE_ALTIVEC
 #undef RENAME
 #define HAVE_ALTIVEC
 #define RENAME(a) a ## _altivec
 #include "swscale_template.c"
 #endif
-#endif //ARCH_POWERPC
 
 #if defined(ARCH_X86)
 
@@ -1072,7 +1054,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
         else if (flags&SWS_BILINEAR)     sizeFactor=  2.0;
         else {
             sizeFactor= 0.0; //GCC warning killer
-            ASSERT(0)
+            assert(0);
         }
 
         if (xInc1 <= 1.0)       filterSizeInSrc= sizeFactor; // upscale
@@ -1157,7 +1139,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
                 }
                 else {
                     coeff= 0.0; //GCC warning killer
-                    ASSERT(0)
+                    assert(0);
                 }
 
                 filter[i*filterSize + j]= coeff;
@@ -1170,11 +1152,11 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
     /* apply src & dst Filter to filter -> filter2
        av_free(filter);
     */
-    ASSERT(filterSize>0)
+    assert(filterSize>0);
     filter2Size= filterSize;
     if (srcFilter) filter2Size+= srcFilter->length - 1;
     if (dstFilter) filter2Size+= dstFilter->length - 1;
-    ASSERT(filter2Size>0)
+    assert(filter2Size>0);
     filter2= av_malloc(filter2Size*dstW*sizeof(double));
 
     for (i=0; i<dstW; i++)
@@ -1189,7 +1171,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
         if (srcFilter) outVec= sws_getConvVec(srcFilter, &scaleFilter);
         else           outVec= &scaleFilter;
 
-        ASSERT(outVec->length == filter2Size)
+        assert(outVec->length == filter2Size);
         //FIXME dstFilter
 
         for (j=0; j<outVec->length; j++)
@@ -1264,9 +1246,9 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
             filterAlign= 1;
     }
 
-    ASSERT(minFilterSize > 0)
+    assert(minFilterSize > 0);
     filterSize= (minFilterSize +(filterAlign-1)) & (~(filterAlign-1));
-    ASSERT(filterSize > 0)
+    assert(filterSize > 0);
     filter= av_malloc(filterSize*dstW*sizeof(double));
     if (filterSize >= MAX_FILTER_SIZE)
         return -1;
@@ -1401,14 +1383,14 @@ static void initMMX2HScaler(int dstW, int xInc, uint8_t *funnyCode, int16_t *fil
     // End
         "9:                                             \n\t"
 //        "int $3                                         \n\t"
-        "lea                         0b, %0             \n\t"
-        "lea                         1b, %1             \n\t"
-        "lea                         2b, %2             \n\t"
+        "lea                 " LOCAL_MANGLE(0b) ", %0   \n\t"
+        "lea                 " LOCAL_MANGLE(1b) ", %1   \n\t"
+        "lea                 " LOCAL_MANGLE(2b) ", %2   \n\t"
         "dec                         %1                 \n\t"
         "dec                         %2                 \n\t"
         "sub                         %0, %1             \n\t"
         "sub                         %0, %2             \n\t"
-        "lea                         9b, %3             \n\t"
+        "lea                 " LOCAL_MANGLE(9b) ", %3   \n\t"
         "sub                         %0, %3             \n\t"
 
 
@@ -1439,14 +1421,14 @@ static void initMMX2HScaler(int dstW, int xInc, uint8_t *funnyCode, int16_t *fil
     // End
         "9:                                             \n\t"
 //        "int                       $3                   \n\t"
-        "lea                         0b, %0             \n\t"
-        "lea                         1b, %1             \n\t"
-        "lea                         2b, %2             \n\t"
+        "lea                 " LOCAL_MANGLE(0b) ", %0   \n\t"
+        "lea                 " LOCAL_MANGLE(1b) ", %1   \n\t"
+        "lea                 " LOCAL_MANGLE(2b) ", %2   \n\t"
         "dec                         %1                 \n\t"
         "dec                         %2                 \n\t"
         "sub                         %0, %1             \n\t"
         "sub                         %0, %2             \n\t"
-        "lea                         9b, %3             \n\t"
+        "lea                 " LOCAL_MANGLE(9b) ", %3   \n\t"
         "sub                         %0, %3             \n\t"
 
 
@@ -1649,7 +1631,7 @@ static int rgb2rgbWrapper(SwsContext *c, uint8_t* src[], int srcStride[], int sr
         case 0x83: conv= rgb15to32; break;
         case 0x84: conv= rgb16to32; break;
         case 0x86: conv= rgb24to32; break;
-        default: av_log(c, AV_LOG_ERROR, "swScaler: internal error %s -> %s converter\n",
+        default: av_log(c, AV_LOG_ERROR, "internal error %s -> %s converter\n",
                         sws_format_name(srcFormat), sws_format_name(dstFormat)); break;
         }
     }else if (  (isBGR(srcFormat) && isRGB(dstFormat))
@@ -1671,11 +1653,11 @@ static int rgb2rgbWrapper(SwsContext *c, uint8_t* src[], int srcStride[], int sr
         case 0x84: conv= rgb16tobgr32; break;
         case 0x86: conv= rgb24tobgr32; break;
         case 0x88: conv= rgb32tobgr32; break;
-        default: av_log(c, AV_LOG_ERROR, "swScaler: internal error %s -> %s converter\n",
+        default: av_log(c, AV_LOG_ERROR, "internal error %s -> %s converter\n",
                         sws_format_name(srcFormat), sws_format_name(dstFormat)); break;
         }
     }else{
-        av_log(c, AV_LOG_ERROR, "swScaler: internal error %s -> %s converter\n",
+        av_log(c, AV_LOG_ERROR, "internal error %s -> %s converter\n",
                sws_format_name(srcFormat), sws_format_name(dstFormat));
     }
 
@@ -1743,62 +1725,62 @@ static int yvu9toyv12Wrapper(SwsContext *c, uint8_t* src[], int srcStride[], int
 }
 
 /* unscaled copy like stuff (assumes nearly identical formats) */
-static int simpleCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
-                      int srcSliceH, uint8_t* dst[], int dstStride[]){
-
-    if (isPacked(c->srcFormat))
+static int packedCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
+                      int srcSliceH, uint8_t* dst[], int dstStride[])
+{
+    if (dstStride[0]==srcStride[0] && srcStride[0] > 0)
+        memcpy(dst[0] + dstStride[0]*srcSliceY, src[0], srcSliceH*dstStride[0]);
+    else
     {
-        if (dstStride[0]==srcStride[0] && srcStride[0] > 0)
-            memcpy(dst[0] + dstStride[0]*srcSliceY, src[0], srcSliceH*dstStride[0]);
-        else
-        {
-            int i;
-            uint8_t *srcPtr= src[0];
-            uint8_t *dstPtr= dst[0] + dstStride[0]*srcSliceY;
-            int length=0;
+        int i;
+        uint8_t *srcPtr= src[0];
+        uint8_t *dstPtr= dst[0] + dstStride[0]*srcSliceY;
+        int length=0;
 
-            /* universal length finder */
-            while(length+c->srcW <= FFABS(dstStride[0])
-               && length+c->srcW <= FFABS(srcStride[0])) length+= c->srcW;
-            ASSERT(length!=0);
+        /* universal length finder */
+        while(length+c->srcW <= FFABS(dstStride[0])
+           && length+c->srcW <= FFABS(srcStride[0])) length+= c->srcW;
+        assert(length!=0);
 
-            for (i=0; i<srcSliceH; i++)
-            {
-                memcpy(dstPtr, srcPtr, length);
-                srcPtr+= srcStride[0];
-                dstPtr+= dstStride[0];
-            }
+        for (i=0; i<srcSliceH; i++)
+        {
+            memcpy(dstPtr, srcPtr, length);
+            srcPtr+= srcStride[0];
+            dstPtr+= dstStride[0];
         }
     }
-    else
-    { /* Planar YUV or gray */
-        int plane;
-        for (plane=0; plane<3; plane++)
-        {
-            int length= plane==0 ? c->srcW  : -((-c->srcW  )>>c->chrDstHSubSample);
-            int y=      plane==0 ? srcSliceY: -((-srcSliceY)>>c->chrDstVSubSample);
-            int height= plane==0 ? srcSliceH: -((-srcSliceH)>>c->chrDstVSubSample);
+    return srcSliceH;
+}
 
-            if ((isGray(c->srcFormat) || isGray(c->dstFormat)) && plane>0)
-            {
-                if (!isGray(c->dstFormat))
-                    memset(dst[plane], 128, dstStride[plane]*height);
-            }
+static int planarCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
+                      int srcSliceH, uint8_t* dst[], int dstStride[])
+{
+    int plane;
+    for (plane=0; plane<3; plane++)
+    {
+        int length= plane==0 ? c->srcW  : -((-c->srcW  )>>c->chrDstHSubSample);
+        int y=      plane==0 ? srcSliceY: -((-srcSliceY)>>c->chrDstVSubSample);
+        int height= plane==0 ? srcSliceH: -((-srcSliceH)>>c->chrDstVSubSample);
+
+        if ((isGray(c->srcFormat) || isGray(c->dstFormat)) && plane>0)
+        {
+            if (!isGray(c->dstFormat))
+                memset(dst[plane], 128, dstStride[plane]*height);
+        }
+        else
+        {
+            if (dstStride[plane]==srcStride[plane] && srcStride[plane] > 0)
+                memcpy(dst[plane] + dstStride[plane]*y, src[plane], height*dstStride[plane]);
             else
             {
-                if (dstStride[plane]==srcStride[plane] && srcStride[plane] > 0)
-                    memcpy(dst[plane] + dstStride[plane]*y, src[plane], height*dstStride[plane]);
-                else
+                int i;
+                uint8_t *srcPtr= src[plane];
+                uint8_t *dstPtr= dst[plane] + dstStride[plane]*y;
+                for (i=0; i<height; i++)
                 {
-                    int i;
-                    uint8_t *srcPtr= src[plane];
-                    uint8_t *dstPtr= dst[plane] + dstStride[plane]*y;
-                    for (i=0; i<height; i++)
-                    {
-                        memcpy(dstPtr, srcPtr, length);
-                        srcPtr+= srcStride[plane];
-                        dstPtr+= dstStride[plane];
-                    }
+                    memcpy(dstPtr, srcPtr, length);
+                    srcPtr+= srcStride[plane];
+                    dstPtr+= dstStride[plane];
                 }
             }
         }
@@ -1860,8 +1842,8 @@ static int gray16swap(SwsContext *c, uint8_t* src[], int srcStride[], int srcSli
     int y=      srcSliceY;
     int height= srcSliceH;
     int i, j;
-    uint16_t *srcPtr= src[0];
-    uint16_t *dstPtr= dst[0] + dstStride[0]*y/2;
+    uint16_t *srcPtr= (uint16_t*)src[0];
+    uint16_t *dstPtr= (uint16_t*)(dst[0] + dstStride[0]*y/2);
     for (i=0; i<height; i++)
     {
         for (j=0; j<length; j++) dstPtr[j] = bswap_16(srcPtr[j]);
@@ -2220,7 +2202,10 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
             || (isPlanarYUV(srcFormat) && isGray(dstFormat))
             || (isPlanarYUV(dstFormat) && isGray(srcFormat)))
         {
-            c->swScale= simpleCopy;
+            if (isPacked(c->srcFormat))
+                c->swScale= packedCopy;
+            else /* Planar YUV or gray */
+                c->swScale= planarCopy;
         }
 
         /* gray16{le,be} conversions */
@@ -2244,7 +2229,7 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
 
         if (c->swScale){
             if (flags&SWS_PRINT_INFO)
-                av_log(c, AV_LOG_INFO, "SwScaler: using unscaled %s -> %s special converter\n",
+                av_log(c, AV_LOG_INFO, "using unscaled %s -> %s special converter\n",
                                 sws_format_name(srcFormat), sws_format_name(dstFormat));
             return c;
         }
@@ -2256,7 +2241,7 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
         if (!c->canMMX2BeUsed && dstW >=srcW && (srcW&15)==0 && (flags&SWS_FAST_BILINEAR))
         {
             if (flags&SWS_PRINT_INFO)
-                av_log(c, AV_LOG_INFO, "SwScaler: output Width is not a multiple of 32 -> no MMX2 scaler\n");
+                av_log(c, AV_LOG_INFO, "output Width is not a multiple of 32 -> no MMX2 scaler\n");
         }
         if (usesHFilter) c->canMMX2BeUsed=0;
     }
@@ -2395,41 +2380,41 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
     //try to avoid drawing green stuff between the right end and the stride end
     for (i=0; i<c->vChrBufSize; i++) memset(c->chrPixBuf[i], 64, (VOF+1)*2);
 
-    assert(2*VOF == VOFW);
+    assert(2*VOFW == VOF);
 
-    ASSERT(c->chrDstH <= dstH)
+    assert(c->chrDstH <= dstH);
 
     if (flags&SWS_PRINT_INFO)
     {
 #ifdef DITHER1XBPP
-        char *dither= " dithered";
+        const char *dither= " dithered";
 #else
-        char *dither= "";
+        const char *dither= "";
 #endif
         if (flags&SWS_FAST_BILINEAR)
-            av_log(c, AV_LOG_INFO, "SwScaler: FAST_BILINEAR scaler, ");
+            av_log(c, AV_LOG_INFO, "FAST_BILINEAR scaler, ");
         else if (flags&SWS_BILINEAR)
-            av_log(c, AV_LOG_INFO, "SwScaler: BILINEAR scaler, ");
+            av_log(c, AV_LOG_INFO, "BILINEAR scaler, ");
         else if (flags&SWS_BICUBIC)
-            av_log(c, AV_LOG_INFO, "SwScaler: BICUBIC scaler, ");
+            av_log(c, AV_LOG_INFO, "BICUBIC scaler, ");
         else if (flags&SWS_X)
-            av_log(c, AV_LOG_INFO, "SwScaler: Experimental scaler, ");
+            av_log(c, AV_LOG_INFO, "Experimental scaler, ");
         else if (flags&SWS_POINT)
-            av_log(c, AV_LOG_INFO, "SwScaler: Nearest Neighbor / POINT scaler, ");
+            av_log(c, AV_LOG_INFO, "Nearest Neighbor / POINT scaler, ");
         else if (flags&SWS_AREA)
-            av_log(c, AV_LOG_INFO, "SwScaler: Area Averageing scaler, ");
+            av_log(c, AV_LOG_INFO, "Area Averageing scaler, ");
         else if (flags&SWS_BICUBLIN)
-            av_log(c, AV_LOG_INFO, "SwScaler: luma BICUBIC / chroma BILINEAR scaler, ");
+            av_log(c, AV_LOG_INFO, "luma BICUBIC / chroma BILINEAR scaler, ");
         else if (flags&SWS_GAUSS)
-            av_log(c, AV_LOG_INFO, "SwScaler: Gaussian scaler, ");
+            av_log(c, AV_LOG_INFO, "Gaussian scaler, ");
         else if (flags&SWS_SINC)
-            av_log(c, AV_LOG_INFO, "SwScaler: Sinc scaler, ");
+            av_log(c, AV_LOG_INFO, "Sinc scaler, ");
         else if (flags&SWS_LANCZOS)
-            av_log(c, AV_LOG_INFO, "SwScaler: Lanczos scaler, ");
+            av_log(c, AV_LOG_INFO, "Lanczos scaler, ");
         else if (flags&SWS_SPLINE)
-            av_log(c, AV_LOG_INFO, "SwScaler: Bicubic spline scaler, ");
+            av_log(c, AV_LOG_INFO, "Bicubic spline scaler, ");
         else
-            av_log(c, AV_LOG_INFO, "SwScaler: ehh flags invalid?! ");
+            av_log(c, AV_LOG_INFO, "ehh flags invalid?! ");
 
         if (dstFormat==PIX_FMT_BGR555 || dstFormat==PIX_FMT_BGR565)
             av_log(c, AV_LOG_INFO, "from %s to%s %s ",
@@ -2455,70 +2440,70 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
         if (flags & SWS_CPU_CAPS_MMX)
         {
             if (c->canMMX2BeUsed && (flags&SWS_FAST_BILINEAR))
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using FAST_BILINEAR MMX2 scaler for horizontal scaling\n");
+                av_log(c, AV_LOG_VERBOSE, "using FAST_BILINEAR MMX2 scaler for horizontal scaling\n");
             else
             {
                 if (c->hLumFilterSize==4)
-                    av_log(c, AV_LOG_VERBOSE, "SwScaler: using 4-tap MMX scaler for horizontal luminance scaling\n");
+                    av_log(c, AV_LOG_VERBOSE, "using 4-tap MMX scaler for horizontal luminance scaling\n");
                 else if (c->hLumFilterSize==8)
-                    av_log(c, AV_LOG_VERBOSE, "SwScaler: using 8-tap MMX scaler for horizontal luminance scaling\n");
+                    av_log(c, AV_LOG_VERBOSE, "using 8-tap MMX scaler for horizontal luminance scaling\n");
                 else
-                    av_log(c, AV_LOG_VERBOSE, "SwScaler: using n-tap MMX scaler for horizontal luminance scaling\n");
+                    av_log(c, AV_LOG_VERBOSE, "using n-tap MMX scaler for horizontal luminance scaling\n");
 
                 if (c->hChrFilterSize==4)
-                    av_log(c, AV_LOG_VERBOSE, "SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling\n");
+                    av_log(c, AV_LOG_VERBOSE, "using 4-tap MMX scaler for horizontal chrominance scaling\n");
                 else if (c->hChrFilterSize==8)
-                    av_log(c, AV_LOG_VERBOSE, "SwScaler: using 8-tap MMX scaler for horizontal chrominance scaling\n");
+                    av_log(c, AV_LOG_VERBOSE, "using 8-tap MMX scaler for horizontal chrominance scaling\n");
                 else
-                    av_log(c, AV_LOG_VERBOSE, "SwScaler: using n-tap MMX scaler for horizontal chrominance scaling\n");
+                    av_log(c, AV_LOG_VERBOSE, "using n-tap MMX scaler for horizontal chrominance scaling\n");
             }
         }
         else
         {
 #if defined(ARCH_X86)
-            av_log(c, AV_LOG_VERBOSE, "SwScaler: using X86-Asm scaler for horizontal scaling\n");
+            av_log(c, AV_LOG_VERBOSE, "using X86-Asm scaler for horizontal scaling\n");
 #else
             if (flags & SWS_FAST_BILINEAR)
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using FAST_BILINEAR C scaler for horizontal scaling\n");
+                av_log(c, AV_LOG_VERBOSE, "using FAST_BILINEAR C scaler for horizontal scaling\n");
             else
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using C scaler for horizontal scaling\n");
+                av_log(c, AV_LOG_VERBOSE, "using C scaler for horizontal scaling\n");
 #endif
         }
         if (isPlanarYUV(dstFormat))
         {
             if (c->vLumFilterSize==1)
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using 1-tap %s \"scaler\" for vertical scaling (YV12 like)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+                av_log(c, AV_LOG_VERBOSE, "using 1-tap %s \"scaler\" for vertical scaling (YV12 like)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
             else
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using n-tap %s scaler for vertical scaling (YV12 like)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+                av_log(c, AV_LOG_VERBOSE, "using n-tap %s scaler for vertical scaling (YV12 like)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
         }
         else
         {
             if (c->vLumFilterSize==1 && c->vChrFilterSize==2)
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using 1-tap %s \"scaler\" for vertical luminance scaling (BGR)\n"
-                       "SwScaler:       2-tap scaler for vertical chrominance scaling (BGR)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+                av_log(c, AV_LOG_VERBOSE, "using 1-tap %s \"scaler\" for vertical luminance scaling (BGR)\n"
+                       "      2-tap scaler for vertical chrominance scaling (BGR)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
             else if (c->vLumFilterSize==2 && c->vChrFilterSize==2)
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using 2-tap linear %s scaler for vertical scaling (BGR)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+                av_log(c, AV_LOG_VERBOSE, "using 2-tap linear %s scaler for vertical scaling (BGR)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
             else
-                av_log(c, AV_LOG_VERBOSE, "SwScaler: using n-tap %s scaler for vertical scaling (BGR)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+                av_log(c, AV_LOG_VERBOSE, "using n-tap %s scaler for vertical scaling (BGR)\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
         }
 
         if (dstFormat==PIX_FMT_BGR24)
-            av_log(c, AV_LOG_VERBOSE, "SwScaler: using %s YV12->BGR24 Converter\n",
+            av_log(c, AV_LOG_VERBOSE, "using %s YV12->BGR24 Converter\n",
                    (flags & SWS_CPU_CAPS_MMX2) ? "MMX2" : ((flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C"));
         else if (dstFormat==PIX_FMT_RGB32)
-            av_log(c, AV_LOG_VERBOSE, "SwScaler: using %s YV12->BGR32 Converter\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+            av_log(c, AV_LOG_VERBOSE, "using %s YV12->BGR32 Converter\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
         else if (dstFormat==PIX_FMT_BGR565)
-            av_log(c, AV_LOG_VERBOSE, "SwScaler: using %s YV12->BGR16 Converter\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+            av_log(c, AV_LOG_VERBOSE, "using %s YV12->BGR16 Converter\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
         else if (dstFormat==PIX_FMT_BGR555)
-            av_log(c, AV_LOG_VERBOSE, "SwScaler: using %s YV12->BGR15 Converter\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
+            av_log(c, AV_LOG_VERBOSE, "using %s YV12->BGR15 Converter\n", (flags & SWS_CPU_CAPS_MMX) ? "MMX" : "C");
 
-        av_log(c, AV_LOG_VERBOSE, "SwScaler: %dx%d -> %dx%d\n", srcW, srcH, dstW, dstH);
+        av_log(c, AV_LOG_VERBOSE, "%dx%d -> %dx%d\n", srcW, srcH, dstW, dstH);
     }
     if (flags & SWS_PRINT_INFO)
     {
-        av_log(c, AV_LOG_DEBUG, "SwScaler:Lum srcW=%d srcH=%d dstW=%d dstH=%d xInc=%d yInc=%d\n",
+        av_log(c, AV_LOG_DEBUG, "Lum srcW=%d srcH=%d dstW=%d dstH=%d xInc=%d yInc=%d\n",
                c->srcW, c->srcH, c->dstW, c->dstH, c->lumXInc, c->lumYInc);
-        av_log(c, AV_LOG_DEBUG, "SwScaler:Chr srcW=%d srcH=%d dstW=%d dstH=%d xInc=%d yInc=%d\n",
+        av_log(c, AV_LOG_DEBUG, "Chr srcW=%d srcH=%d dstW=%d dstH=%d xInc=%d yInc=%d\n",
                c->chrSrcW, c->chrSrcH, c->chrDstW, c->chrDstH, c->chrXInc, c->chrYInc);
     }
 
@@ -2536,7 +2521,7 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
     uint8_t* src2[4]= {src[0], src[1], src[2]};
     uint32_t pal[256];
     if (c->sliceDir == 0 && srcSliceY != 0 && srcSliceY + srcSliceH != c->srcH) {
-        av_log(c, AV_LOG_ERROR, "swScaler: slices start in the middle!\n");
+        av_log(c, AV_LOG_ERROR, "Slices start in the middle!\n");
         return 0;
     }
     if (c->sliceDir == 0) {
@@ -2554,7 +2539,7 @@ int sws_scale(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
             int v= av_clip_uint8(((RV*r + GV*g + BV*b)>>RGB2YUV_SHIFT) + 128);
             pal[i]= y + (u<<8) + (v<<16);
         }
-        src2[1]= pal;
+        src2[1]= (uint8_t*)pal;
     }
 
     // copy strides, so they can safely be modified