]> git.sesse.net Git - ffmpeg/blobdiff - libswscale/utils.c
swscale: Fix rounding in yuv2rgb_1_c_template()
[ffmpeg] / libswscale / utils.c
index 5826c17e31bc52159c6fbd87014a79c924996e7a..70b724e0432340f863f813735b297fefb49ca15c 100644 (file)
@@ -111,6 +111,7 @@ static const FormatEntry format_entries[PIX_FMT_NB] = {
     [PIX_FMT_YUV440P]     = { 1 , 1 },
     [PIX_FMT_YUVJ440P]    = { 1 , 1 },
     [PIX_FMT_YUVA420P]    = { 1 , 1 },
+    [PIX_FMT_YUVA444P]    = { 1 , 1 },
     [PIX_FMT_RGB48BE]     = { 1 , 1 },
     [PIX_FMT_RGB48LE]     = { 1 , 1 },
     [PIX_FMT_RGBA64BE]    = { 0 , 0 },
@@ -274,7 +275,7 @@ static int initFilter(int16_t **outFilter, int16_t **filterPos, int *outFilterSi
         if (xInc <= 1<<16)      filterSize= 1 + sizeFactor; // upscale
         else                    filterSize= 1 + (sizeFactor*srcW + dstW - 1)/ dstW;
 
-        if (filterSize > srcW-2) filterSize=srcW-2;
+        filterSize = av_clip(filterSize, 1, srcW - 2);
 
         FF_ALLOC_OR_GOTO(NULL, filter, dstW*sizeof(*filter)*filterSize, fail);
 
@@ -1574,4 +1575,3 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context,
     }
     return context;
 }
-