[FFmpeg-devel] sws support xyz input floors MS Antivirus Program
Jan Ehrhardt
phpdev at ehrhardt.nl
Sun May 5 21:29:56 CEST 2013
Jan Ehrhardt in gmane.comp.video.ffmpeg.devel (Sun, 05 May 2013 19:50:40
+0200):
>Carl Eugen Hoyos in gmane.comp.video.ffmpeg.devel (Sun, 5 May 2013
>>Which line in fill_xyztables() is responsible?
>
>Any of the 2 lines with the lrint in it:
>
> xyzgamma_tab[i] = lrint(pow(i / 4095.0, xyzgamma) * 4095.0);
> rgbgamma_tab[i] = lrint(pow(i / 4095.0, rgbgamma) * 4095.0);
>
>I do not know what these lines are supposed to do and if there is
>another way to achieve the same without using lrint.
This is as far as I could get (in MingW64 on Windows):
No crash:
/* set gamma vectors */
for (i = 0; i < 17; i++) {
xyzgamma_tab[i] = lrint(pow(i / 4095.0, xyzgamma) * 4095.0);
rgbgamma_tab[i] = lrint(pow(i / 4095.0, rgbgamma) * 4095.0);
}
$ ls -la *.exe
-rwxr-xr-x 1 Jan Administrators 16257536 May 5 21:09 ffmpeg.exe
-rwxr-xr-x 1 Jan Administrators 95009620 May 5 21:09 ffmpeg_g.exe
-rwxr-xr-x 1 Jan Administrators 16199680 May 5 21:09 ffprobe.exe
-rwxr-xr-x 1 Jan Administrators 94756199 May 5 21:09 ffprobe_g.exe
Crash:
/* set gamma vectors */
for (i = 0; i < 18; i++) {
xyzgamma_tab[i] = lrint(pow(i / 4095.0, xyzgamma) * 4095.0);
rgbgamma_tab[i] = lrint(pow(i / 4095.0, rgbgamma) * 4095.0);
}
$ ls -la *.exe
-rwxr-xr-x 1 Jan Administrators 16257024 May 5 21:03 ffmpeg.exe
-rwxr-xr-x 1 Jan Administrators 95006036 May 5 21:03 ffmpeg_g.exe
-rwxr-xr-x 1 Jan Administrators 16198656 May 5 21:04 ffprobe.exe
-rwxr-xr-x 1 Jan Administrators 94751591 May 5 21:03 ffprobe_g.exe
The weird thing is that the <17 variant is actually larger than the <18
one. <16 is as large as <17.
<4096 (the original version, that floors MSE) is as small as <18:
$ ls -la *.exe
-rwxr-xr-x 1 Jan Administrators 16257024 May 5 21:18 ffmpeg.exe
-rwxr-xr-x 1 Jan Administrators 95006036 May 5 21:17 ffmpeg_g.exe
-rwxr-xr-x 1 Jan Administrators 16198656 May 5 21:17 ffprobe.exe
-rwxr-xr-x 1 Jan Administrators 94751591 May 5 21:17 ffprobe_g.exe
I sense some issues in compiler optimization, but that is far above my
head. The Windows event log does not make me wiser:
Microsoft Antimalware engine has been terminated due to an unexpected
error.
Failure Type: Crash
Exception code: 0xc0000005
Resource:
file:D:\MinGW\msys\home\Jan\mplayer\ffmpeg\ffprobe_g.exe
The Microsoft Antimalware Service service terminated unexpectedly. It
has done this 16 time(s).
Jan
More information about the ffmpeg-devel
mailing list