[FFmpeg-devel] [PATCH] configure: disable the new optimizer in Visual Studio 2015 Update 3

Kacper Michajlow kasper93 at gmail.com
Mon Jul 4 04:53:52 EEST 2016

2016-07-03 23:39 GMT+02:00 Hendrik Leppkes <h.leppkes at gmail.com>:
> On Tue, Jun 28, 2016 at 12:01 PM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
>> On Tue, Jun 28, 2016 at 11:48 AM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
>>> Visual Studio 2015 Update 3 introduced a new SSA optimizer, however
>>> it unfortunately causes miscompilations. Until it is fixed, the new
>>> optimizations are disabled and should be re-checked on subsequent
>>> compiler releases.
>>> Fixes recent FATE failure of fate-lavf-pam on VS2015.
>> On that note, i'm not exactly sure which code actually miscompiles.
>> I though its pamenc, but the generated files are identical, then I
>> though its the crc computing code (crcenc/adler32), but those seem
>> fine as well and would likely screw up in more then one case if they
>> would miscompile.
>> So that leaves pnmdec, I suppose, but I didn't make much headway to
>> poke around in that. If anyone has any handy hints how to find the
>> code in question that might be helpful.
>> Maybe the code is actually not-quite-right and might enjoy some straigtening.
> Applied the patch to disable the new optimizations in MSVC as I did
> not spot anything obviously "bad" in pamdec - which does not mean
> there isn't anything there, of course.

This is pretty bad miscompilation in new SSA optimizer. It assumes
that variable declared in loop doesn't change the value even if there
is assignment. I minimized testcese and reported the bug

- Kacper

More information about the ffmpeg-devel mailing list