Le primidi 1er germinal, an CCXXI, aeseldyrx a écrit : > 1. The first issue happens, when I try down-scaling a large bitmap > (4608x3328) to a much smaller size (e.g. 256x185). > The resulting image resembles the original, however all colours have become > slightly more green during the scaling. > Basically the output looks as if it has gotten a green tint/overlay. > > Initial testing was done with sws_scale via a small test application I've > written. The conversion was from BGR24 to BGR24. > After noticing the problem, I consequently tried to reproduce the issue > with FFmpeg.exe (Zeranoe's build), and the results were identical. > > To reproduce: > Get a large bitmap such as this: > http://wa8lmf.net/MapCaptureTool/Google-Terrain-SoCal-Zoom-12.htm > Use FFmpeg.exe with the following command: ffmpeg.exe -i path\to\image -s > 256x185 path\to\output.bmp > > To see a properly coloured output, change the output extension to .jpg > instead. > > Am I doing something wrong here, or could this be an sws_scale bgr2bgr > error?
I am seeing the same greenish tint with BMP output and not with PNG output using ffmpeg built with gcc for Linux. Note: the green tint happens with "format=rgba,scale=256x185" but not with "scale=256x185,format=rgba", so the problem is when rgba is the output format. > 2. The second issue has to do with extreme down-scaling. If we use the > linked image from above as an example. > If I were to scale it down to something as small as 64x46, I would get an > error telling me to increase the MAX_FILTER_SIZE, > to accomplish such extreme scaling. > Now, if I increase the MAX_FILTER_SIZE, the extreme scaling works, but the > output is corrupt, and normal scaling of other images > results in a crash. > > I simply doubled the size of MAX_FILTER_SIZE, to keep the format. Perhaps > that was the wrong action? > Would it be better to simply perform consecutively smaller down-scale > operations on the image until the destination size has been reached? IMHO, lsws driving code should detect this kind of extreme scaling and split it automatically into manageable steps. I have no idea what would be the more efficient / aesthetic way of downscaling: 1/72 = 1/8 × 1/9? 1/2 × 1/36? 1/36 × 1/2? People who know the scaling algorithms better than me can answer. Regards, -- Nicolas George
signature.asc
Description: Digital signature
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
